<SEC-DOCUMENT>0001104659-20-052010.txt : 20200428
<SEC-HEADER>0001104659-20-052010.hdr.sgml : 20200428
<ACCEPTANCE-DATETIME>20200428091708
ACCESSION NUMBER:		0001104659-20-052010
CONFORMED SUBMISSION TYPE:	20-F
PUBLIC DOCUMENT COUNT:		144
CONFORMED PERIOD OF REPORT:	20191231
FILED AS OF DATE:		20200428
DATE AS OF CHANGE:		20200428

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			Canadian Solar Inc.
		CENTRAL INDEX KEY:			0001375877
		STANDARD INDUSTRIAL CLASSIFICATION:	SEMICONDUCTORS & RELATED DEVICES [3674]
		IRS NUMBER:				000000000
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		20-F
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-33107
		FILM NUMBER:		20822593

	BUSINESS ADDRESS:	
		STREET 1:		545 SPEEDVALE AVENUE
		STREET 2:		WEST GUELPH
		CITY:			ONTARIO
		STATE:			A6
		ZIP:			N1K 1E6
		BUSINESS PHONE:		(86-512) 6690-8088

	MAIL ADDRESS:	
		STREET 1:		NO. 199 LUSHAN ROAD, SUZHOU NEW DISTRICT
		STREET 2:		SUZHOU
		CITY:			JIANGSU
		STATE:			F4
		ZIP:			215129
</SEC-HEADER>
<DOCUMENT>
<TYPE>20-F
<SEQUENCE>1
<FILENAME>csiq-20191231x20f.htm
<DESCRIPTION>20-F
<TEXT>
<XBRL>
<?xml version='1.0' encoding='UTF-8'?>

      <!-- iXBRL document created with: Toppan Merrill Bridge iXBRL 9.6.7401.38943 -->
      <!-- Based on: iXBRL 1.1 -->
      <!-- Created on: 4/28/2020 12:55:39 PM -->
      <!-- iXBRL Library version: 1.0.7401.38955 -->
      <!-- iXBRL Service Job ID: 60af0310-9cfc-4352-8a09-b435e881db2e -->

  <html xmlns:us-gaap="http://fasb.org/us-gaap/2019-01-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:country="http://xbrl.sec.gov/country/2017-01-31" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:csiq="http://www.canadiansolar.com/20191231" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:srt="http://fasb.org/srt/2019-01-31" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dei="http://xbrl.sec.gov/dei/2019-01-31" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:xbrldi="http://xbrl.org/2006/xbrldi"><head><meta content="text/html" http-equiv="content-type" /><title></title></head><body><div style="margin-top:30pt;"></div><div style="display:none;"><ix:header><ix:hidden><ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" xs:nil="true" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" name="us-gaap:CommitmentsAndContingencies" id="Hidden_9C1gErBitEaC_RId7u7RGw"></ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" xs:nil="true" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" name="us-gaap:CommitmentsAndContingencies" id="Hidden_IkVlY38Vk0m68Q9Dx3PruQ"></ix:nonFraction><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:EntityCentralIndexKey" id="Tc_UznZ8FIAgE6NzKe7HQElcg_2_1">0001375877</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:CurrentFiscalYearEndDate" id="Tc_4WHhP1Zku0657zLBwoGi5A_3_1">--12-31</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:DocumentFiscalYearFocus" id="Tc_CKDTLrpumES0UB1t7TF04Q_4_1">2019</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:DocumentFiscalPeriodFocus" id="Tc_iOYiNAwVskiqxVI4BKVo7w_5_1">FY</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:AmendmentFlag" id="Tc_dFLA3eaN9UeCmkTp_Fq0ZA_6_1">false</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:NoTradingSymbolFlag" id="Hidden_zNr23FeY0EG0C9OVvgKUrA">true</ix:nonNumeric><ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="INF" name="us-gaap:CommonStockSharesIssued" id="Hidden_8nrCX1EAuUm0Rw09CBQ9VQ">59371684</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" id="Hidden_cbNFhl0lAUC7B2kZ0v6MGQ">59180624</ix:nonFraction><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_1Y3gGzwOCEC7zI23QR9u4Q" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Hidden_wCQYZoz750uAEDFs_tX9Mg">P5Y</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_ith8TOrKrkeGeHlSIzI-bA" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Hidden_9fnvDhRg006UIcqPOGt6AQ">P20Y</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_m8Q3EWEfpkKChJlmCoWrIA" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Hidden_DzwZBiVHl02oSzavGfXqEg">P1Y</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_4zPDFsN8MEOZ5PjOunH-eQ" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Hidden_7NBhpV-8hEejJzqz3LlyIw">P20Y</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_qhGj9EM1EUy10PH3sclx3g" name="csiq:InsurancePolicyTerm" id="Hidden_QfSZT8C17EqqpvabdpjiWw">P25Y</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="Hidden_M-Q2a2b3OEOOK02jTa1BjQ">P1Y4M28D</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" name="us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1" id="Hidden_GCueFfnbSEaf4cRxYJqJlw">P3Y11D</ix:nonNumeric><ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="0" name="csiq:ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" id="Hidden__5mLaVFunU6MP9XF7ElhkQ">0</ix:nonFraction><ix:nonNumeric contextRef="Duration_1_1_2017_To_12_31_2019_srt_LitigationCaseAxis_csiq_USCountervailingAndAntiDumpingDutiesMember_bS4T7TJwGkCN51qTL7H5UQ" name="csiq:PeriodOfSunsetReviews" id="Hidden_LgyjbK5sEUOtkHh3zIcJRg">P5Y</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_yES1PigkHEWV9nrRGnfrFQ" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Hidden_KLLxw-9sJkO8VDGPXSoRVQ">P1Y</ix:nonNumeric><ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" id="Hidden_284MyGL-aE6ozlnSTlAw9w">0</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" id="Hidden_ffv6suZ42EGOZd8DQLEmVA">59180624</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" id="Hidden_bDjIoFvvgEKgVvWhVd5AnA">59371684</ix:nonFraction></ix:hidden><ix:references><link:schemaRef xlink:type="simple" xlink:href="csiq-20191231.xsd"></link:schemaRef></ix:references><ix:resources><xbrli:context id="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_qpPI1Oh1oUibN5u0UaWsjA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForOtherReceivablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_s7bHWbeGUUmQciZIb5al9A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForAdvancesToSuppliersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_RW_HNDzYM0mIk6SisQrGfA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForOtherReceivablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_Hu3uJbMqmEG18Ij44StFEw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForAdvancesToSuppliersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember__7suTM6Hl0-XrUgrMFpSRQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForOtherReceivablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_rzoWy5S0EkWwbsFQPMyqGg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForAdvancesToSuppliersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2016_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_qqgz7TDEAEyfQkphhizXGw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForOtherReceivablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2016-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2016_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_xssyVKCLdUyZfs-laxRgLg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForAdvancesToSuppliersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2016-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Kf8H73bCqEylJ-QH_roF8g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiSolarPowerChinaInc.Member_srt_CounterpartyNameAxis_csiq_CsiCellsCo.Ltd.Member_NVm05P2FNkarzAqjfzzKLg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiSolarPowerChinaInc.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CsiCellsCo.Ltd.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiModulesDafengCoLtdMember_srt_CounterpartyNameAxis_csiq_CsiSolarPowerChinaInc.Member_ZtO-Oy4VYU-bwnYTyH14MQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiModulesDafengCoLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CsiSolarPowerChinaInc.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiModulesDafengCoLtdMember_srt_CounterpartyNameAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_1n1AG2K6xk2UOzGnATGbIw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiModulesDafengCoLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarManufacturingChangshuInc.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember_p6_jPQLIaUutOVv0Ty5iCg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:SuzhouSanysolarMaterialsTechnologyCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember_LGxXw2tOskuUFrLfvpL8eA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_RecurrentEnergyLlcMember_uCUszJzAkkedZfzB6TzLjg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:RecurrentEnergyLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_RecurrentEnergyGroupInc.Member_tfNffgYLOU21rCoI61i76w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:RecurrentEnergyGroupInc.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_PtCanadianSolarIndonesiaMember_WIa2wR-R7EabxskoyytV4Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:PtCanadianSolarIndonesiaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsukEnergySystemsConstructionAndGenerationJscMember_fjg9x-UWGUG4bERD7gfdCg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsukEnergySystemsConstructionAndGenerationJscMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiWaferLuoyangCoLtdMember_1ZVHiC_9dEyNUII2fgKyjw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiWaferLuoyangCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CSISolartronicsChangshuCoLtdMember_X2daspvchECaB7VCla1Psw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CSISolartronicsChangshuCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CSISolarTechnologiesIncMember_eXrqcEc30Ei0qALz2vCLvw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CSISolarTechnologiesIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiNewEnergyHoldingCo.LtdMember_f3BBwSBlQk-aYL2vlJi5jg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiNewEnergyHoldingCo.LtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiModulesJiaxingCoLtdMember_SNgW881rrEizurtXQwpdcA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiModulesJiaxingCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiInvestmentManagementSuzhouCoLtdMember_GJt3ETH8_0CxWvTY3gZ0bw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiInvestmentManagementSuzhouCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiGclSolarManufacturingYanchengCo.Ltd.Member_YqFvDkAPxkCVF2Vt8O2l6g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiGclSolarManufacturingYanchengCo.Ltd.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiCellsYanchangCoLtdMember_jGNrNqRCvUuQRZBx6-jF0g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsYanchangCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiCellsCo.Ltd.Member_pgGVNg8lp0Sh7U7fWsyv2g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsCo.Ltd.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember_pfgLe_A9ukygMgFIx3pkTw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:ChangsuTeguNewMaterialTechnologyCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember_8g6PlU6ogEWyqmSMeIbKnw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_ChangshuTlianCo.Ltd.Member_O1mirRnMdUOXfh8yn7m3pQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:ChangshuTlianCo.Ltd.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_50dtds0o1U2PfBa7Ju7KIQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarUSAIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarUkProjectsLtdMember_gaFFVSiMVU6dJx6tv-15pw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarUkProjectsLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarUkLtdMember_nHcLXRu22kaKL7Hpu3JEWA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarUkLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSunenergySuzhouCo.Ltd.Member_dJD8J6MYAEOwoZlpGzx51Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSunenergySuzhouCo.Ltd.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_8ujZS-yBMESJXzpV0Crsxw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSunenergyBaotouCo.Ltd.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSsesUkLtdMember_s7UcNNfSTk-ya7j7gKh3KQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSsesUkLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSsesCanadaInc.Member_9FBBjjFkL02CrIh4E0mIGA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSsesCanadaInc.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSouthEastAsiaPteLtdMember_ubLDcYvLCUuT3bAlHD7uNA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSouthEastAsiaPteLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSouthAfricaPtyLtdMember_Hq256zVRrkyBj14khGxE3A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSouthAfricaPtyLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_R65hiqi-BkGyArimZFj6kQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSolutionsIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_wqWISQGOt0aEOzTLJDmR9w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarProjectKKMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarOAndMOntarioIncMember_6CM_pzl240CSlQHbpW0PuQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarOAndMOntarioIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember_iZAe9dPgUEWNHzxDVQo4Ag"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarNewEnergyHoldingCompanyLimitedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarMiddleEastDmccMember_UsdpaLQhmk-podlCp2-T8Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarMiddleEastDmccMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingVietnamCo.LtdMember_j6KXhNbxdUKQnrw1nPf8pA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingVietnamCo.LtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_k3pfla9r_USOzRTlmL3WIg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingTaiwanCoLtdMember_VPLCaZyfrkGlrnL0ri-j4w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingTaiwanCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingLuoyangIncMember_IjALAkJg8kS0WYjYxymI7g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingLuoyangIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_CounterpartyNameAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_B--R_4fNa0yJ6CHEldgOeg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarManufacturingChangshuInc.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_l7hJjXGwS0S7CHhnXKSXyw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingChangshuInc.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_E7s0enECwEm_SyoeRl196w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarJapanKKMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarInternationalProjectHoldingLimitedMember_AlBVqgZqXUiF6uAz17iJUA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInternationalProjectHoldingLimitedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyPrivateLimitedMember_eHSRKh6OEU6lcmKRHLWs8g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyPrivateLimitedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member_MU8LW1ASJEypZcrjukEHEw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyHoldingSingaporePte.Ltd.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member_IZbwU8qQ1k2O4q_JuvLeJg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingCompanyLimitedMember_kYzLCiJx4U2DO0PAUArfcA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyHoldingCompanyLimitedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_VgVpP6IgvEeJJ8yXETQkfQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEMEAGmbHMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarConstructionUsaLLCMember_SxMKdJGv0EqOa4AtP5Hczw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarConstructionUsaLLCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarConstructionAustraliaPtyLtdMember_Jub7_vciaEqQm7wdA9GrGg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarConstructionAustraliaPtyLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_D0bbTLwklk69tQO30lztQA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarAustraliaPtyLtdMember_IQaKtyiZxkG7qi3SJvyDIA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarAustraliaPtyLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarAustralia1PtyLtdMember_Bq8reKRQzEeAJVfF0H_S2Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarAustralia1PtyLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarArgentinaInvestmentHoldingLtdMember_EPf-Mmmb3EmG8Ak__bCR0w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarArgentinaInvestmentHoldingLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2020_To_3_31_2020_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_k47ijO3OR06PZVxdHEkE2w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_12_1_2019_To_12_31_2019_6Sb61chd0k6u_eevRjCz9g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2019-12-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_11_29_2019_To_4_28_2020_us-gaap_ShareRepurchaseProgramAxis_us-gaap_RepurchaseAgreementsMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_sy5gVf4_dEiZgBZmeVnTOw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">us-gaap:RepurchaseAgreementsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-11-29</xbrli:startDate><xbrli:endDate>2020-04-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_P3MU0eWHLE61lxZGDcoFOw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_nFjjiBi4lkSsIzXqFbge1g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4KI1NSica0SVQrvTiFXc5A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_vmjBVpeQpUu2cciDTOBbrA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_zZioCX8geky17tQwyDEmiQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_QaVTYJR-Sk-CJWrZwsHXTA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_lckOyUUN0EK1kGCXzdJeGg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_qH8zh0_p5UWYdTBQMf7jQA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_lXIsF3A4akKkBYIQN-id3A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_-CAIwk2Tok-B_IQAE1OWsw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_fCxkmUwsh0K-H0bNWqPkug"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_F_rSpZnS2kWhxbLM1kMzag"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_qxbKlJGiF0OYebjptlrNIA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_MTtBiDh0OU6qc7uDXnfYtw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_UuC4L8PWdE-xhUjS_fwCaQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_rXsoFsYiOEaqN_AHcIxLpQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_zE2JbIRn5kypFq2dATQL0g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_mkHaTeKOW0SdDBSASSDWsg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_iZyLvAnXQUOf-cYLFs7KYw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2016-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_W7_iLhUQ3Eez7g2Mo37oHQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2016-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_ydj5ZY5Y8Ua9C_AKPuDEKw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2016-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_i7z_mT8UR0qmoSFQz9M4GA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2016-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_uKQgAd85UE26E9YVfrYiaA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2016-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_NGVgx_iCp0OXr3UgF2nHLw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_3rM7nxXH6U2EnX7NCM8wPA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_QEXzSH-1-06e6Rd58cRzIA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_N3V72htU2Emg9we-C9dySg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_9_30_2010_u6dAuOeG_k6wsEpEP6YCrA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2010-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_xlsgy5UOXUyi5N5UhUX8yQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_G4WXjlCzGk6tv1QgilDbNw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_aUDIOkC4N0moMgxXHdfJgA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_yES1PigkHEWV9nrRGnfrFQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_P61IRcsLDEeNAKDB_BdacQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_jjHP3wxIbk6iZgzCWyXAXA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_X6HdNMxyLk6UYPVRb0alxA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_KrpZ0JApM0atDRTxQ0MKkg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_MajorCustomersAxis_csiq_CompanyAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_WvHAcmeQFUqFMo8sQcW59g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CompanyAMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_csiq_cnst_2020-01-01_6S66jUOou0-n7G8ZoHbbPQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2020-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_PhlHwWuAX0mtNlaTGNFZig"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_pkg0CfgLNkSl5jAIKMjFLg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:EtSolutionsSouthAfricaOnePtyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_jAyeLQNSY0C2kNsKS1WhGg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherOperatingIncomeExpenseMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_e3dAShJSgE-g6Y5ni5CseQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OtherOperatingIncomeExpenseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_NKajxU16PkyTwnPqN1t2JQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:EtSolutionsSouthAfricaOnePtyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_-8VH67s7GEy6t8o9U9Yt-Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherOperatingIncomeExpenseMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_ZpC7KIfDM0-GFkQyK6irCA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OtherOperatingIncomeExpenseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_S0_yC5ixgUCpZ6LpleB0lw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarSystemKitsProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsConstructionAndSaleMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_btHWDCifV0SU4SHlhH7mzQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectsConstructionAndSaleMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarModulesAndOtherSolarPowerProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_DaxFhPi_L0G4ACXbyptqBQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarModulesAndOtherSolarPowerProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_OtherProductMaterialsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_kMo41JwU_0GEjXwpPX6ehg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherProductMaterialsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_OtherProductEpcAndDevelopmentServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_VQaDkqyo80uf96BSRUUidw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherProductEpcAndDevelopmentServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_OAndMServicesProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_YYaFLG39WEudn0cpmISFqg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OAndMServicesProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_fEC69IZKekeIix6zZJbfuw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_kqYJQ7mlgECOTJtnUDOsew"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_EPCServiceProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_TVI-7bk6PUiQYiiW9AILEA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:EPCServiceProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_CDFN3rq2cEmAuhz7QKBAyw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_4C5vV0JRf06kUycJ0C1Beg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_ElectricityIncomeMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_kUWlIl6A4Uy6KbjwFpDY2w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ElectricityIncomeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_BUFxCdL0A0y6BF12QikXqw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_srt_EuropeMember_Jv9VNCoqxkqZTvkrmGVb1g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_srt_AsiaMember_9hYzK6aiM0uiKlmxr2_kzQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_qYwOGPrz_UCpF5Qq0SzF4Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesEuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_szgko6j4vkyZa9JArkkKkg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAsiaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_XsJ_CDavgkaSEgfCZEhfUA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAmericaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_AmericaMember_5FGYhx7wNUGv0RVedt7KOQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:AmericaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_ZA_EDEe0_34L0SF7rQ0Ha1HRg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ZA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_VN_wU-9NyRM_E-BkCPIiKwPCw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:VN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_US_vabopVan5UKJQ0_ZXkQ2AA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_TH_H8Zl3MDCsEu2zEbjCdz5QQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_NL_drdGL4vt0UixZBlgne8zNw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_MX_cXPFmr4sHkiFAFyP4VqDBA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MX</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_KR_PIEg9t9PjE--bkBZ0G5fjw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KR</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_JP_ykEckAptt0mm-0ImnQ9y8w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_IN_xPRZ0oF6A02B8ZfXi7pn8g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_GB_33vlVAFBQ0uX7lJ4a9jeXA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_ES_tt5tG8UWyESYvceH87u3fA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ES</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_DE_pEX-6nGZtEqtHg6tTpwizQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_CZ_WF9AKKMK8EquIwH4a4LDYQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CZ</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_CN_-Ia16BaKeEKeA84eTeqCUQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_BR_YVsDomG9TUqIcG2mSb8ICg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BR</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_AU_mP9RmJvqoEi_iEyijKAsww"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AU</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_AE_QQgI5Og-fEmQGwpRDfHKWg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AE</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_inRuy9zgMU2nigTwevswNA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarSystemKitsProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsConstructionAndSaleMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_b9UdPTWHcku8x1BMOch-rQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectsConstructionAndSaleMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_SolarModulesAndOtherSolarPowerProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_1efr7KS9TESwBqdLnUWc8g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarModulesAndOtherSolarPowerProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_OtherProductMaterialsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_qa_qj8UtdkGC6Cnxgsbxww"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherProductMaterialsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_OtherProductEpcAndDevelopmentServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_iAkG1oAo6UCqNLKFdrE8sg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherProductEpcAndDevelopmentServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_OAndMServicesProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_TALXTvTgy0W8IszHpFgmRQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OAndMServicesProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_fPGbU_p6XkysfyIatvq8Qw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_GlG3OIvwy0uSqltQ5VaYKQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_EPCServiceProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_jK8Cjotp20ag5c73nNPEoQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:EPCServiceProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_ryBfuNTHlkGuLlfppM_PYw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_vxEfED5fB0WIbLKJSQuPTg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_ElectricityIncomeMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_SnS3FU17kEGCSsVbakhkhg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ElectricityIncomeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_ZAWDmQFn9E6h6EhTX_7omQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_srt_EuropeMember_LKX675WZ4Ee6-R9POmy13w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_srt_AsiaMember_MDFr8DipeU2sC74Vlyh5RQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_bu3oD5kEYkOOPb3yoe3diA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesEuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_apDDsSNSE06sSz-TljVMBQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAsiaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_Ht53i2sfnE6nv9cfRa3j6g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAmericaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_csiq_AmericaMember_uJMI8LHFYEupnrSPxYPeoQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:AmericaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_ZA_uUyP59nHcEyI4Cg6E3MZBA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ZA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_VN_MQK-jVPiLk60aWKpuNOsIQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:VN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_US_caMAoHablECSOnmyrNHQOg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_TH_q6PAt4QPWEugXEP-Ft3JiA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_NL_LviJyIWt-UyI178sCn-2Cg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_MX_t4zlw9_wq0WNrDlpU2SgKw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MX</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_KR_DPeVD3afB0KkWsgINr0Onw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KR</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_JP_XUUj4F2VDkuqacUoSWbQUA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_IN_9_mun8G7oEGrbTVhV691sg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_GB_WffZC1OSBEeoB_1tRDIGjA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_ES_ix1-uZWpC0KehDwsV3HQGw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ES</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_DE_gM0QNQwhW0aazSi2LBiFlA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_CZ_1icskwoZwUGWzVTxVLFN5A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CZ</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_CN_uLe4gp6Oi0yZheHzFVivAQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_BR_d3j6JEMjLk2Snls_WCnloA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BR</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_AU_WhjPgpmcVEGkwi8ZoKfbSQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AU</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_AE_lX3UZ-F5ykie9x0OHlTJTA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AE</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_mgGNGOEeW0WVEY00FmdVww"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarSystemKitsProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsConstructionAndSaleMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_e8foUq8S7UmLlo8wmQmWKw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectsConstructionAndSaleMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_SolarModulesAndOtherSolarPowerProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_8By5ZzvkfE6TGaiODLMwTA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarModulesAndOtherSolarPowerProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_OtherProductMaterialsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_JqnZklJnI0Sq1a_O9UbcSQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherProductMaterialsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_OtherProductEpcAndDevelopmentServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_WVTBv-zEEkK-i3er-mvy8g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherProductEpcAndDevelopmentServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_OAndMServicesProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_Wr03CnxDl0aEVR8LQLtaBg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OAndMServicesProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_xGoYbHVe-kWTZT4uU4a_yQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_QKxAMf0-RUuVnpa5Qx3uPQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_sgvDmWqwaEuQg93l1PKZqA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_aDu_dfgu3ky_qZHc0wIUSQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_ElectricityIncomeMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_l08olw2opUStWzJNDnir1A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ElectricityIncomeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_Soojqgr3cUKB2qyCL8yiyg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_srt_EuropeMember_tgAO1xUv6EKUG-9XVQXD_g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_srt_AsiaMember_NJE3Cf3WxUKgT2YSiUIAPw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_8uZph1D4i0-8JH1jLFU05Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesEuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_DwQYsrPBD0Kc2WODcRZvUA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAsiaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_5zYZtKtTIUOZcyeObpaoZw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAmericaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_csiq_AmericaMember__GE_yzKpwUGxVu4sUCxzdQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:AmericaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_ZA_805HHYc7dE2OJbd-rAIfLQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ZA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_VN_CjZbdql7cE-sMM97Y-Zyag"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:VN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_US_12B3vdfbFU-6svBHY67Amg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_TH_q2bNftrmsEC-mTf22RJ2UA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_NL_X5iF715vQUOJLEbth3zAZA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_MX_9PjPnag4iEyJRdPBRzBF2Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MX</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_KR_6LcDT-MJpU-CVoZxdut2cA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KR</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_JP_JMGL2-bOJ0-oUNuHEQh6bA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_IN_qen0-4xKj02Fwt10wBVtcg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_GB_sXapV1HYBE6KheFFxTkZbg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_ES_acpMfxiQr0uEK5wDTO2jew"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ES</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_DE_N6R1JQgIyUOG3tjqHgfgkQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_CZ_w_0XDhCqFEervnIpumeH3w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CZ</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_CN_6w-s1NPKqUWlqEQvD5m3AQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_BR_9NFUL80BJUeYoge8NrRSxQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BR</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_AU_SoHhxh_NGU6yBVUnS_MUFw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AU</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_AE_hmZcJO2dMUCEGNVVFjwwHA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AE</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_1_2019_To_2_28_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_gK9F7jLB9UOrvT57XyoeyA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-02-01</xbrli:startDate><xbrli:endDate>2019-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_5GNhDLp22Ue3G4TbPQOzCw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PurchaseCommitmentExcludingLongtermCommitmentAxis">csiq:SolarPowerSystemCommitmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_zjSsGEmr3E6ImxRcFXV6BA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PurchaseCommitmentExcludingLongtermCommitmentAxis">csiq:PropertyAndEquipmentPurchaseCommitmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_1Y3gGzwOCEC7zI23QR9u4Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_ith8TOrKrkeGeHlSIzI-bA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_7BuK5Is_jUOdijrh5slMdA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_la7eVIq5FUmKAJ9EhM-u8A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_zMFy0cwj_EGgEoxjE1bHDQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_QCxegUFpaEygc6lrzQyDPw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_KO24wHZchkqHiv_tqI_pHg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_B1LeOq-rGUmqf5I8JC8q0g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_9nSd53ws90GOLDtJ9RZaQQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_TFQxLmDgpU6Abr3M6KeTqA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_qlK4e-1Bd0i9oV_AQt6GZQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_XVRtc1OvPUGFBVrUd_vkSw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_GmK6ZhYAyUi6cHKvxVmutA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_RLUT85lMikOg6iM3_9GsDw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_zEWZcmjnkEGNpRkscYszFQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_f23kuwYC1kSUyMEzckDNDw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_dzJaDJrpCUiB_VVzFGUM9Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_fg65wBq9OEmHr2oisAXdGQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_73Du0plvqkiawKwqIzGOGg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_BvESqq7YKECcYeyhSu2GnA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_wPuaHKDK3EuppnS5RxVAsw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_tnkCAsg17UatLYmCq4DZOg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_GainContingenciesByNatureAxis_us-gaap_InsuranceSettlementMember_nVEHOs6J7kaN3n9wRUvIvA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:GainContingenciesByNatureAxis">us-gaap:InsuranceSettlementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_GainContingenciesByNatureAxis_us-gaap_InsuranceSettlementMember_yGSW8aHKvUCU-cyWWTmOiw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:GainContingenciesByNatureAxis">us-gaap:InsuranceSettlementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_GrantMember_GSLY653ToEWIvP0MwCXxPg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:GrantMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_us-gaap_GrantMember_2srcXON2jEuS-ffiEI4ABA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:GrantMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_us-gaap_GrantMember_IyVp6WbfrEmmRnpLB78etw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:GrantMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_2OIfeqpSGESfsPSlI6wM4A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_FgNhElgP3kS2e7fsR4dPHw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_1_2019_JrXLyDz_iE6bXdd_RjWC4w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2019-01-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_BeLi6GE5Kkua1QXqTu8NAQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAmericaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_US_ci8yVRiKm0SR3Ns812lcFQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_TH_XYa-8aDFLkKERupC5kcUJw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_JP_OjahXlXA9kah_5sEOE1_sw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_CN_B76wqxJKvEG44LSF0wo4fw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_CA_Q3b3UZYpqkipqcdSRFHXwg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_AU_RIqer513PkaoLhr2QRb8GQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AU</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_P3hRQm14QkKPIjv8WO8Lyw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAmericaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_US_nuaZvVimREiHosfkFDvShQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_TH_CdH4jtehD0qIrFCVEVYvpg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_JP_CYyjx4dYl0OJaDub1M3ftw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_CN_8QHe23S1wEmDHOVLkyKoDw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_CA_9QNKGZPwHk-4O0zYdd3Jdg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_AU_Nm5oegU_EkiVgv7jr2CAuw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AU</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_BaJSwC-jvkyCCPCrMYdgKA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_uocq4WAIhEenWpsW1KQ3CA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_f-LLvZmLtUSBjT1PIB5Bvw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_JWRvDsPwUka_T2lsk7qpSw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PurchaseCommitmentExcludingLongtermCommitmentAxis">csiq:SolarPowerSystemCommitmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_Np0KdG7IgkGg0RZJy8EOmA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PurchaseCommitmentExcludingLongtermCommitmentAxis">csiq:PropertyAndEquipmentPurchaseCommitmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_nw1AxTFMckCSnF9eMHvNCQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember_NkfUFHvpiki-98GFkz5oaA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:NonBindingLineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_7_15_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_67RkCDdGfUyMt7-vVUuIGg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BorrowingsFromNonBankingInstitutionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:SubsidiaryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-07-15</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_SecuredByInventoryAndAccountsReceivableMember_dFjpPyfdT0yiKEnn9IuxwQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:SecuredByInventoryAndAccountsReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_25_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember_47PUT9M-pEG19ZgH0VNFsQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BorrowingsFromNonBankingInstitutionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-01-25</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2018_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_7ApNkRhE_0CMLMlGE-tNdA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BorrowingsFromNonBankingInstitutionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_9_14_2018_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_65cKx5UOmUCkMoGigo2IqA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:SubsidiaryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-09-14</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_4_5_2018_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_ZaO8-lOzmkSOpXV4cotMHQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:SubsidiaryMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-04-05</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_30_2018_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_H02AytcwPkqjfLjt3UCu_Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-03-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_26_2018_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_soD0AKKIuUuNnrkbdBGCHw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:UnsecuredDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-03-26</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_YxgnMJzRbEuNZzwUeEkYlg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:SubsidiaryMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_-9Ev49XOv0WHBKgFbU2Fvg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">csiq:ChineseCommercialBanksMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_Unnv7A6IF0SNpUA-z-kfzQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BorrowingsFromNonBankingInstitutionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:SubsidiaryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember_4OvvNdHmPkOJX1eQ44pPWg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BorrowingsFromNonBankingInstitutionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_fCMeD0tB102XyJd5n4KIjA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:UnsecuredDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_Fsc3B2vRw0iyfhOc95NwbA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:SubsidiaryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_SecuredByInventoryAndAccountsReceivableMember_hdNSdECI10-ZOuoW3A_S4w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:SecuredByInventoryAndAccountsReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_LR3iHk2vW0KQebnCNviWTg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_aoxurKTLVEiDwuHolZCXcw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BorrowingsFromNonBankingInstitutionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_11_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_us-gaap_LongtermDebtTypeAxis_csiq_FinancingAgreementMember_KjOWdZ75a0WfTHSlg9itng"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BorrowingsFromNonBankingInstitutionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:FinancingAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-10-11</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_28_2019_us-gaap_LongtermDebtTypeAxis_csiq_FinancingAgreementMember_Or7w3L2W5Uu6Os4lh3U82Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:FinancingAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-06-28</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_9lQ3SiVbI0Cz34qntYVUvQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">csiq:ChineseCommercialBanksMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2017_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_tBlYd5-kWE6aGSNgv3Kk6g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">csiq:ChineseCommercialBanksMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_PublicUtilitiesInventoryAxis_csiq_UncollectableRevenueMember_mXmvI0l1EEeM5fFueacxQw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PublicUtilitiesInventoryAxis">csiq:UncollectableRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_PublicUtilitiesInventoryAxis_csiq_UncollectableRevenueMember_TvJpH0SJtE-DtIo8F_DXEQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PublicUtilitiesInventoryAxis">csiq:UncollectableRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_us-gaap_AccountsPayableAndAccruedLiabilitiesMember_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_z6P2d2lnrESe6ot6hqkgYg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccountsPayableAndAccruedLiabilitiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_9_1_2018_To_9_30_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_EnowIncMember_L3kCVTNU-UOX58ThrnFpqw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:EnowIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-09-01</xbrli:startDate><xbrli:endDate>2018-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_4zPDFsN8MEOZ5PjOunH-eQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:UseRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_m8Q3EWEfpkKChJlmCoWrIA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_F7ZFnp-TpEq-nGa7S5yP7A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:UseRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_K97Cvf-9h0GjjJqdTs-NZA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_ELYLOouZJEe_L8lh_Cqbvw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_K9s1t9xmDEi1P_8wpselHw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_eiq8SALzx0OHXfXWP63Q7A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_3uJmFY4lBE2owhw_xfx0XA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_-etyClXZPEScfax9xrGO3A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_a2uc7kYqWkme20DzcCAvFw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_hIkB5vi1X0-Px0z6AeNOvA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_URLU5YKbh0Kyytn66vXQJA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_XKBDabUyW0CD8iogaTXkQg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_LJ1Pdkc2iE-LpWHQOoApUQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SuzhouFinancialLeasingCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_RoserockMember_-2jDVprwr0iK8v6ezxDy4A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:RoserockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_3_3kA9863Uqpmpr8Nr82IA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReRoserockHoldingsLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_wlK1-Iyzvka0rOPFORBjQA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_KMuBise7OUOQiRB4yNOb0A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_KhP7w9NlGUuayLs6labngg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_WUbOo5Ymb0WFBAgditdKsA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SuzhouFinancialLeasingCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_45338GMEgEmACNWyIsRdng"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReRoserockHoldingsLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_lvmCPoeg9E6zhxGlRm4vIQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_9_30_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_EnowIncMember_xpU4nJdTK02J6qL3DLUAXA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:EnowIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassBMember_atfeGdwVF0mBEc7vyhZd6w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReRoserockHoldingsLlcMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CapitalUnitsByClassAxis">us-gaap:CapitalUnitClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2015-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_12_1_2018_To_12_31_2018_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassBMember_Wy0k8Dw-q0OGQJ8s6C-rYA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CapitalUnitsByClassAxis">us-gaap:CapitalUnitClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-12-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_2P1MxjUaxE-zr9CuDsznLg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentsGainLossByHedgingRelationshipAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_iTN31H1YCkqecbamZCUcgg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2016_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_7KYF7h6oZ0uG4S2HskieZA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentsGainLossByHedgingRelationshipAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2016-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_ZI0GHubZiEeh_RMUN13OLw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_cGXa-9vzCkm-xGQTAMbWhQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_uhx8jb_DpU2wiJcNn3l0Pg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_2_qkaxWROEyxRADTMrU6tA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_eyAcrO_73kexw3dXrjeWfA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_7MwrSxG1zE6KO4Ty0Eaapg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_W6uTe13AW0qQxfTXx4T11Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_zLx4eDqeIUmirrjXr6DE5g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_DerivativeInstrumentRiskAxis_csiq_WarrantsMember_m0nbIynUtUiAV34r6IGW_w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">csiq:WarrantsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesNoncurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_i5m7ctdmwEqFUFFiBLJFzA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesLiabilitiesNoncurrentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_E96IprHxEU-HXPo_yPXOEw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesLiabilitiesCurrentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_Lht7gLwOlkyRnARoUEadvQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesLiabilitiesCurrentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_ACJRmqa3tEiWpgv_X_4yzA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesLiabilitiesCurrentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_LD3kvwSK5kaoJ8oD1jmSZA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesLiabilitiesCurrentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_V6D2k0G1CkivzsJ26fwRMQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesLiabilitiesCurrentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_ALYSHxr72kGVWkgQRImQ1w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesAssetsCurrentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_86xcdACTLUif_r6p94OxHQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesAssetsCurrentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_nYaVjTJgHk-KjaHXERQOpQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsNoncurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_HZa1K7Qq1UaU_k67pukp5w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesAssetsNoncurrentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_WIbc_F7jLUKmdSmAPmFjUA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesAssetsCurrentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_zugAsS9LjE2wufdZ6ofbPg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesAssetsCurrentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_OJdIjAijS0K6Qrc47uH1tQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesAssetsCurrentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_9loSfc2vo0y89KmJDPnUhQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_V3meU-7P10KA5q68VsFk0g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_XeAS5nO-GkW-gpPwSZVHmw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_-I3Bne7KJUiW8JUykJbA3g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_RangeAxis_srt_MinimumMember_6XxkbxM6IUeXCF1ofWfl1Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_RangeAxis_srt_MaximumMember_8UTduJvzpU2u0QlPhXukTw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_Pqhcg3bXH0C9v6U84hAHiQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_01t4VpbMPEyF5f4KgeCrmw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_dty3TSynPEScGsN4OdsgMw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2016_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_nQsty6uxZkSCvaBLSSYCpw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2016-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_Tpvl9ys9pEiBod_oOxh7bw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">csiq:OtherJurisdictionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_US_8h2LHSK_bUK7g5XVIxosNg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_JP_sO2imR9DuU2CdSHZxG7lOg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CN_Vckiv6w5gEy0eKEJr_uPjQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CA_U73UV985r06bSeqJDxjsSA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_fBc-TynnSkmfwM8MkJwtQw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">csiq:OtherJurisdictionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_US_Cg9N18tgPkGGqXSIouQ2Hg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_JP_NFSvTIHfdUKxTEQnrrJjNA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CN_Y5EsbEFvbU2KImnwbOE3sA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CA_lkq9bzFnokGNNmNq000F_A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_uu1We7nTlEWup-RQoPbnHw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">csiq:OtherJurisdictionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_US_-EVDgMOdCU-0mdktAlGL9A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_JP_YSDQydabYEqMEJzZeiUKBg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CN_e1vAKk1TBU6eWIsQNy8tVA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CA_8lrpAC0yQ0qnB8EtGcL3RQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201409Member_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_qBSWTIZPEE6iQm_IqcezHg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201409Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201409Member_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_yeZsr6DhAUe-6DhVF4SYxA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201409Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201409Member_xsDZKzb8CEqyTHafiYrNhA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201409Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouGaochuangteNewEnergyCoLtdMember_zcXd8MaTkU-yNYAvv5T2AA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouGaochuangteNewEnergyCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_ss3QD1mEA0Ss5n4fwqqX3A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_3Sk93rEByE-dbeqKVVA7_g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_484CsaX530iGjLclDEuAyA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_Cr4qBZh4zEWoHVD16HcRsg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_SkUIuue_V0KM0cghzFjUGA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_M_mTHN8f20mtGppqvA2zHA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_fmaBzUgoI0yyBzxVQ57LnQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_YxLxlAPl3Ei_5rDPgZQLAA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_d6NUTosMNUeIDO0N65uVCg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yPbS4uCAjE2BEL6v9hroJg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_qagh29pxOEOnWidIWH6_mA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_MajorCustomersAxis_csiq_CustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_2CC3aRMbdUeLqTuW5RvP0g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_MajorCustomersAxis_csiq_CustomerThreeMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_xBLTo-0DN0e2e2pak5UCvQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerThreeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_1bYGB9AGo0SbTP0BHNbItA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_MajorCustomersAxis_csiq_CustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_ouRLNsx2YE2ZYX55F6ryjw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerTwoMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_MajorCustomersAxis_csiq_CustomerThreeMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_KorWr0kIjUOgBI3b-e70kA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerThreeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_LScHX-whIkaDTTjPue_FNg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_JQIQI4zpo0i_SPQaqY6QAw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_x5wJ9gYLeUeDnvVbqJ-eEw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_z65UHMJPyk2H29t9_g-73Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_MhItSDewjEKzRG13QOXYxg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_YRmJLv4FhEq4wT4N0l1Uhw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2016-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_dFnmrWqd-UqgDn0vonqWDw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2017_kjGpnzkm3E6qIMnIr7nQSg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2016_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_ync2vpL9vkSdVFl3lols6w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2016-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2016_1CpwSxbtS0GMUYvki678nw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2016-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_DRBcGFZYukGT2d2xWSVHNg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">csiq:StockOptionsAndRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_gnWVC8J_SUiN4JbVseCmFQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">csiq:StockOptionsAndRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_Dm1sRkFcckWN-haCIZvhOg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">csiq:StockOptionsAndRestrictedStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_uLpMdt-vpE-VIUzEDDSsCA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_wzoGpx0GgkmiZaayun2EzQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_5lpDB7_z30avE2UgNnsrpg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_rPxbvVZoyUOdbR494kekJQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_-ZDYmEARK0q3GwoucbAxwQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2016_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_mZ3g8MrpQ0-vybcY6Rvc3A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2016-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_SRCouWz3XEmwcxSGvcJu0A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_8ozFJvTZ-0yHSWTfIU_HWQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_WDuPwu4i6E6JTCsTHDHFZA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_InOwCE-pbkqqFZ5f9Hzwsw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_tGbnrmV98k65EuUMZj90jw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_6PbLu5TwSUmMSICGFizlfQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_3bshPo-TZ0ewiTeq3vJttg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_44Ly57_16k-M3XJD-N5g6g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:EtSolutionsSouthAfricaOnePtyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_MzpFZC4xc0SsOrqWET8WEg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_lP-g-aEimEi3Xo0Wx7M7Og"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerOneMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_Lni6b2wqT06gMYUtRCWx2g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:AssetManagementServiceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_E6ssvlT7VkOhCRIaTYAbig"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouIsilverMaterialsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_0P8m4wNqDECg7ffpy3bOHQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LuoyangJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_fr9FcxEvrE6P9tdRcCORfw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:EntityAddressesAddressTypeAxis">dei:BusinessContactMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_GhtInNTJ7Um_BcXw7gTx3A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_tq-G0UD3eEqDOF452JF6iA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_YSGxzb659E6SbtJO6dhrig"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForOtherReceivablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_08NS4dDeZkW17xdMEfRQ9w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForAdvancesToSuppliersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_R-5vW0zNl026TEdo-dZ23w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_qw-rezekUkyLyb8G-vtAGQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_4ZJXuiw2vEibW7MY-48vow"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForOtherReceivablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_tYZydkbTaU2vPy50VkeoYw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForAdvancesToSuppliersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_AD0kvI38HEen87RDQpr8SQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_JJciRvPUpECtWVLfVRf7Qw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_AeiW6cj5mkCw2wBtgwjN8A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForOtherReceivablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_b6e0wD063U6jthTtcMue7A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForAdvancesToSuppliersMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarPowerProjectMember_bm-757FtQU68ZBQWkstNJQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_vYOHebeiJ0eGj6XPOERzxA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_6UpYfub3BUGWytj8LnT_5A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AssetUnderConstructionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_f4MtRWEu2U-HkSSZiE7hHQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_7qu8sGJfDkWFDX8HCOXxIg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AssetUnderConstructionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_BifacialModuleAndDoubleGlassModuleMember_GaiVxGQb-Ea-Pf708CGEmA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:BifacialModuleAndDoubleGlassModuleMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_OIwjmEy-g0-jBi_IfTdnJg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2009-05-31</xbrli:startDate><xbrli:endDate>2009-05-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_6TQ2EhR2lU6r_r2PFKt9wg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:OMServiceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_vGGbm6VVYkWnxmvj9a2U4Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:AssetManagementServiceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_xmseSrs_m0mdgFiMJnbO5Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:OMServiceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_MPZ-85CJ6k2EIGMH-f8y0g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:AssetManagementServiceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_vrbq1Y7fzkmRdeZimHMJTg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:OMServiceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_TaJkuRfZaUytX-J6LuxPiQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:AssetManagementServiceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingVietnamCo.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_VN_amsmSJQ6Wku4fhLRaqNHVA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingVietnamCo.LtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:VN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_J0f4Gn18IkyrpRsz_fqugg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouKzoneEquipmentTechnologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_HPonw54HF0Khe7itrDgQcQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouIsilverMaterialsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_VSgMjSpuCkGi0L_sLbP1xw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouKzoneEquipmentTechnologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_XRJuOQBJ7Eqq3I_8rcfl3g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouIsilverMaterialsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_hAsqnodrN0qwpZ_IQTzNdQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouIsilverMaterialsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maCPKEXMVE-j2Nxn8cvqXw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">us-gaap:VariableInterestEntityPrimaryBeneficiaryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_WOrYLpJ4Pk-F1cMSt3yv4Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">us-gaap:VariableInterestEntityPrimaryBeneficiaryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetyThreeInitialPowerCapacityMember_e6D4t8_Q3k6-4Du3ukDoww"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:NinetyThreeInitialPowerCapacityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetySevenPercentInitialPowerCapacityMember_gyvGzgoBPk6U5a_JhPV_mg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:NinetySevenPercentInitialPowerCapacityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_GuaranteeObligationsByNatureAxis_csiq_EightyPercentInitialPowerCapacityMember_ovzvu2KUh0q2ohJZ4l8x7Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:EightyPercentInitialPowerCapacityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2019_srt_LitigationCaseAxis_csiq_USCountervailingAndAntiDumpingDutiesMember_bS4T7TJwGkCN51qTL7H5UQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:USCountervailingAndAntiDumpingDutiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_pT5qca5y5kSh4Qhx1-e_Ug"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cMS9441ftU2M1VNcmrYt5A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2010_To_12_31_2010_srt_LitigationCaseAxis_csiq_ClassActionLawsuitsFiledInNewYorkMember_FNrge7ynxUKgdwShVOjAFA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:ClassActionLawsuitsFiledInNewYorkMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2010-01-01</xbrli:startDate><xbrli:endDate>2010-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_2WH8T4jvyU-OxlqYQ4oGYg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:TH</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_9_8_2015_To_9_8_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_BOjWTJgvMEaSRomTHtEAoA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SuzhouFinancialLeasingCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2015-09-08</xbrli:startDate><xbrli:endDate>2015-09-08</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_LitigationCaseAxis_csiq_FirstAdministrativeReviewOfSolarTwoMember_oxVnRVPscU2eTy0cveOR8g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FirstAdministrativeReviewOfSolarTwoMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_KC4M_b3zxkOYv5EBBchF7A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">csiq:ChineseCommercialBanksMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_ywnHsvMKSEqlHMEsWAIgEw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">csiq:ChineseCommercialBanksMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_l8u3wbph_0ijd7oXI9NDBw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">csiq:ChineseCommercialBanksMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2016_To_12_31_2016_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_83pBn5QsOkCv9_yelZJGtw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentsGainLossByHedgingRelationshipAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2016-01-01</xbrli:startDate><xbrli:endDate>2016-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_XhAYtJxcUkeQuRT0kk1amw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:MaterialAndWorkmanShipMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_7rh37m38QEi6EfxAGudRHQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_8_1_2011_To_8_31_2011_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_MIQgX1VwqEybOAeurlaxHg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:MaterialAndWorkmanShipMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2011-08-01</xbrli:startDate><xbrli:endDate>2011-08-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_6_1_2009_To_6_30_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_t8cQY5bAzU-yeV-sxSagdA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:MaterialAndWorkmanShipMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2009-06-01</xbrli:startDate><xbrli:endDate>2009-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_bkAVaYM15EmQbIM35GduTg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarUSAIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_DOY-AYh8JUi8k0idPnt4NQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarJapanKKMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_33JisG54LE2A47Bw5bTPyg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInternationalLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:HK</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_NPh8C7LJHECeEmAuTzFAiw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyAcquisitionCo.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_JLou2P7_vEqXT73wTfXT1A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEMEAGmbHMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:DE</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_pNY_HOZnIk6S_Cx_AraG-A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarUSAIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_FlG6nKVTo0KAB9DKt_5AEw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarJapanKKMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_IBo9NIvbLUyT4Rv6iXMRMQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInternationalLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:HK</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_3OIr_K05xEuzbasWpuYRgQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyAcquisitionCo.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_FzwS043JFkCFXZkQylZQzw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEMEAGmbHMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:DE</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_Bv4q5MiEmkWzYnjY2n1DDw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarUSAIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_dlAOFm7h4E235UcaiMqK9Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarJapanKKMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_FKfCSsb6TE6bU85fsoxSWA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInternationalLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:HK</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_zP9wRc_tCEWZ-xX99ys6pQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyAcquisitionCo.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_yQTe_lwLrkin8aDcC1uNwQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEMEAGmbHMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:DE</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingVietnamCo.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_VN_ocDHkN3-qEOTyq04go9m_g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingVietnamCo.LtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:VN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2016-01-01</xbrli:startDate><xbrli:endDate>2016-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_lbiTOXxyOkGyeO_8SAZsGg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:TH</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2016-01-01</xbrli:startDate><xbrli:endDate>2016-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_12_1_2015_To_12_31_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassAMember_gkKSV9gF2EGbZgaq8gBPnA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReRoserockHoldingsLlcMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CapitalUnitsByClassAxis">us-gaap:CapitalUnitClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2015-12-01</xbrli:startDate><xbrli:endDate>2015-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiSolarPowerChinaInc.Member_2XOncCEazUK4vS1Ijo1FPQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiSolarPowerChinaInc.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_CounterpartyNameAxis_csiq_CsiCellsCo.Ltd.Member_Ld_hV3-Kk0-OpEOkQQ3flg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CsiCellsCo.Ltd.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_9_30_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_Q4EaU_PYTka40-LTJPjabA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouKzoneEquipmentTechnologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_0F00mVXwd0mQUFuCsDhkpw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Ug2UAGBzzEqKX4BN1gBIYw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_doPPpFZ3-0SMtFKuRd9nBQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2017-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_ZvCdVuOIL0WUgu2MyAEiBA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSolutionsIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_LRvKjJEMkUKk4ypEQ6GI8g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_tiD3_T5xBUm2DSnaLrAVcQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSolutionsIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_oMfXEVnV40enxqssJftNdg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_c98FVmoqQkyW_kLaSAxMdw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSolutionsIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_FuqNMzntKkC3oW2vZfXXEQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_qhGj9EM1EUy10PH3sclx3g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_DZYOKKqhF0210mfrrrZweA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_QB6FQT6tsUu2JlD0M-uS9A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:UnsecuredDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_4LmkbPUO0EaVzVJKFVhl9w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_V5qWxWd2PE6gJIqF5det4w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:UnsecuredDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_kaMjFIZagEOypzTRPqfy3g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_L7BCEJZcxUq493NghpmhNg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_2_18_2014_To_2_18_2014_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_QLwd4HpR902K_A8wABiJsQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2014-02-18</xbrli:startDate><xbrli:endDate>2014-02-18</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_9_8_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_zoofUt6-skKcJlyAiZZvVg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SuzhouFinancialLeasingCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2015-09-08</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_PilipinasNewtonEnergyCorpMember_9uZbiYQqokO_KP20g5Uu8g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:PilipinasNewtonEnergyCorpMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassBMember_PNsHc0u5PkCTT9zn-4EF_Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CapitalUnitsByClassAxis">us-gaap:CapitalUnitClassBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassAMember_6op6Ex1lRUCkN7e7zL6wmg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CapitalUnitsByClassAxis">us-gaap:CapitalUnitClassAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_BWweho0NDkOlYHOcv1sAMg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_6D1G2qS6fUataJZveTuqLQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2018-01-01</xbrli:startDate><xbrli:endDate>2018-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_PrY-GkgnS0qsqjcKYAbnjw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2017-01-01</xbrli:startDate><xbrli:endDate>2017-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_9_1_2010_To_9_30_2010_nsm9bHVoXUa0RbC_qLiWeA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2010-09-01</xbrli:startDate><xbrli:endDate>2010-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="Unit_Standard_GBP_Dc2Gdnkog0-JfFMrmYG68g"><xbrli:measure>iso4217:GBP</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_segment_cECiqmtKEE2chm8uhJi7ig"><xbrli:measure>csiq:segment</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_ZAR_CO6Y-961Uk2OBFlKKQofBQ"><xbrli:measure>iso4217:ZAR</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA"><xbrli:measure>csiq:item</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit><xbrli:unit id="Unit_Standard_Institution_s8f8AkKbRUGRIp83T9dPtA"><xbrli:measure>csiq:Institution</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ"><xbrli:measure>iso4217:JPY</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg"><xbrli:measure>iso4217:CNY</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_D_TD5KJN6-H0iWH7G2g_795w"><xbrli:measure>csiq:D</xbrli:measure></xbrli:unit></ix:resources></ix:header></div><div style="max-width:100%;padding-left:4.47%;padding-right:4.47%;position:relative;"><div style="margin-top:27.35pt;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:8.05pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-bottom:1pt;padding-top:1pt;border-bottom:1.0pt solid #000000;border-top:3.0pt solid #000000;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><a id="_16289cd1_c638_4f95_9c62_c13a9f073359"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:1pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:12.5pt;font-weight:bold;">UNITED STATES</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:12.5pt;font-weight:bold;">SECURITIES AND EXCHANGE COMMISSION</b></p><p style="font-family:'Times New Roman';font-size:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Washington,&#160;D.C. 20549</b></p><div style="font-family:'Times New Roman';font-size:7.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto;"></div></div><p style="font-family:'Times New Roman';font-size:12.5pt;text-align:center;margin:0pt 0pt 1pt 0pt;"><b style="font-weight:bold;">Form&#160;</b><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:DocumentType" id="Narr_01Yv0_K40E-7EvfsC7__QQ"><b style="font-weight:bold;">20-F</b></ix:nonNumeric></p><a id="_f46058ca_2bf3_42ed_9b10_75f268044ab4"></a><a id="Tc_EQDRkkT55EKX7P91-vNw8Q_0_0"></a><a id="Tc_-Eh8SWNXnUuD0M41XV4cKA_1_1"></a><a id="Tc_yjbg45TYyEKCvV8N0MbAHw_2_0"></a><a id="Tc_spJ1oSCxEEyWNSMo67LTkA_3_1"></a><a id="Tc_bHMHa3FqS0etgoueoF2Htw_4_1"></a><a id="Tc_XHIt1NM4wkygEZ_apR6h1g_5_0"></a><a id="Tc_-nH5kFSQDEuu-hu_HlTK0A_6_1"></a><a id="Tc_1094hQRa20C9HqBH1zLDbQ_7_1"></a><a id="Tc_xkHWqmuf_kOYfxDpY84hQw_8_0"></a><a id="Tc_7pVgFRT1Fk2J27ZlaQfAKg_9_1"></a><a id="Tc_jERdCTrByk-ri9GGjZXklQ_10_1"></a><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td style="vertical-align:top;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;padding-left:10pt;text-align:center;text-indent:-10pt;margin:0pt;">(Mark One)</p></td><td style="vertical-align:bottom;width:89.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 1pt 0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:DocumentRegistrationStatement" id="Tc_Wy9cavkzLEi1XJ7mZEJEgg_1_0"><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9744;</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:89.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 1pt 0pt;"><b style="font-weight:bold;">REGISTRATION STATEMENT PURSUANT TO SECTION&#160;12(b) OR 12(g) OF THE SECURITIES EXCHANGE ACT OF&#160;1934</b></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:100%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt 0pt 1pt 0pt;"><b style="font-weight:bold;">OR</b></p></td></tr><tr><td style="vertical-align:top;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 1pt 0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:DocumentAnnualReport" id="Tc_HMpmKdm2GkOBJwQNpo3-eQ_3_0"><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9746;</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:89.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 1pt 0pt;"><b style="font-weight:bold;">ANNUAL REPORT PURSUANT TO SECTION&#160;13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF&#160;1934</b></p></td></tr><tr><td style="vertical-align:top;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 1pt 0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:89.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 1pt 0pt;"><b style="font-size:6pt;font-weight:bold;">For the fiscal year ended </b><ix:nonNumeric format="ixt:datemonthdayyearen" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:DocumentPeriodEndDate" id="Narr_TFOljN6SWUWAWV-KZOL5Nw"><b style="font-size:6pt;font-weight:bold;">December 31, 2019</b></ix:nonNumeric></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:100%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt 0pt 1pt 0pt;"><b style="font-weight:bold;">OR</b></p></td></tr><tr><td style="vertical-align:top;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 1pt 0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:DocumentTransitionReport" id="Tc_Wr1QUQUlYU2eQVU3NLgFoA_6_0"><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9744;</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:89.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 1pt 0pt;"><b style="font-weight:bold;">TRANSITION REPORT PURSUANT TO SECTION&#160;13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF&#160;1934</b></p></td></tr><tr><td style="vertical-align:top;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 1pt 0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:89.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 1pt 0pt;"><b style="font-weight:bold;">For the transition period from &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; to</b></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:100%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt 0pt 1pt 0pt;"><b style="font-weight:bold;">OR</b></p></td></tr><tr><td style="vertical-align:top;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 1pt 0pt;"><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:DocumentShellCompanyReport" id="Tc_F-DCyHKtYk27JhAEDiUNqA_9_0"><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9744;</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:89.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 1pt 0pt;"><b style="font-weight:bold;">SHELL COMPANY REPORT PURSUANT TO SECTION&#160;13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF&#160;1934</b></p></td></tr><tr><td style="vertical-align:top;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:89.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"><b style="font-weight:bold;">Date of event requiring this shell company report</b></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:2pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 3pt 0pt;"><b style="font-size:7pt;font-weight:bold;">Commission file number: </b><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:EntityFileNumber" id="Narr_7S24zmlKI0ipp7SD5LZE1A"><b style="font-size:7pt;font-weight:bold;">001-33107</b></ix:nonNumeric></p><p style="font-family:'Times New Roman';font-size:11pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:EntityRegistrantName" id="Narr_EdVdHqq4V0-I1dLByXdVBg"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></ix:nonNumeric></p><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt 0pt 3pt 0pt;"><i style="font-style:italic;">(Exact name of Registrant as specified in its charter)</i></p><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">N/A</b></p><div style="font-family:'Times New Roman';font-size:1.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto;"></div></div><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt 0pt 3pt 0pt;"><i style="font-style:italic;">(Translation of Registrant&#8217;s name into English)</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric format="ixt-sec:edgarprovcountryen" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:EntityIncorporationStateCountryCode" id="Narr_6VxrH4l0g0ewpC9npsvtDQ"><b style="font-size:6pt;font-weight:bold;">Canada</b></ix:nonNumeric></p><div style="font-family:'Times New Roman';font-size:1.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto;"></div></div><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt 0pt 3pt 0pt;"><i style="font-style:italic;">(Jurisdiction of incorporation or organization)</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:EntityAddressAddressLine1" id="Narr_LyOircXAsE-_1CtcgboL4w"><b style="font-size:6pt;font-weight:bold;">545&#160;Speedvale Avenue West</b></ix:nonNumeric></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:EntityAddressCityOrTown" id="Narr_g5516kwMu0ukNsO_57iVnw"><b style="font-size:6pt;font-weight:bold;">Guelph, Ontario</b></ix:nonNumeric><b style="font-size:6pt;font-weight:bold;">, </b><ix:nonNumeric format="ixt-sec:countrynameen" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:EntityAddressCountry" id="Narr_o7b6U268AEmxgNFTI_fD7Q"><b style="font-size:6pt;font-weight:bold;">Canada</b></ix:nonNumeric><b style="font-size:6pt;font-weight:bold;"> </b><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:EntityAddressPostalZipCode" id="Narr_OycITmqzqE-a1lZ-nCZ3uw"><b style="font-size:6pt;font-weight:bold;">N1K&#160;1E6</b></ix:nonNumeric></p><div style="font-family:'Times New Roman';font-size:1.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto;"></div></div><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt 0pt 3pt 0pt;"><i style="font-style:italic;">(Address of principal executive offices)</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_fr9FcxEvrE6P9tdRcCORfw" name="dei:ContactPersonnelName" id="Narr_GJnd5G4DiE-FJisDsXTKBQ"><b style="font-size:6pt;font-weight:bold;">Huifeng Chang</b></ix:nonNumeric><b style="font-size:6pt;font-weight:bold;">, Chief Financial Officer</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_fr9FcxEvrE6P9tdRcCORfw" name="dei:EntityAddressAddressLine1" id="Narr_UQnpD1KYi0unQ0_VhdY3hg"><b style="font-size:6pt;font-weight:bold;">545&#160;Speedvale Avenue West</b></ix:nonNumeric></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_fr9FcxEvrE6P9tdRcCORfw" name="dei:EntityAddressCityOrTown" id="Narr_45KXbQ72Hk2jGGtMXjkq-Q"><b style="font-size:6pt;font-weight:bold;">Guelph, Ontario</b></ix:nonNumeric><b style="font-size:6pt;font-weight:bold;">, </b><ix:nonNumeric format="ixt-sec:countrynameen" contextRef="Duration_1_1_2019_To_12_31_2019_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_fr9FcxEvrE6P9tdRcCORfw" name="dei:EntityAddressCountry" id="Narr_OB67wyEDXU2eKdKyVSHSVw"><b style="font-size:6pt;font-weight:bold;">Canada</b></ix:nonNumeric><b style="font-size:6pt;font-weight:bold;"> </b><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_fr9FcxEvrE6P9tdRcCORfw" name="dei:EntityAddressPostalZipCode" id="Narr_39o8pU0PdkSHvz566ZR4uw"><b style="font-size:6pt;font-weight:bold;">N1K&#160;1E6</b></ix:nonNumeric></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:6pt;font-weight:bold;">Tel: (</b><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_fr9FcxEvrE6P9tdRcCORfw" name="dei:CityAreaCode" id="Narr_H4Y0rllAIkqsw89ITZwcVA"><b style="font-size:6pt;font-weight:bold;">1-519</b></ix:nonNumeric><b style="font-size:6pt;font-weight:bold;">) </b><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_fr9FcxEvrE6P9tdRcCORfw" name="dei:LocalPhoneNumber" id="Narr_QLS2lyocu0qK5fpeL6PFGQ"><b style="font-size:6pt;font-weight:bold;">837-1881</b></ix:nonNumeric></p><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fax: (1-519) 837-2550</b></p><div style="font-family:'Times New Roman';font-size:1.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto;"></div></div><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt 0pt 3pt 0pt;"><i style="font-style:italic;">(Name, Telephone, E-mail and/or Facsimile number and Address of Company Contact&#160;Person)</i></p><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Securities registered or to be registered pursuant to Section&#160;12(b) of the Act:</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><table style="background-color:#ffffff;border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:97.57%;"><tr><td style="background-color:#ffffff;vertical-align:bottom;width:43.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt 0pt 1pt 0pt;"><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Title of Each Class</b></p></td><td style="background-color:#ffffff;vertical-align:bottom;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt 0pt 1pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:#ffffff;vertical-align:top;width:8.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt 0pt 1pt 0pt;"><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Trading&#160;Symbol</b></p></td><td style="background-color:#ffffff;vertical-align:bottom;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt 0pt 1pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:#ffffff;vertical-align:bottom;width:45.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt 0pt 1pt 0pt;"><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Name&#160;of&#160;Each&#160;Exchange&#160;on&#160;Which&#160;Registered</b></p></td></tr><tr><td style="background-color:#ffffff;vertical-align:top;width:43.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:Security12bTitle" id="Narr_z8edNEibcUC_q35OSn2lSA"><span style="font-size:6pt;">Common shares</span></ix:nonNumeric><span style="font-size:6pt;"> with no par value</span></p></td><td style="background-color:#ffffff;vertical-align:top;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#ffffff;vertical-align:top;width:8.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;">CSIQ</p></td><td style="background-color:#ffffff;vertical-align:top;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#ffffff;vertical-align:top;width:45.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;">The </span><ix:nonNumeric format="ixt-sec:exchnameen" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:SecurityExchangeName" id="Narr_b_Hlga1xcEGLFwHuVD23mQ"><span style="font-size:6pt;">NASDAQ Stock Market&#160;LLC</span></ix:nonNumeric></p></td></tr><tr><td style="background-color:#ffffff;vertical-align:top;width:43.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#ffffff;vertical-align:top;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#ffffff;vertical-align:top;width:8.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#ffffff;vertical-align:top;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#ffffff;vertical-align:top;width:45.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;">(The&#160;NASDAQ Global Select Market)</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:2pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Securities registered or to be registered pursuant to Section&#160;12(g) of the Act:</b></p><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">None</b></p><div style="font-family:'Times New Roman';font-size:1.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto;"></div></div><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt 0pt 3pt 0pt;"><i style="font-style:italic;">(Title of Class)</i></p><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt 0pt 3pt 0pt;"><b style="font-weight:bold;">Securities for which there is a reporting obligation pursuant to Section&#160;15(d) of the&#160;Act:</b></p><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">None</b></p><div style="font-family:'Times New Roman';font-size:1.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto;"></div></div><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt 0pt 3pt 0pt;"><i style="font-style:italic;">(Title of Class)</i></p><p style="font-family:'Times New Roman';font-size:6pt;text-indent:18pt;margin:0pt 0pt 3pt 0pt;">Indicate the number of outstanding shares of each of the issuer&#8217;s classes of capital or common stock as of the close of the period covered by the annual&#160;report.</p><p style="font-family:'Times New Roman';font-size:6pt;text-indent:18pt;margin:0pt 0pt 3pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" format="ixt:numdotdecimal" scale="0" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="INF" name="dei:EntityCommonStockSharesOutstanding" id="Narr_Z-ovXxauDUWE2WjlGVkKOg">59,371,684</ix:nonFraction> common shares issued and outstanding, excluding 609,516 common shares as treasury stock, as of December 31, 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 3pt 0pt;"><span style="font-size:6pt;">Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule&#160;</span><span style="font-size:6pt;white-space:pre-wrap;">405 of the Securities Act.  Yes&#160;</span><span style="font-family:'Wingdings';font-size:6pt;"><span style="font-family:'Times New Roman';">&#9723;</span></span><span style="font-size:6pt;white-space:pre-wrap;">  </span><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:EntityWellKnownSeasonedIssuer" id="Narr_0uSQB5nV50SWlJxbWSabvw"><span style="font-size:6pt;">No</span></ix:nonNumeric><span style="font-size:6pt;">&#160;</span><span style="font-family:'Wingdings';font-size:6pt;"><span style="font-family:'Times New Roman';">&#8999;</span></span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 3pt 0pt;"><span style="font-size:6pt;">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&#160;13 or&#160;</span><span style="font-size:6pt;white-space:pre-wrap;">15(d) of the Securities Exchange Act of 1934.  Yes&#160;</span><span style="font-family:'Wingdings';font-size:6pt;"><span style="font-family:'Times New Roman';">&#9723;</span></span><span style="font-size:6pt;white-space:pre-wrap;">  </span><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:EntityVoluntaryFilers" id="Narr_pXYkS5oNuUG9w_SP66JDLw"><span style="font-size:6pt;">No</span></ix:nonNumeric><span style="font-size:6pt;">&#160;</span><span style="font-family:'Wingdings';font-size:6pt;"><span style="font-family:'Times New Roman';">&#8999;</span></span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 3pt 0pt;"><span style="font-size:6pt;">Indicate by check mark whether the registrant (1)&#160;has filed all reports required to be filed by Section&#160;13 or&#160;15(d) of the Securities Exchange Act of 1934 during the preceding 12&#160;months (or&#160;for such shorter period that the registrant was required to file such reports), and (2)&#160;has been subject to such filing requirements for the past 90&#160;</span><span style="font-size:6pt;white-space:pre-wrap;">days.  </span><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:EntityCurrentReportingStatus" id="Narr_KhPs-EXMBUytkqR12fiORg"><span style="font-size:6pt;">Yes</span></ix:nonNumeric><span style="font-size:6pt;">&#160;</span><span style="font-family:'Wingdings';font-size:6pt;"><span style="font-family:'Times New Roman';">&#8999;</span></span><span style="font-size:6pt;white-space:pre-wrap;">  No&#160;</span><span style="font-family:'Wingdings';font-size:6pt;"><span style="font-family:'Times New Roman';">&#9723;</span></span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 3pt 0pt;"><span style="font-size:6pt;">Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule&#160;405 of Regulation&#160;S-T (&#167;&#160;232.405 of this chapter) during the preceding 12&#160;months (or&#160;</span><span style="font-size:6pt;white-space:pre-wrap;">for such shorter period that the registrant was required to submit such files).  </span><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:EntityInteractiveDataCurrent" id="Narr_zpZEmSP8Zkq6eKe8ETF-Ig"><span style="font-size:6pt;">Yes</span></ix:nonNumeric><span style="font-size:6pt;">&#160;</span><span style="font-family:'Wingdings';font-size:6pt;"><span style="font-family:'Times New Roman';">&#8999;</span></span><span style="font-size:6pt;white-space:pre-wrap;">  No&#160;</span><span style="font-family:'Wingdings';font-size:6pt;"><span style="font-family:'Times New Roman';">&#9723;</span></span></p><p style="font-family:'Times New Roman';font-size:6pt;text-indent:18pt;margin:0pt 0pt 1pt 0pt;">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;accelerated filer,&#8221; &#8220;large accelerated filer&#8221;<span style="font-size:9pt;"> </span><span style="white-space:pre-wrap;">and &quot;emerging growth company&quot;  in Rule&#160;12b-2 of the Exchange Act. (Check&#160;one):</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:3.6pt;padding-right:3.6pt;width:100%;"><tr><td style="vertical-align:top;width:38.75%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:10pt;text-align:center;text-indent:-10pt;margin:0pt;"><ix:nonNumeric format="ixt-sec:entityfilercategoryen" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:EntityFilerCategory" id="Narr_U1A2CJo1Q0-TF_dT8ShukQ"><span style="font-size:6pt;">Large accelerated filer</span></ix:nonNumeric><span style="font-size:6pt;white-space:pre-wrap;">  </span><span style="font-family:'Wingdings';font-size:6pt;"><span style="font-family:'Times New Roman';">&#8999;</span></span></p></td><td style="vertical-align:top;width:31.5%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><span style="white-space:pre-wrap;">Accelerated filer  </span><span style="font-family:'Wingdings';"><span style="font-family:'Times New Roman';">&#9723;</span></span></p></td><td style="vertical-align:top;width:21.02%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;">Non-accelerated filer</p></td><td style="vertical-align:top;width:8.72%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"><span style="font-family:'Wingdings';"><span style="font-family:'Times New Roman';">&#9723;</span></span></p></td></tr><tr><td style="vertical-align:top;width:38.75%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:10pt;text-align:center;text-indent:-10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:31.5%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:21.02%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;">Emerging growth company</p></td><td style="vertical-align:top;width:8.72%;margin:0pt;padding:0pt 3.59pt 0pt 3.59pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"><span style="font-family:'Wingdings';"><span style="font-family:'Times New Roman';">&#9723;</span></span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 3pt 0pt;"><span style="font-size:6pt;">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.&#160;&#160;</span><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:EntityEmergingGrowthCompany" id="Narr_G7bDm93dy0iwTolfTV87Qg"><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9744;</span></ix:nonNumeric></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 3pt 0pt;"><span style="font-size:6pt;">Indicate by check mark which basis of accounting the registrant has used to prepare the financial statements included in this filing: </span><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:DocumentAccountingStandard" id="Narr_-IKeTIU62EahmCs1UL97gg"><span style="font-size:6pt;">U.S. GAAP</span></ix:nonNumeric><span style="font-size:6pt;"> </span><span style="font-family:'Wingdings';font-size:6pt;"><span style="font-family:'Times New Roman';">&#8999;</span></span><span style="font-size:6pt;"> </span></p><p style="font-family:'Times New Roman';font-size:6pt;text-indent:18pt;margin:0pt 0pt 3pt 0pt;"><span style="white-space:pre-wrap;">International Financial Reporting Standards as issued by the International Accounting Standards Board  </span><span style="font-family:'Wingdings';"><span style="font-family:'Times New Roman';">&#9723;</span></span><span style="white-space:pre-wrap;">  Other  </span><span style="font-family:'Wingdings';"><span style="font-family:'Times New Roman';">&#9723;</span></span></p><p style="font-family:'Times New Roman';font-size:6pt;text-indent:18pt;margin:0pt 0pt 3pt 0pt;"><span style="white-space:pre-wrap;">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.  Item&#160;17&#160;</span><span style="font-family:'Wingdings';"><span style="font-family:'Times New Roman';">&#9723;</span></span><span style="white-space:pre-wrap;">  Item&#160;18&#160;</span><span style="font-family:'Wingdings';"><span style="font-family:'Times New Roman';">&#9723;</span></span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 3pt 0pt;"><span style="font-size:6pt;">If this is an annual report, indicate by check mark whether the registrant is a shell company (as&#160;defined in Rule&#160;12b-2 of the Exchange&#160;Act).&#160;&#160;Yes&#160;</span><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="dei:EntityShellCompany" id="Narr_A-EYx9P5UUiH7dku-QMEhA"><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9744;</span></ix:nonNumeric><span style="font-size:6pt;white-space:pre-wrap;">  No&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9746;</span></p><p style="font-family:'Times New Roman';font-size:6pt;text-indent:18pt;margin:0pt 0pt 3pt 0pt;">(APPLICABLE ONLY TO ISSUERS INVOLVED IN BANKRUPTCY PROCEEDINGS DURING THE PAST FIVE&#160;YEARS)</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:6pt;">Indicate by check mark whether the registrant has filed all documents and reports required to be filed by Sections&#160;12, 13 or&#160;15(d) of the </span><span style="-sec-ix-hidden:Hidden_zNr23FeY0EG0C9OVvgKUrA"><span style="color:#000000;font-family:'Times New Roman';font-size:6pt;font-style:normal;font-weight:normal;text-align:left;">Securities</span></span><span style="font-size:6pt;white-space:pre-wrap;"> Exchange Act of 1934 subsequent to the distribution of securities under a plan confirmed by a court.  Yes&#160;</span><span style="font-family:'Wingdings';font-size:6pt;"><span style="font-family:'Times New Roman';">&#9723;</span></span><span style="font-size:6pt;white-space:pre-wrap;">  No&#160;</span><span style="font-family:'Wingdings';font-size:6pt;"><span style="font-family:'Times New Roman';">&#9723;</span></span></p><div style="font-family:'Times New Roman';font-size:1.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman';font-size:6pt;padding-left:18pt;text-indent:-18pt;margin:0pt;">&#8224;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;The term &#8220;new or revised financial accounting standard&#8221; refers to any update issued by the Financial Accounting Standards Board to its Accounting Standards Codification after April 5, 2012.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:6pt;text-indent:18pt;margin:0pt;"><span style="white-space:pre-wrap;">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.  </span><span style="font-family:'Wingdings';"><span style="font-family:'Times New Roman';">&#8999;</span></span><span style="white-space:pre-wrap;"> Yes  </span><span style="font-family:'Wingdings';"><span style="font-family:'Times New Roman';">&#9723;</span></span> No</p><p style="font-family:'Times New Roman';font-size:10pt;padding-bottom:1pt;padding-top:1pt;text-indent:18pt;border-bottom:3.0pt solid #000000;border-top:1.0pt solid #000000;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:2pt;visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'SimSun';line-height:0pt;margin:0pt;"><span style="font-family:'Times New Roman';font-size:0pt;visibility:hidden;">&#8203;</span></p><a id="_7ce936ea_3474_4e0c_bf10_b2c53c016ad9"></a></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:91.06%;border:0;margin:30pt 4.47% 30pt 4.47%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="TOC"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Table of Contents</b></p><table style="background-color:auto;border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Page</b></p></td></tr><tr><td colspan="2" style="background-color:auto;vertical-align:bottom;width:93.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#INTRODUCTION_7698"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">INTRODUCTION</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">1</p></td></tr><tr><td colspan="2" style="background-color:auto;vertical-align:bottom;width:93.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#FORWARDLOOKINGINFORMATION_258409"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">FORWARD-LOOKING INFORMATION</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">3</p></td></tr><tr><td colspan="2" style="background-color:auto;vertical-align:bottom;width:93.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#PARTI_177571"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">PART I</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">4</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 7.2pt;"><a href="#ITEM1IDENTITYOFDIRECTORSSENIORMANAGEMENT"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ITEM 1.</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM1IDENTITYOFDIRECTORSSENIORMANAGEMENT"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">IDENTITY OF DIRECTORS, SENIOR MANAGEMENT AND ADVISERS</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">4</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 7.2pt;"><a href="#ITEM2OFFERSTATISTICSANDEXPECTEDTIMETABLE"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ITEM 2.</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM2OFFERSTATISTICSANDEXPECTEDTIMETABLE"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">OFFER STATISTICS AND EXPECTED TIMETABLE</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">4</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 7.2pt;"><a href="#ITEM3KEYINFORMATION_614860"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ITEM 3.</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM3KEYINFORMATION_614860"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">KEY INFORMATION</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">4</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 7.2pt;"><a href="#ITEM4INFORMATIONONTHECOMPANY_79732"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ITEM 4.</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM4INFORMATIONONTHECOMPANY_79732"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">INFORMATION ON THE COMPANY</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">40</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 7.2pt;"><a href="#ITEM4AUNRESOLVEDSTAFFCOMMENTS_703349"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ITEM 4A.</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM4AUNRESOLVEDSTAFFCOMMENTS_703349"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">UNRESOLVED STAFF COMMENTS</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">62</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 7.2pt;"><a href="#ITEM5OPERATINGANDFINANCIALREVIEWANDPROSP"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ITEM 5.</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM5OPERATINGANDFINANCIALREVIEWANDPROSP"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">OPERATING AND FINANCIAL REVIEW AND PROSPECTS</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">62</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 7.2pt;"><a href="#ITEM6DIRECTORSSENIORMANAGEMENTANDEMPLOYE"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ITEM 6.</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM6DIRECTORSSENIORMANAGEMENTANDEMPLOYE"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">DIRECTORS, SENIOR MANAGEMENT AND EMPLOYEES</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">88</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 7.2pt;"><a href="#ITEM7MAJORSHAREHOLDERSANDRELATEDPARTYTRA"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ITEM 7.</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM7MAJORSHAREHOLDERSANDRELATEDPARTYTRA"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">MAJOR SHAREHOLDERS AND RELATED PARTY TRANSACTIONS</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">107</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 7.2pt;"><a href="#ITEM8FINANCIALINFORMATION_288618"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ITEM 8.</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM8FINANCIALINFORMATION_288618"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">FINANCIAL INFORMATION</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">108</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 7.2pt;"><a href="#ITEM9THEOFFERANDLISTING_523589"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ITEM 9.</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM9THEOFFERANDLISTING_523589"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">THE OFFER AND LISTING</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">113</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 7.2pt;"><a href="#ITEM10ADDITIONALINFORMATION_800687"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ITEM 10.</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM10ADDITIONALINFORMATION_800687"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ADDITIONAL INFORMATION</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">113</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 7.2pt;"><a href="#ITEM11QUANTITATIVEANDQUALITATIVEDISCLOSU"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ITEM 11.</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM11QUANTITATIVEANDQUALITATIVEDISCLOSU"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">124</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 7.2pt;"><a href="#ITEM12DESCRIPTIONOFSECURITIESOTHERTHANEQ"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ITEM 12.</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM12DESCRIPTIONOFSECURITIESOTHERTHANEQ"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">DESCRIPTION OF SECURITIES OTHER THAN EQUITY SECURITIES</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">125</p></td></tr><tr><td colspan="2" style="background-color:auto;vertical-align:bottom;width:93.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#PARTII_599435"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">PART II</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">125</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 7.2pt;"><a href="#ITEM13DEFAULTSDIVIDENDARREARAGESANDDELIN"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ITEM 13.</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM13DEFAULTSDIVIDENDARREARAGESANDDELIN"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">DEFAULTS, DIVIDEND ARREARAGES AND DELINQUENCIES</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">125</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 7.2pt;"><a href="#ITEM14MATERIALMODIFICATIONSTOTHERIGHTSOF"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ITEM 14.</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM14MATERIALMODIFICATIONSTOTHERIGHTSOF"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">MATERIAL MODIFICATIONS TO THE RIGHTS OF SECURITY HOLDERS AND USE OF PROCEEDS</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">125</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 7.2pt;"><a href="#ITEM15CONTROLSANDPROCEDURES_777680"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ITEM 15.</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM15CONTROLSANDPROCEDURES_777680"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">CONTROLS AND PROCEDURES</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">125</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 7.2pt;"><a href="#ITEM16AAUDITCOMMITTEEFINANCIALEXPERT_528"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ITEM 16A.</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM16AAUDITCOMMITTEEFINANCIALEXPERT_528"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">AUDIT COMMITTEE FINANCIAL EXPERT</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">127</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 7.2pt;"><a href="#ITEM16BCODEOFETHICS_239445"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ITEM 16B.</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM16BCODEOFETHICS_239445"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">CODE OF ETHICS</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">127</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 7.2pt;"><a href="#ITEM16CPRINCIPALACCOUNTANTFEESANDSERVICE"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ITEM 16C.</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM16CPRINCIPALACCOUNTANTFEESANDSERVICE"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">PRINCIPAL ACCOUNTANT FEES AND SERVICES</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">128</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 7.2pt;"><a href="#ITEM16DEXEMPTIONSFROMTHELISTINGSTANDARDS"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ITEM 16D.</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM16DEXEMPTIONSFROMTHELISTINGSTANDARDS"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">EXEMPTIONS FROM THE LISTING STANDARDS FOR AUDIT COMMITTEES</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">128</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 7.2pt;"><a href="#ITEM16EPURCHASESOFEQUITYSECURITIESBYTHEI"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ITEM 16E.</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM16EPURCHASESOFEQUITYSECURITIESBYTHEI"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">PURCHASES OF EQUITY SECURITIES BY THE ISSUER AND AFFILIATED PURCHASERS</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">128</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 7.2pt;"><a href="#ITEM16FCHANGEINREGISTRANTSCERTIFYINGACCO"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ITEM 16F.</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM16FCHANGEINREGISTRANTSCERTIFYINGACCO"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">CHANGE IN REGISTRANT&#8217;S CERTIFYING ACCOUNTANT</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">129</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 7.2pt;"><a href="#ITEM16GCORPORATEGOVERNANCE_709109"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ITEM 16G.</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM16GCORPORATEGOVERNANCE_709109"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">CORPORATE GOVERNANCE</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">129</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 7.2pt;"><a href="#ITEM16HMINESAFETYDISCLOSURE_98133"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ITEM 16H.</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM16HMINESAFETYDISCLOSURE_98133"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">MINE SAFETY DISCLOSURE</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">129</p></td></tr><tr><td colspan="2" style="background-color:auto;vertical-align:bottom;width:93.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#PARTIII_868957"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">PART III</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">129</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 7.2pt;"><a href="#ITEM17FINANCIALSTATEMENTS_447947"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ITEM 17.</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM17FINANCIALSTATEMENTS_447947"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">FINANCIAL STATEMENTS</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">129</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 7.2pt;"><a href="#ITEM18FINANCIALSTATEMENTS_390910"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ITEM 18.</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM18FINANCIALSTATEMENTS_390910"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">FINANCIAL STATEMENTS</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">129</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 7.2pt;"><a href="#ITEM19EXHIBITS_403742"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">ITEM 19.</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:79.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#ITEM19EXHIBITS_403742"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">EXHIBITS</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">130</p></td></tr><tr><td colspan="2" style="background-color:auto;vertical-align:bottom;width:93.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#SIGNATURES_548624"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">SIGNATURES</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:6.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">131</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'SimSun';line-height:0pt;margin:0pt;"><span style="font-family:'Times New Roman';font-size:0pt;visibility:hidden;">&#8203;</span></p><a id="_2d3b48da_2258_4b00_9a8f_0fe0e98bdeec"></a></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="INTRODUCTION_7698"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">INTRODUCTION</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Unless otherwise indicated, references in this annual report on Form&#160;20-F to:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;AC&#8221; and &#8220;DC&#8221; refer to alternating current and direct current, respectively;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;AUD&#8221; and &#8220;Australian dollars&#8221; refer to the legal currency of Australia;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;BRL&#8221; and &#8220;Brazilian reals&#8221; refer to the legal currency of Brazil;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;China&#8221; and the &#8220;PRC&#8221; refer to the People&#8217;s Republic of China, excluding, for the purposes of this annual report on Form&#160;20-F, Taiwan and&#160;the special administrative regions of Hong Kong and&#160;Macau;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;COD&#8221; refers to commercial operation date;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;CSI&#8221;, &#8220;we&#8221;, &#8220;us&#8221;, &#8220;our company&#8221; and &#8220;our&#8221; refer to Canadian Solar&#160;Inc., a Canada corporation, its predecessor entities and its consolidated subsidiaries;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;C$&#8221; and &#8220;Canadian dollars&#8221; refer to the legal currency of Canada;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;EPC&#8221; refers to engineering, procurement and construction;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;EU&#8221; refers to the European Union;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;FIT&#8221; refers to feed-in tariff;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;GAAP&#8221; refers to generally accepted accounting principles;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;MSS&#8221; refers to module and system solutions;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;O&amp;M services&#8221; refers to operation and maintenance services;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;PPA&#8221; refers to power purchase agreement;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;PV&#8221; refers to photovoltaic. The photovoltaic effect is a process by which sunlight is converted into electricity;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;RMB&#8221; and &#8220;Renminbi&#8221; refer to the legal currency of China;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;U.S.&#8221; refers to the United States of America;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;SEC&#8221; refers to the U.S.&#160;Securities and Exchange Commission;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;shares&#8221; and &#8220;common shares&#8221; refer to common shares, with no par value, of Canadian Solar&#160;Inc.;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;THB&#8221; and &#8220;Thai Bhat&#8221; refer to the legal currency of Thailand;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;white-space:pre-wrap;"> &#8220;W&#8221;, &#8220;kW&#8221;, &#8220;MW&#8221; and &#8220;GW&#8221; refer to watts, kilowatts, megawatts and gigawatts, respectively;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;$&#8221;, &#8220;US$&#8221; and &#8220;U.S.&#160;dollars&#8221; refer to the legal currency of U.S.;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;&#8364;&#8221; and &#8220;Euros&#8221; refer to the legal currency of the Economic and Monetary Union of the European&#160;Union;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;&#163;&#8221;, &#8220;GBP&#8221; and &#8220;British pounds&#8221; refer to the legal currency of the United&#160;Kingdom;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;&#165;&#8221;, &#8220;JPY&#8221; and &#8220;Japanese yen&#8221; refer to the legal currency of Japan;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;ZAR&#8221; and &#8220;South African rand&#8221; refer to the legal currency of South Africa.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">This annual report on Form&#160;20-F includes our audited consolidated financial statements for the years ended December&#160;31, 2017, 2018 and 2019 and as of December&#160;31, 2018 and&#160;2019.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">1</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">We use the noon buying rate in The City of New York for cable transfers in Renminbi, Euros, British pounds, Japanese yen, Canadian dollars, Australian dollars, Thai Baht, Brazilian reals and South African rand per U.S. dollars as certified for customs purposes by the Federal Reserve Bank of New York to translate Renminbi, Euros, British pounds, Japanese yen, Canadian dollars, Australian dollars, Thai Baht, Brazilian reals and South African rand to U.S. dollars not otherwise recorded in our consolidated financial statements and included elsewhere in this annual report. Unless otherwise stated, the translation of Renminbi, Euros, British pounds, Japanese yen, Canadian dollars, Australian dollars, Thai Baht, Brazilian reals and South African rand into U.S. dollars was made by the noon buying rate in effect on December 31, 2019, which was RMB6.9618 to $1.00, &#8364;0.8907 to $1.00, &#163;0.7536 to $1.00, &#165;108.67 to $1.00, C$1.2962 to $1.00, AUD0.7030 to $1.00, THB29.7500 to $1.00, BRL4.0190 to $1.00 and ZAR13.9730 to $1.00. We make no representation that the Renminbi, Euros, British pounds, Japanese yen, Canadian dollars, Australian dollars, Thai Baht, Brazilian reals, South African rand or U.S. dollars amounts referred to in this annual report on Form 20-F could have been or could be converted into U.S. dollars, Euros, British pounds, Japanese yen, Canadian dollars, Australian dollars, Thai Baht, Brazilian reals South African rand or Renminbi, as the case may be, at any particular rate or at all. See &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Fluctuations in exchange rates could adversely affect our business, including our financial condition and results of operations.&#8221;</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_e79f5af1_f79b_4f0e_9597_7685265c5b20"></a></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">2</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="FORWARDLOOKINGINFORMATION_258409"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">FORWARD-LOOKING INFORMATION</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">This annual report on Form&#160;20-F contains forward-looking statements that relate to future events, including our future operating results, our prospects and our future financial performance and condition, results of operations, business strategy and financial needs, all of which are largely based on our current expectations and projections. These forward-looking statements are made under the &#8220;safe harbor&#8221; provisions of the U.S.&#160;Private Securities Litigation Reform Act of 1995. You can identify these statements by terminology such as &#8220;may,&#8221; &#8220;will,&#8221; &#8220;expect,&#8221; &#8220;anticipate,&#8221; &#8220;future,&#8221; &#8220;intend,&#8221; &#8220;plan,&#8221; &#8220;believe,&#8221; &#8220;estimate,&#8221; &#8220;is/are likely to&#8221; or similar expressions. Forward-looking statements involve inherent risks and uncertainties. These forward-looking statements include, among other things, statements relating&#160;to:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our expectations regarding the worldwide demand for electricity and the market for solar&#160;power;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our beliefs regarding the importance of environmentally friendly power generation;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our beliefs regarding the value of and ability to monetize our portfolio of solar power&#160;projects;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our expectations regarding governmental support for solar power;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our beliefs regarding the rate at which solar power technologies will be adopted and the continued growth of the solar power&#160;industry;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our beliefs regarding the competitiveness of our solar power products and&#160;services;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our expectations with respect to increased revenue growth and improved profitability;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our expectations regarding the benefits to be derived from our supply chain management and vertical integration manufacturing strategy;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our ability to continue developing our in-house solar component production capability and our expectations regarding the timing of the expansion of our internal production capacity;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our ability to secure adequate volumes of silicon, solar wafers and cells at competitive cost to support our solar module production;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our beliefs regarding the effects of environmental regulation;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our future business development, results of operations and financial condition;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">competition from other manufacturers of solar power products and conventional energy suppliers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our ability to successfully expand our range of products and services and to successfully execute plans for our energy&#160;segment;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;white-space:pre-wrap;">our ability to develop, build and sell solar power projects in Canada, the U.S., Japan, China, Argentina, Mexico, India,  Brazil, the United Kingdom, Australia, Italy, Namibia and elsewhere; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our beliefs with respect to the outcome of the investigations and litigation to which we are a&#160;party.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Known and unknown risks, uncertainties and other factors may cause our actual results, performance or achievements to be materially different from any future results, performance or achievements expressed or implied by forward-looking statements. See &#8220;Item&#160;3. Key Information&#8212;D.&#160;Risk Factors&#8221; for a discussion of some of the risk factors that may affect our business and results of operations. These risks are not exhaustive. Other sections of this annual report may include additional factors that could adversely influence our business and financial performance. Moreover, because we operate in an emerging and evolving industry, new risk factors may emerge from time to time. We cannot predict all risk factors, nor can we assess the impact of all or any of these factors on our business or the extent to which any factor, or combination of factors, may cause actual results to differ materially from those expressed or implied in any forward-looking statement. We do not undertake any obligation to update or revise the forward-looking statements except as required under applicable&#160;law.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><a id="_f5660c86_5663_4e5f_afb4_b658ba6aca2d"></a></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">3</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="PARTI_177571"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">PART I</b></p><a id="ITEM1IDENTITYOFDIRECTORSSENIORMANAGEMENT"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;1.&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">IDENTITY OF DIRECTORS, SENIOR MANAGEMENT AND ADVISERS</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_570c45cf_4942_4e93_861f_eb9ef3a9a5a9"></a><a id="ITEM2OFFERSTATISTICSANDEXPECTEDTIMETABLE"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;2.&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">OFFER STATISTICS AND EXPECTED TIMETABLE</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_f3330ed0_c81c_4340_bd6b_5f6193a0ce72"></a><a id="_Hlk20468705"></a><a id="_Hlk20468729"></a><a id="ITEM3KEYINFORMATION_614860"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITE</b><b style="font-weight:bold;">M&#160;3.&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">KEY INFORMATION</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">A.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Selected Financial Data</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Selected Consolidated Financial and Operating Data</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The following selected statement of operations data for the years ended December&#160;31, 2017, 2018 and 2019 and balance sheet data as of December&#160;31, 2018 and 2019 have been derived from our consolidated financial statements, which are included elsewhere in this annual report on Form&#160;20-F. You should read the selected consolidated financial and operating data in conjunction with those financial statements and the related notes and &#8220;Item&#160;5. Operating and Financial Review and Prospects&#8221; included elsewhere in this annual report on Form&#160;20-F.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our selected consolidated statement of operations data for the years ended December 31, 2015 and 2016 and our consolidated balance sheet data as of December 31, 2015, 2016 and 2017 were derived from our consolidated financial statements that are not included in this annual report.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">4</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">All of our financial statements are prepared and presented in accordance with U.S.&#160;generally accepted accounting principles, or U.S.&#160;GAAP. Our historical results are not necessarily indicative of results for any future&#160;periods.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="9" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:67.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For&#160;the&#160;years&#160;ended,&#160;or&#160;as&#160;of,&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2015</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2016</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="9" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:67.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;thousands&#160;of&#160;$,&#160;except&#160;share&#160;and&#160;per&#160;share&#160;data,&#160;and&#160;operating&#160;data&#160;and&#160;percentages)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Statement of operations data:</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,467,626</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,853,078</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,390,393</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,744,512</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,200,583</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Income from operations</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 247,371</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 93,164</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 269,345</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 364,657</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 258,879</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 173,316</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 65,275</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 102,983</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 242,431</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 166,555</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net income attributable to Canadian Solar&#160;Inc.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 171,861</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 65,249</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 99,572</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 237,070</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 171,585</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Earnings per share, basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3.08</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.13</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.71</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4.02</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2.88</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Shares used in computation, basic</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 55,728,903</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 57,524,349</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 58,167,004</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 58,914,540</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 59,633,855</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Earnings per share, diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2.93</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.12</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.69</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3.88</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2.83</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Shares used in computation, diluted</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 60,426,056</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 58,059,063</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 61,548,158</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 62,291,670</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 60,777,696</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Other financial data:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross margin</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16.6</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14.6</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18.8</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20.7</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 22.4</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Operating margin</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9.7</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net margin</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5.0</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2.3</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3.0</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6.5</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5.2</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Selected operating data:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Solar power products sold (in&#160;MW)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">&#8212;MSS segment<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,085.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,138.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,538.8</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,916.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,979.7</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">&#8212;Energy segment<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 298.8</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 65.7</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 354.3</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 901.1</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 435.2</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,383.8</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,203.8</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,893.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,817.2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,414.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Average selling price (in&#160;$ per watt)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">&#8212;Solar module</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.58</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.51</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.40</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.34</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.29</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Balance Sheet Data:</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net current assets (liabilities)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (392,231)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 69,697</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (22,709)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 125,964</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 160,939</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,413,928</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,406,606</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,889,627</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,892,658</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,467,207</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 832,510</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 899,390</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,059,775</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,272,845</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,425,058</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Long-term borrowings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 606,577</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 493,455</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 404,341</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 393,614</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 619,477</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 146,674</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 125,569</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 126,476</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 127,428</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Common shares</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 677,103</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 701,283</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 702,162</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 702,931</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 703,806</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:28.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Number of shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 55,965,443</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 57,830,149</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 58,496,685</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 59,180,624</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:9pt;text-align:right;margin:0pt 3pt 0pt 0pt;">59,371,684(3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Numbers are calculated after inter-segmentation elimination and represent solar power products sold to third&#160;parties.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Numbers are calculated after inter-segmentation elimination.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Excludes 609,516 common shares held as treasury stock as of December 31, 2019.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">B.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Capitalization and Indebtedness</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">5</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">C.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Reasons for the Offer and Use of Proceeds</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">D.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Risk Factors</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Risks Related to Our Company and Our Industry</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may be adversely affected by volatile solar power market and industry conditions; in particular, the demand for our solar power products and services may decline, which may reduce our revenues and&#160;earnings.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our business is affected by conditions in the solar power market and industry. We believe that the solar power market and industry may from time to time experience oversupply. When this occurs, many solar power project developers, solar system installers and solar power product distributors that purchase solar power products, including solar modules from manufacturers like us, may be adversely affected. Our shipments of solar modules slightly decreased in 2018 compared to 2017, and increased moderately in 2019. The average selling prices for our solar modules declined from the previous year in each of 2017, 2018 and 2019. Over the past several quarters, oversupply conditions across the value chain and foreign trade disputes have affected industry-wide demand and put pressure on average selling prices, resulting in lower revenue for many industry participants. If the supply of solar modules grows faster than demand, and if governments continue to reduce financial support for the solar industry and impose trade barriers for solar power products, demand and the average selling price for our products could be materially and adversely affected.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The solar power market is still at a relatively early stage of development and future demand for solar power products and services is uncertain. Market data for the solar power industry is not as readily available as for more established industries, where trends are more reliably assessed from data gathered over a longer period of time. In addition, demand for solar power products and services in our targeted markets, including Europe, the U.S., Japan, China, Brazil and India may not develop or may develop to a lesser extent than we anticipate. Many factors may affect the viability of solar power technology and the demand for solar power products, including:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the cost-effectiveness, performance and reliability of solar power products and services, including our solar power projects, compared to conventional and other renewable energy sources and products and&#160;services;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the availability of government subsidies and incentives to support the development of the solar power&#160;industry;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the availability and cost of capital, including long-term debt and tax equity, for solar power&#160;projects;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the success of other alternative energy technologies, such as wind power, hydroelectric power, geothermal power and biomass&#160;fuel;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">fluctuations in economic and market conditions that affect the viability of conventional and other renewable energy sources, such as increases or decreases in the prices of oil, gas and other fossil&#160;fuels;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">capital expenditures by end users of solar power products and services, which tend to decrease when the economy slows;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the availability of favorable regulation for solar power within the electric power industry and the broader energy industry.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">If solar power technology is not suitable for widespread adoption or if sufficient demand for solar power products and services does not develop or takes longer to develop than we anticipate, our revenues may suffer and we may be unable to sustain our profitability.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">6</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">The operating results of our energy segment and the mix of revenues from our MSS and energy segments may be subject to significant fluctuation due to a number of factors, including the unpredictability of the timing of the development and sale of our solar power projects and our inability to find third party buyers for our solar power projects in a timely manner, on favorable terms and conditions, or at&#160;all.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our energy segment develops, sells and/or operates and maintains solar power projects primarily in the U.S., Japan, China, Argentina, Mexico, India, Brazil, the United Kingdom, Australia, Italy and Namibia. Our solar project development activities have grown over the past several years through a combination of organic growth and acquisitions. After completing their development, we either sell our solar power projects to third party buyers, or operate them under PPAs or other contractual arrangements with utility companies or grid operators. Revenues from our energy segment increased by $571.1 million, or 5.4 times, from $106.4 million for the year ended December 31, 2016 to $677.5 million for the year ended December 31, 2017, and then increased by $898.1 million, or 1.3 times, to $1,575.6 million for the year ended December 31, 2018, and then decreased by $856.1 million, or 0.5 times, to $719.4 million for the year ended December 31, 2019. We intend to monetize the majority of our current portfolio of solar power projects in operation with an estimated resale value of approximately $1.0 billion as of January 31, 2020. We also intend to monetize certain of our projects before they reach COD. However, there is no assurance whether or when we will be able to realize their estimated resale value.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The operating results of our energy segment may be subject to significant period-over-period fluctuations for a variety of reasons, including but not limited to the unpredictability of the timing of the development and sale of our solar power projects, changes in market conditions after we have committed to projects, availability of project financing and changes in government regulations and policies, all of which may result in the cancellation of or delays in the development of projects, inability to monetize or delays in monetizing projects or changes in amounts realized on monetization of projects. If a project is canceled, abandoned or deemed unlikely to occur, we will charge all prior capital costs as an operating expense in the quarter in which such determination is made, which could materially adversely affect operating results.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Further, the mix of revenues from our MSS and energy segments can fluctuate dramatically from quarter to quarter, which may adversely affect our margins and financial results in any given&#160;period.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Any of the foregoing may cause us to miss our financial guidance for a given period, which could adversely impact the market price for our common stock and our&#160;liquidity.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">The execution of our growth strategy depends upon the continued availability of third-party financing arrangements for our customers, which is affected by general economic conditions. Tight credit markets could depress demand or prices for solar power products and services, hamper our expansion and materially affect our results of&#160;operations.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Most solar power projects, including our own, require financing for development and construction with a mixture of equity and third-party funding. The cost of capital affects both the demand and price of solar power systems. A high cost of capital may materially reduce the internal rate of return for solar power projects and therefore put downward pressure on the prices of both solar systems and solar modules, which typically comprise a major part of the cost of solar power&#160;projects.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">7</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Furthermore, solar power projects compete for capital with other forms of fixed income investments such as government and corporate bonds. Some classes of investors compare the returns of solar power projects with bond yields and expect a similar or higher internal rate of return, adjusted for risk and liquidity. Higher interest rates could increase the cost of existing funding and present an obstacle for future funding that would otherwise spur the growth of the solar power industry. In addition, higher bond yields could result in increased yield expectations for solar power projects, which would result in lower system prices. In the event that suitable funding is unavailable, our customers may be unable to pay for products they have agreed to purchase. It may also be difficult to collect payments from customers facing liquidity challenges due to either customer defaults or financial institution defaults on project loans. Constricted credit markets may impede our expansion plans and materially and adversely affect our results of operations. The cash flow of a solar power project is often derived from government-funded or government-backed FITs. Consequently, the availability and cost of funding solar power projects is determined in part based on the perceived sovereign credit risk of the country where a particular project is located.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In light of the uncertainty in the global credit and lending environment, we cannot make assurances that financial institutions will continue to offer funding to solar power project developers at reasonable costs. An increase in interest rates or a decrease in funding of capital projects within the global financial market could make it difficult to fund solar power systems and potentially reduce the demand for solar modules and/or reduce the average selling prices for solar modules, which may materially and adversely affect our business, results of operations, financial condition and&#160;prospects.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our future success depends partly on our ability to expand the pipeline of our energy segment in several key markets, which exposes us to a number of risks and uncertainties.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Historically, our MSS segment has accounted for the majority of our net revenues, contributing 80.0%, 57.9% and 77.5% of our net revenues in 2017, 2018 and 2019, respectively. We have, in recent years, increased our investment in, and management attention on, our energy segment, which primarily consists of solar power project development and sale, operating solar power projects and sale of electricity.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">While we plan to continue to monetize our current portfolio of solar power projects in operation, we also intend to grow our energy segment by developing and selling or operating more solar projects, including those that we develop and those that we acquire from third-parties. As we do, we will be increasingly exposed to the risks associated with these activities. Further, our future success largely depends on our ability to expand our solar power project pipeline. The risks and uncertainties associated with our energy segment and our ability to expand our solar power project pipeline include:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the uncertainty of being able to sell the projects, receive full payment for them upon completion, or receive payment in a timely&#160;manner;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the need to raise significant additional funds to develop greenfield or purchase late-stage solar power projects, which we may be unable to obtain on commercially reasonable terms or at&#160;all;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">delays and cost overruns as a result of a number of factors, many of which are beyond our control, including delays in regulatory approvals, construction, grid-connection and customer acceptance testing;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">delays or denial of required regulatory approvals by relevant government authorities;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">diversion of significant management attention and other resources; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">failure to execute our project pipeline expansion plan effectively.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">If we are unable to successfully expand our energy segment, and, in particular, our solar power project pipeline, we may be unable to expand our business, maintain our competitive position, improve our profitability and generate cash&#160;flows.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">8</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Governments may revise, reduce or eliminate subsidies and economic incentives for solar energy, which could cause demand for our products to&#160;decline.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The market for on-grid applications, where solar power supplements the electricity a customer purchases from the utility network or sells to a utility under a FIT, depends largely on the availability and size of government subsidy programs and economic incentives. At present, the cost of solar power exceeds retail electricity rates in many locations. Government incentives vary by geographic market. Governments in many countries have provided incentives in the form of FITs, rebates, tax credits, renewable portfolio standards and other incentives. These governments have implemented mandates to end-users, distributors, system integrators and manufacturers of solar power products to promote the use of solar energy in on-grid applications and to reduce dependency on other forms of energy. Some of these government mandates and economic incentives have been or are scheduled to be reduced or eliminated altogether. It is likely that this trend will continue, and that, eventually, subsidies for solar energy will be phased out completely. Over the past few years, the cost of solar energy has declined and the industry has become less dependent on government subsidies and economic incentives. However, some of our largest markets still rely on government subsidies and economic incentives. We believe that the near-term growth of the market still depends in large part on the availability and size of such government subsidies and economic incentives.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">While solar power projects may continue to offer attractive internal rates of return, it is unlikely that these rates will be as high as they were in the past. If internal rates of return fall below an acceptable rate for project investors, and governments continue to reduce or eliminate subsidies for solar energy, this may cause a decrease in demand and considerable downward pressure on solar systems and therefore negatively impact both solar module prices and the value of our solar power projects. The reduction, modification or elimination of government subsidies and economic incentives in one or more of our markets could therefore materially and adversely affect the growth of such markets or result in increased price competition, either of which could cause our revenues to decline and harm our financial results.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">General global economic conditions may have an adverse impact on our operating performance and results of&#160;operations.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The demand for solar power products and services is influenced by macroeconomic factors, such as global economic conditions, demand for electricity, supply and prices of other energy products, such as oil, coal and natural gas, as well as government regulations and policies concerning the electric utility industry, the solar and other alternative energy industries and the environment. As a result of global economic conditions, some governments may implement measures that reduce the FITs and other subsidies designed to benefit the solar industry. During 2017, 2018 and 2019, a decrease in solar power tariffs in many markets placed downward pressure on the price of solar systems in those and other markets. In addition, reductions in oil and coal prices may reduce the demand for and the prices of solar power products and services. Our growth and profitability depend on the demand for and the prices of solar power products and services. If we experience negative market and industry conditions and demand for solar power projects and solar power products and services weakens as a result, our business and results of operations may be adversely affected.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">9</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Imposition of antidumping and countervailing duty orders or safeguard measures in one or more markets may result in additional costs to our customers, which could materially or adversely affect our business, results of operations, financial conditions and future prospects.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have been in the past, and may be in the future, subject to the imposition of antidumping and countervailing duty orders in one or more of the markets in which we sell our products. In the past, we have been subject to the imposition of antidumping and countervailing duty orders in the U.S., the EU and Canada and have, as a result, been party to lengthy proceedings related thereto. See &#8220;Item 8. Financial Information&#8212;A. Consolidated Statements and Other Financial Information&#8212;Legal and Administrative Proceedings.&#8221; The U.S. and the EU are important markets for us. Ongoing proceedings relating to past, and the imposition of any new, antidumping and countervailing duty orders or safeguard measures in these markets may result in additional costs to us and/or our customers, which may materially and adversely affect our business, results of operations, financial conditions and future prospects.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our project development and construction activities may not be successful, projects under development may not receive required permits, property rights, EPC agreements, interconnection and transmission arrangements, and financing or construction of projects may not commence or continue as scheduled, all of which could increase our costs, delay or cancel a project, and have a material adverse effect on our revenue and profitability.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The development and construction of solar power projects involve known and unknown risks. We may be required to invest significant amounts of money for land and interconnection rights, preliminary engineering and permitting and may incur legal and other expenses before we can determine whether a project is feasible. Success in developing a particular project is contingent upon, among other&#160;things:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">securing land rights and related permits, including satisfactory environmental assessments;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">receipt of required land use and construction permits and approvals;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">receipt of rights to interconnect to the electric grid;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">availability of transmission capacity, potential upgrade costs to the transmission grid and other system constraints;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">payment of interconnection and other deposits (some of which are non-refundable);</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">negotiation of satisfactory EPC agreements; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">obtaining construction financing, including debt, equity and tax credits.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In addition, successful completion of a particular project may be adversely affected by numerous factors, including:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">delays in obtaining and maintaining required governmental permits and&#160;approvals;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">potential challenges from local residents, environmental organizations, and others who may not support the&#160;project;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">unforeseen engineering problems; subsurface land conditions; construction delays; cost over-runs; labor, equipment and materials supply shortages or disruptions (including labor&#160;strikes);</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">additional complexities when conducting project development or construction activities in foreign jurisdictions, including compliance with the U.S.&#160;Foreign Corrupt Practices Act and other applicable local laws and customs;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">force majeure events, including adverse weather conditions, pandemics and other events beyond our&#160;control.</span></td></tr></table><div style="margin-top:6pt;"></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">10</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we are unable to complete the development of a solar power project or we fail to meet any agreed upon system-level capacity or energy output guarantees or warranties (including our 25&#160;year power output performance guarantees) or other contract terms, or our projects cause grid interference or other damage, the EPC or other agreements related to the project may be terminated and/or we may be subject to significant damages, penalties and other obligations relating to the project, including obligations to repair, replace or supplement materials for the&#160;project.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We may enter into fixed-price EPC agreements in which we act as the general contractor for our customers in connection with the installation of their solar power systems. All essential costs are estimated at the time of entering into the EPC agreement for a particular project, and these costs are reflected in the overall fixed price that we charge our customers for the project. These cost estimates are preliminary and may or may not be covered by contracts between us and the subcontractors, suppliers and other parties involved in the project. In addition, we require qualified, licensed subcontractors to install most of our solar power systems. Shortages of skilled labor could significantly delay a project or otherwise increase our costs. Should miscalculations in planning a project occur, including those due to unexpected increases in commodity prices or labor costs, or delays in execution occur and we are unable to increase the EPC sales price commensurately, we may not achieve our expected margins or our results of operations may be adversely affected.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Developing and operating solar power projects exposes us to different risks than producing solar&#160;modules.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The development of solar power projects can take many months or years to complete and may be delayed for reasons beyond our control. It often requires us to make significant up-front payments for, among other things, land rights and permitting in advance of commencing construction, and revenue from these projects may not be recognized for several additional months following contract signing. Any inability or significant delays in entering into sales contracts with customers after making such up-front payments could adversely affect our business and results of operations. Furthermore, we may become constrained in our ability to simultaneously fund our other business operations and invest in other&#160;projects.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In contrast to producing solar modules, developing solar power projects requires more management attention to negotiate the terms of our engagement and monitor the progress of the projects which may divert management&#8217;s attention from other matters. Our revenue and liquidity may be adversely affected to the extent the market for solar power projects weakens or we are not able to successfully complete the customer acceptance testing due to technical difficulties, equipment failure, or adverse weather, and we are unable to sell our solar power projects at prices and on terms and timing that are acceptable to&#160;us.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our energy segment also includes operating solar power projects and selling electricity to the local or national grid or other power purchasers. As a result, we are subject to a variety of risks associated with intense market competition, changing regulations and policies, insufficient demand for solar power, technological advancements and the failure of our power generation facilities.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">11</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We face a number of risks involving PPAs and project-level financing arrangements, including failure or delay in entering into PPAs, defaults by counterparties and contingent contractual terms such as price adjustment, termination, buy-out, acceleration and other clauses, all of which could materially and adversely affect our energy segment, financial condition, results of operations and cash&#160;flows.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We may not be able to enter into PPAs for our solar power projects due to intense competition, increased supply of electricity from other sources, reduction in retail electricity prices, changes in government policies or other factors. There is a limited pool of potential buyers for electricity generated by our solar power plants since the transmission and distribution of electricity is either monopolized or highly concentrated in most jurisdictions. The willingness of buyers to purchase electricity from an independent power producer may be based on a number of factors and not solely on pricing and surety of supply. Failure to enter into PPAs on terms favorable to us, or at all, would negatively impact our revenue and our decisions regarding the development of additional power plants. We may experience delays in entering into PPAs for some of our solar power projects or may not be able to replace an expiring PPA with a contract on equivalent terms and conditions, or otherwise at prices that permit operation of the related facility on a profitable basis. Any delay in entering into PPAs may adversely affect our ability to enjoy the cash flows generated by such projects. If we are unable to replace an expiring PPA with an acceptable new PPA, the affected site may temporarily or permanently cease operations, which could materially and adversely affect our financial condition, results of operations and cash&#160;flows.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Substantially all of the electric power generated by our solar power projects will be sold under long-term PPAs with public utilities, licensed suppliers or commercial, industrial or government end users. We expect our future projects will also have long-term PPAs or similar offtake arrangements such as FIT programs. If, for any reason, any of the purchasers of power under these contracts are unable or unwilling to fulfill their related contractual obligations, they refuse to accept delivery of the power delivered thereunder or they otherwise terminate them prior to their expiration, our assets, liabilities, business, financial condition, results of operations and cash flows could be materially and adversely affected. Further, to the extent any of our power purchasers are, or are controlled by, governmental entities, our facilities may be subject to legislative or other political action that may impair their contractual performance or contain contractual remedies that do not provide adequate compensation in the event of a counterparty default.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Some of our PPAs are subject to price adjustments over time. If the price under any of our PPAs is reduced below a level that makes a project economically viable, our financial conditions, cash flow and results of operations could be materially and adversely affected. Further, some of our long-term PPAs do not include inflation-based price increases. Certain of the PPAs for our own projects and those for projects that we have acquired and may acquire in the future contain or may contain provisions that allow the offtake purchaser to terminate or buy out the project or require us to pay liquidated damages upon the occurrence of certain events. If these provisions are exercised, our financial condition, results of operations and cash flows could be materially and adversely affected. Additionally, certain of the project-level financing arrangements for projects allow, and certain of the projects that we may acquire in the future may allow, the lenders or investors to accelerate the repayment of the financing arrangement in the event that the related PPA is terminated or if certain operating thresholds or performance measures are not achieved within specified time periods. Certain of our PPAs and project-level financing arrangements include, and in the future may include, provisions that would permit the counterparty to terminate the contract or accelerate maturity in the event we own, directly or indirectly, less than 50% of the combined voting power or, in some cases, if we cease to be the majority owner, directly or indirectly, of the applicable project subsidiary. The termination of any of our PPAs or the acceleration of the maturity of any of our financing arrangements as a result of a change-in-control event could have a material adverse effect on our financial condition, results of operations and cash&#160;flows.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">12</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">If the supply of solar wafers and cells increases in line with increases in the supply of polysilicon, then the corresponding oversupply of solar wafers, cells and modules may cause substantial downward pressure on the prices of our products and reduce our revenues and&#160;earnings.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Silicon production capacity has expanded rapidly in recent years. As a result of this expansion, coupled with the global economic downturn, the solar industry has experienced an oversupply of high-purity silicon since the beginning of 2009. This has contributed to an oversupply of solar wafers, cells and modules and resulted in substantial downward pressure on prices throughout the value chain. The average selling price of our solar modules decreased from $0.58 per watt in 2015 to $0.51 per watt in 2016, $0.40 per watt in 2017, $0.34 per watt in 2018 and $0.29 per watt in 2019. Although we believe that there is a relative balance between capacity and demand at low prices due to industry consolidation, increases in solar module production in excess of market demand may result in further downward pressure on the price of solar wafers, cells and modules, including our products. Increasing competition could also result in us losing sales or market share. Moreover, due to fluctuations in the supply and price of solar power products throughout the value chain, we may not be able, on an ongoing basis, to procure silicon, wafers and cells at reasonable costs if any of the above risks materializes. If, on an ongoing basis, we are unable to procure silicon, solar wafers and solar cells at reasonable prices or mark up the price of our solar modules to cover our manufacturing and operating costs, our revenues and margins will be adversely impacted, either due to higher costs compared to our competitors or due to further write-downs of inventory, or both. In addition, our market share could decline if our competitors are able to price their products more competitively.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We are subject to numerous laws, regulations and policies at the national, regional and local levels of government in the markets where we do business. Any changes to these laws, regulations and policies may present technical, regulatory and economic barriers to the purchase and use of solar power products, solar projects and solar electricity, which may significantly reduce demand for our products and services or otherwise adversely affect our financial performance.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are subject to a variety of laws and regulations in the markets where we do business, some of which may conflict with each other and all of which are subject to change. These laws and regulations include energy regulations, export and import restrictions, tax laws and regulations, environmental regulations, labor laws and other government requirements, approvals, permits and licenses. We also face trade barriers and trade remedies such as export requirements, tariffs, taxes and other restrictions and expenses, including antidumping and countervailing duty orders, which could increase the prices of our products and make us less competitive in some countries. See &#8220;&#8212;Imposition of antidumping and countervailing duty orders or safeguard measures in one or more markets may result in additional costs to our customers, which could materially or adversely affect our business, results of operations, financial conditions and future prospects.&#8221;</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In the countries where we do business, the market for solar power products, solar projects and solar electricity is heavily influenced by national, state and local government regulations and policies concerning the electric utility industry, as well as policies disseminated by electric utilities. These regulations and policies often relate to electricity pricing and technical interconnection of customer-owned electricity generation, and could deter further investment in the research and development of alternative energy sources as well as customer purchases of solar power technology, which could result in a significant reduction in the potential demand for our solar power products, solar projects and solar electricity.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In our MSS segment, we expect that our solar power products and their installation will continue to be subject to national, state and local regulations and policies relating to safety, utility interconnection and metering, construction, environmental protection, and other related matters. Any new regulations or policies pertaining to our solar power products may result in significant additional expenses to us, our resellers and customers, which could cause a significant reduction in demand for our solar power&#160;products.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">13</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In our energy segment, we are subject to numerous national, regional and local laws and regulations. Changes in applicable energy laws or regulations, or in the interpretations of these laws and regulations, could result in increased compliance costs or the need for additional capital expenditures. If we fail to comply with these requirements, we could also be subject to civil or criminal liability and the imposition of fines. Further, national, regional or local regulations and policies could be changed to provide for new rate programs that undermine the economic returns for both new and existing projects by charging additional, non-negotiable fixed or demand charges or other fees or reductions in the number of projects allowed under net metering policies. National, regional or local government energy policies, law and regulation supporting the creation of wholesale energy markets are currently, and may continue to be, subject to challenges, modifications and restructuring proposals, which may result in limitations on the commercial strategies available to us for the sale of our&#160;power.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Regulatory changes in a jurisdiction where we are developing a solar power project may make the continued development of the project infeasible or economically disadvantageous and any expenditure that we have previously made on the project may be wholly or partially written off. Any of these changes could significantly increase the regulatory related compliance and other expenses incurred by the projects and could significantly reduce or entirely eliminate any potential revenues that can be generated by one or more of the projects or result in significant additional expenses to us, our offtakers and customers, which could materially and adversely affect our business, financial condition, results of operations and cash&#160;flows.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We also face regulatory risks imposed by various transmission providers and operators, including regional transmission operators and independent system operators, and their corresponding market rules. These regulations may contain provisions that limit access to the transmission grid or allocate scarce transmission capacity in a particular manner, which could materially and adversely affect our business, financial condition, results of operations and cash&#160;flows.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We are also subject to the Foreign Corrupt Practices Act of 1977, or the FCPA, the U.S.&#160;domestic bribery statute contained in 18&#160;U.S.C. &#167;&#160;201, the U.S.&#160;Travel Act, the USA PATRIOT Act and other anti-corruption laws that prohibit companies and their employees and third-party intermediaries from authorizing, offering or providing, directly or indirectly, improper payments or benefits to foreign government officials, political parties and private-sector recipients for the purpose of obtaining or retaining business in countries in which we conduct activities. We face significant liabilities if we fail to comply with these laws. We may have direct or indirect interactions with officials and employees of government agencies or state-owned or affiliated entities. For example, in China, we may contract with and sell electricity to the national grid, a state-owned enterprise. In other countries where we develop, acquire or sell solar projects, we need to obtain various approvals, permits and licenses from the local or national governments. We can be held liable for the illegal activities of our employees, representatives, contractors, partners, and agents, even if we do not explicitly authorize such activities. Any violation of the FCPA or other applicable anticorruption laws could result in whistleblower complaints, adverse media coverage, investigations, loss of export privileges, severe criminal or civil sanctions, which could have a material adverse effect on our business, financial condition, results of operation, cash flows and reputation. In addition, responding to any enforcement action may result in the diversion of management&#8217;s attention and resources, significant defense costs and other professional&#160;fees.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">14</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Because the markets in which we compete are highly competitive and evolving quickly, because many of our competitors have greater resources than we do or are more adaptive, and because we have a limited track record in our energy segment, we may not be able to compete successfully and we may not be able to maintain or increase our market&#160;share.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In our MSS segment, we face intense competition from a large number of competitors, including non-China-based companies such as First Solar, Inc., or First Solar, and SunPower Corporation, or SunPower, and China-based companies such as LONGI Green Energy Technology Co. Ltd., or Longi, Trina Solar Limited, or Trina, JinkoSolar Holding Co., Limited, or Jinko, JA Solar Co., Limited, or JA Solar, and Hanwha Q Cells Co., Ltd., or Hanwha Q Cells. Some of our competitors are developing or are currently producing products based on new solar power technologies that may ultimately have costs similar to or lower than our projected costs. These include products based on thin film PV technology, which requires either no silicon or significantly less silicon to produce than crystalline silicon solar modules, such as the ones that we produce, and is less susceptible to increases in silicon costs. Some of our competitors have longer operating histories, greater name and brand recognition, access to larger customer bases, greater resources and significantly greater economies of scale than we do. In addition, some of our competitors may have stronger relationships or may enter into exclusive relationships with some of the key distributors or system integrators to whom we sell our products. As a result, they may be able to respond more quickly to changing customer demands or devote greater resources to the development, promotion and sales of their products. Some of our competitors have more diversified product offerings, which may better position them to withstand a decline in demand for solar power products. Some of our competitors are more vertically integrated than we are, from upstream silicon wafer manufacturing to solar power system integration. This may allow them to capture higher margins or have lower costs. In addition, new competitors or alliances among existing competitors could emerge and rapidly acquire significant market share. If we fail to compete successfully, our business will suffer and we may not be able to maintain or increase our market share.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In our energy segment, we compete in a more diversified and complicated landscape since the commercial and regulatory environments for solar power project development and operation vary significantly from region to region and country to country. Our primary competitors are local and international developers and operators of solar power projects. Some of our competitors may have advantages over us in terms of greater experience or resources in the operation, financing, technical support and management of solar power projects, in any particular markets or in&#160;general.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our energy segment has a global footprint and develops solar power projects primarily in the U.S., Japan, China, Argentina, Mexico, India, Brazil, the United Kingdom, Australia, Italy and Namibia. There is no guarantee that we can compete successfully in the markets in which we currently operate or the ones we plan to enter in the future. For example, in certain of our target markets, such as China, state-owned and private companies have emerged to take advantage of the significant market opportunity created by attractive financial incentives and favorable regulatory environment provided by the governments. State-owned companies may have stronger relationships with local governments in certain regions and private companies may be more focused and experienced in developing solar power projects in the markets where we compete. Accordingly, we need to continue to be able to compete against both state-owned and private companies in these markets. Our energy segment also provides EPC services. We face intense competition from other service providers in those markets.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Since our energy segment includes electricity generation and sale, we believe that our primary competitors in the electricity generation markets in which we operate are the incumbent utilities that supply energy to our potential customers under highly regulated rate and tariff structures. We compete with these conventional utilities primarily based on price, predictability of price, reliability of delivery and the ease with which customers can switch to electricity generated by our solar energy projects.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As the solar power and renewable energy industry grows and evolves, we will also face new competitors who are not currently in the market. Our failure to adapt to changing market conditions and to compete successfully with existing or new competitors will limit our growth and will have a material adverse effect on our business and&#160;prospects.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">15</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We face risks associated with the marketing, distribution and sale of our solar power products and services internationally.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The international marketing, sale, distribution and delivery of our products and services expose us to a number of risks, including:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">fluctuating sources of revenues;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">difficulties in staffing and managing overseas operations;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">fluctuations in foreign currency exchange rates;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">differing regulatory and tax regimes across different markets;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the increased cost of understanding local markets and trends and developing and maintaining an effective marketing and distribution presence in various countries;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the difficulty of providing customer service and support in various countries;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the difficulty of managing our sales channels effectively as we expand beyond distributors to include direct sales to systems integrators, end users and&#160;installers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the difficulty of managing the development, construction and sale of our solar power projects on a timely and profitable basis as a result of technical difficulties, commercial disputes with our customers and changes in regulations, among other&#160;factors;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the difficulties and costs of complying with the different commercial, legal and regulatory requirements in the overseas markets in which we&#160;operate;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">any failure to develop appropriate risk management and internal control structures tailored to overseas operations;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">any inability to obtain, maintain or enforce intellectual property rights;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">any unanticipated changes in prevailing economic conditions and regulatory requirements;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">any trade barriers such as export requirements, tariffs, taxes and other restrictions and expenses, which could increase the prices of our products and make us less competitive in some&#160;countries.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we are unable to effectively manage these risks, our ability to expand our business abroad could&#160;suffer.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our revenue sources have fluctuated significantly over recent years. For example, in 2008, 89.5% of our revenues were attributable to Europe, while only 4.6% and 5.9% were attributable to the Americas and to Asia and other regions, respectively. However, in 2017, Europe and other regions contributed 10.5% while the Americas contributed 32.7% and Asia contributed 56.8% of our revenues; in 2018, Europe and other regions contributed 18.6% while the Americas contributed 39.4% and Asia contributed 42.0% of our revenues; and in 2019, Europe and other regions contributed 24.4% while the Americas contributed 43.8% and Asia contributed 31.8% of our revenues. As we shift the focus of our operations between different regions of the world, we have limited time to prepare for and address the risks identified above. Furthermore, some of these risks, such as currency fluctuations, will increase as our revenue contribution from certain global regions becomes more prominent. This may adversely influence our financial performance.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">16</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our future business depends in part on our ability to make strategic acquisitions, investments and divestitures and to establish and maintain strategic relationships, and our failure to do so could have a material and adverse effect on our market penetration and revenue&#160;growth.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We frequently look for and evaluate opportunities to acquire other businesses, make strategic investments or establish strategic relationships with third parties to improve our market position or expand our products and services. When market conditions permit and opportunities arise, we may also consider divesting part of our current business to focus management attention and improve our operating efficiency. Investments, strategic acquisitions and relationships with third parties could subject us to a number of risks, including risks associated with integrating their personnel, operations, services, internal controls and financial reporting into our operations as well as the loss of control of operations that are material to our business. If we divest any material part of our business, particularly our upstream manufacturing business or downstream energy business, we may not be able to benefit from our investment and experience associated with that part of the business and may be subject to intensified concentration risks with less flexibility to respond to market fluctuations. Moreover, it could be expensive to make strategic acquisitions, investments, divestitures and establish and maintain relationships, and we may be subject to the risk of non-performance by a counterparty, which may in turn lead to monetary losses that materially and adversely affect our business. We cannot assure you that we will be able to successfully make strategic acquisitions and investments and successfully integrate them into our operations, or make strategic divestitures or establish strategic relationships with third parties that will prove to be effective for our business. Our inability to do so could materially and adversely affect our market penetration, our revenue growth and our profitability.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our significant international operations expose us to a number of risks, including unfavorable political, regulatory, labor and tax conditions in the countries where we&#160;operate.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We intend to continue to extend our global reach and capture market share in various global markets. In doing so, we will be exposed to various risks, including political, regulatory, labor and tax risks. However, many perceive globalization to be in retreat and protectionism on the rise, as evidenced by the decision of the United Kingdom to leave the EU and the decision of U.S. President Donald Trump, to impose punitive tariffs on goods imported from China and renegotiate certain trade arrangements, such as the North American Free Trade Agreement. If trade tensions increase among the U.S., China and other countries, it may have a material adverse effect on our international operations. Furthermore, we may need to make substantial investments in our overseas operations, both initially and on an ongoing basis, in order to attain longer-term sustainable returns. These investments could negatively impact our financial performance before sustainable profitability is recognized.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">17</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We face risks related to private securities litigation.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our company and certain of our directors and executive officers were named as defendants in class action lawsuits in the U.S. and Canada alleging that our financial disclosures during 2009 and early 2010 were false or misleading and in violation of U.S. federal securities laws and Ontario securities laws, respectively. The lawsuits in the U.S. were consolidated into one class action, which was dismissed with prejudice by the district court in March 2013. The dismissal was subsequently affirmed by the circuit court in December 2013. The lawsuit in Canada is still on-going. As a preliminary matter, we challenged the Ontario Court&#8217;s jurisdiction to hear the plaintiff&#8217;s claim, but this motion was unsuccessful. In September 2014, the plaintiff obtained an order granting him leave to assert the statutory cause of action under the Ontario Securities Act for certain of his misrepresentation claims. In January 2015, the plaintiff obtained an order for class certification in respect of the claims for which he obtained leave to assert the statutory cause of action under the Ontario Securities Act, for certain negligent misrepresentation claims and for oppression remedy claims advanced under the Canada Business Corporations Act, or CBCA. The Court dismissed our application for leave to appeal. The class action is at the merits stage and the common issues trial is scheduled to proceed in November 2020. See &#8220;Item 8. Financial Information&#8212;A. Consolidated Statements and Other Financial Information&#8212;Legal and Administrative Proceedings.&#8221; If the case goes to trial, the Canadian action could require significant management time and attention and result in significant legal expenses. There is no guarantee that we will not become party to additional lawsuits. In addition, we are generally obligated, to the extent permitted by law, to indemnify our directors and officers who are named defendants in these lawsuits. If we were to lose a lawsuit, we may be required to pay judgments or settlements and incur expenses in aggregate amounts that could have a material and adverse effect on our financial condition or results of operations.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our quarterly operating results may fluctuate from period to period.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our quarterly operating results may fluctuate from period to period based on a number of factors, including:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the average selling prices of our solar power products and services;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the timing of completion of construction of our solar power projects;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the timing and pricing of project sales;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">changes in payments from power purchasers of solar power plants already in&#160;operation;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the rate and cost at which we are able to expand our internal production capacity;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the availability and cost of solar cells and wafers from our suppliers and toll manufacturers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the availability and cost of raw materials, particularly high-purity silicon;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">changes in government incentive programs and regulations, particularly in our key and target&#160;markets;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the unpredictable volume and timing of customer orders;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the loss of one or more key customers or the significant reduction or postponement of&#160;orders;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the availability and cost of external financing for on-grid and off-grid solar power applications;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">acquisition and investment costs;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the timing of successful completion of customer acceptance testing of our solar power&#160;projects;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">geopolitical turmoil and natural disasters within any of the countries in which we&#160;operate;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">foreign currency fluctuations, particularly in British pounds, Renminbi, Canadian dollars, Japanese yen, Euros, Brazilian reals, South African rand and Thailand Baht;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our ability to establish and expand customer relationships;</span></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">18</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">changes in our manufacturing costs;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the timing of new products or technology introduced or announced by our competitors;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">fluctuations in electricity rates due to changes in fossil fuel prices or other&#160;factors;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">allowances for doubtful accounts and advances to suppliers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">inventory write-downs;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">impairment of property, plant and equipment;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">impairment of project assets;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">impairment of investments in affiliates;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">depreciation charges relating to under-utilized assets;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">construction progress of solar power projects and related revenue recognition;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">antidumping, countervailing and other duty costs and true-up charges</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We base our planned operating expenses in part on our expectations of future revenues. A significant portion of our expenses will be fixed in the short-term. If our revenues for a particular quarter are lower than we expect, we may not be able to reduce our operating expenses proportionately, which would harm our operating results for the quarter. As a result, our results of operations may fluctuate from quarter to quarter and our interim and annual financial results may differ from our historical performance.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Fluctuations in exchange rates could adversely affect our business, including our financial condition and results of&#160;operations.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The majority of our sales in 2017, 2018 and 2019 were denominated in U.S. dollars, Renminbi and Japanese yen, with the remainder in other currencies such as Euros, Brazilian reals, Australian dollars and Canadian dollars. The majority of our costs and expenses in 2017, 2018 and 2019 were denominated in Renminbi and were primarily related to the sourcing of solar cells, silicon wafers and silicon, other raw materials, including aluminium and silver paste, toll manufacturing fees, labor costs and local overhead expenses within the PRC. From time to time, we enter into loan arrangements with commercial banks that are denominated primarily in Renminbi, U.S. dollars and Japanese yen. Most of our cash and cash equivalents and restricted cash are denominated in Renminbi. Fluctuations in exchange rates, particularly between the U.S. dollars, Renminbi, British pounds, Canadian dollars, Japanese yen, Euros, Brazilian reals, South African rand and Thailand Baht may result in foreign exchange gains or losses. We recorded net foreign exchange loss of $23.4 million in 2017, and net foreign exchange gain of $6.5 million and $10.4 million in 2018 and 2019, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The value of the Renminbi against the U.S. dollars, the Euros and other currencies is affected by, among other things, changes in China&#8217;s political and economic conditions and China&#8217;s foreign exchange policies. We cannot provide any assurances that the policy of the PRC government will not affect, or the manner in which it may affect the exchange rate between the Renminbi and the U.S. dollars or other foreign currencies in the future.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">19</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Since 2008, we have hedged part of our foreign currency exposures against the U.S. dollars using foreign currency forward or option contracts. In addition to the requirement to provide collateral when entering into hedging contracts, there are notional limits on the size of the hedging transactions that we may enter into with any particular counterparty at any given time. While these contracts are intended to reduce the effects of fluctuations in foreign currency exchange rates, our hedging strategy does not mitigate the longer-term impacts of changes to foreign exchange rates. We do not enter into these contracts for trading purposes or speculation, and we believe all these contracts are entered into as hedges of underlying transactions. Nonetheless, these contracts involve costs and risks of their own in the form of transaction costs, credit requirements and counterparty risk. Also, the effectiveness of our hedging program may be limited due to cost effectiveness, cash management, exchange rate visibility and associated management judgment on exchange rate movement, and downside protection. We recorded losses on change in foreign currency derivatives of $2.6 million in 2017, $18.4 million in 2018 and $21.3 million in 2019. Gains or losses on change in foreign currency derivatives are related to our hedging program. If our hedging program is not successful, or if we change our hedging activities in the future, we may experience significant unexpected expenses from fluctuations in exchange rates.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Volatility in foreign exchange rates will hamper, to some extent, our ability to plan our pricing strategy. To the extent that we are unable to pass along increased costs resulting from exchange rate fluctuations to our customers, our profitability may be adversely impacted. As a result, fluctuations in foreign currency exchange rates could have a material and adverse effect on our financial condition and results of&#160;operations.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">A change in our effective tax rate can have a significant adverse impact on our&#160;business.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">A number of factors may adversely impact our future effective tax rates, such as the jurisdictions in which our profits are determined to be earned and taxed; changes in the valuation of our deferred tax assets and liabilities; adjustments to provisional taxes upon finalization of various tax returns; adjustments to the interpretation of transfer pricing standards; changes in available tax credits; changes in stock-based compensation expenses; changes in tax laws or the interpretation of tax laws (e.g.,&#160;in connection with fundamental U.S.&#160;international tax reform); changes in U.S.&#160;GAAP; expiration of or the inability to renew tax rulings or tax holiday incentives; and the repatriation of non-U.S.&#160;earnings for which we have not previously provided for U.S.&#160;taxes. A change in our effective tax rate due to any of these factors may adversely influence our future results of&#160;operations.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Seasonal variations in demand linked to construction cycles and weather conditions may influence our results of&#160;operations.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our business is subject to seasonal variations in demand linked to construction cycles and weather conditions. Demand for solar power products and services from some countries, such as the U.S. and China, may also be subject to significant seasonality due to adverse weather conditions that can complicate the installation of solar power systems and negatively impact the construction schedules of solar power projects. Seasonal variations could adversely affect our results of operations and make them more volatile and unpredictable.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our future success depends partly on our ability to maintain and expand our solar components manufacturing capacity, which exposes us to a number of risks and uncertainties.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our future success depends partly on our ability to maintain and expand our solar components manufacturing capacity. If we are unable to do so, we may be unable to expand our business, maintain our competitive position, and improve our profitability. Our ability to expand our solar components production capacity is subject to risks and uncertainties, including:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the need to raise significant additional funds to purchase raw materials and to build additional manufacturing facilities, which we may be unable to obtain on commercially reasonable terms or at&#160;all;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">delays and cost overruns as a result of a number of factors, many of which are beyond our control, including delays in equipment delivery by&#160;vendors;</span></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">20</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">delays or denial of required regulatory approvals by relevant government authorities;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">diversion of significant management attention and other resources; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">failure to execute our expansion plan effectively.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">If we are unable to maintain and expand our internal production capacity, we may be unable to expand our business as planned. Moreover, even if we do maintain and expand our production capacity, we might still not be able to generate sufficient customer demand for our solar power products to support the increased production levels.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may be unable to generate sufficient cash flows or have access to external financing necessary to fund planned operations and make adequate capital investments in manufacturing capacity and solar project development.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We anticipate that our operating and capital expenditures requirements may increase. To develop new products, support future growth, achieve operating efficiencies and maintain product quality, we may need to make significant capital investments in manufacturing technology, facilities and capital equipment, research and development, and product and process technology. We also anticipate that our operating costs may increase as we expand our manufacturing operations, hire additional personnel, increase our sales and marketing efforts, invest in joint ventures and acquisitions, and continue our research and development efforts with respect to our products and manufacturing technologies.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our operations are capital intensive. We rely on working capital financing substantially from Chinese banks for our manufacturing operations. We cannot guarantee that we will continue to be able to extend existing or obtain new working capital financing on commercially reasonable terms or at all. See &#8220;&#8212;Our dependence on Chinese banks to extend our existing loans and provide additional loans exposes us to funding risks, which may materially and adversely affect our operations.&#8221; Also, even though we are a publicly-traded company, we may not be able to raise capital via public equity and debt issuances due to market conditions and other factors, many of which are beyond our control. Our ability to obtain external financing is subject to a variety of uncertainties, including:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our future financial condition, results of operations and cash flows;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">general market conditions for financing activities by manufacturers of solar power products;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">economic, political and other conditions in the PRC and elsewhere.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we are unable to obtain funding in a timely manner and on commercially acceptable terms, our growth prospects and future profitability may be adversely affected.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Construction of our solar power projects may require us to obtain project financing. If we are unable to obtain project financing, or if project financing is only available on terms which are not acceptable to us, we may be unable to fully execute our business plan. In addition, we generally expect to sell our projects to tax-oriented, strategic industry and other investors. Such investors may not be available or may only have limited resources, in which case our ability to sell our projects may be hindered or delayed and our business, financial condition, and results of operations may be adversely affected. There can be no assurance that we will be able to generate sufficient cash flows, find other sources of capital to fund our operations and solar power projects, make adequate capital investments to remain competitive in terms of technology development and cost efficiency required by our projects. If adequate funds and alternative resources are not available on acceptable terms, our ability to fund our operations, develop and construct solar power projects, develop and expand our manufacturing operations and distribution network, maintain our research and development efforts or otherwise respond to competitive pressures would be significantly impaired. Our inability to do the foregoing could have a material and adverse effect on our business and results of&#160;operations.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">21</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We have substantial indebtedness and may incur substantial additional indebtedness in the future, which could adversely affect our financial health and our ability to generate sufficient cash to satisfy our outstanding and future debt obligations.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have substantial indebtedness and may incur substantial additional indebtedness in the future, which could adversely affect our financial health and our ability to generate sufficient cash to satisfy our outstanding and future debt obligations. Our substantial indebtedness could have important consequences to us and our shareholders. For example, it&#160;could:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">limit our ability to satisfy our debt obligations;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">increase our vulnerability to adverse general economic and industry conditions;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">require us to dedicate a substantial portion of our cash flow from operations to servicing and repaying our indebtedness, thereby reducing the availability of our cash flow to fund working capital, capital expenditures and for other general corporate purposes;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">limit our flexibility in planning for or reacting to changes in our businesses and the industry in which we&#160;operate;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">place us at a competitive disadvantage compared with our competitors that have less&#160;debt;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">limit, along with the financial and other restrictive covenants of our indebtedness, among other things, our ability to borrow additional funds;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">increase the cost of additional financing.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In the future, we may from time to time incur substantial additional indebtedness and contingent liabilities. If we incur additional debt, the risks that we face as a result of our already substantial indebtedness and leverage could intensify.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our ability to generate sufficient cash to satisfy our outstanding and future debt obligations will depend upon our future operating performance, which will be affected by prevailing economic conditions and financial, business and other factors, many of which are beyond our control. We cannot assure you that we will be able to generate sufficient cash flow from operations to support the repayment of our current indebtedness. If we are unable to service our indebtedness, we will be forced to adopt an alternative strategy that may include actions such as reducing or delaying capital expenditures, selling assets, restructuring or refinancing our indebtedness or seeking equity capital. These strategies may not be instituted on satisfactory terms, if at all. In addition, certain of our financing arrangements impose operating and financial restrictions on our business, which may negatively affect our ability to react to changes in market conditions, take advantage of business opportunities we believe to be desirable, obtain future financing, fund required capital expenditures, or withstand a continuing or future downturn in our business. Any of these factors could materially and adversely affect our ability to satisfy our debt obligations.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">22</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We must comply with certain financial and other covenants under the terms of our debt instruments and the failure to do so may put us in default under those instruments.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Many of our loan agreements include financial covenants and broad default provisions. The financial covenants primarily include current ratios, quick ratios, debt to asset ratios, contingent liability ratios and minimum equity requirements, which, in general, govern our existing long-term debt and debt we may incur in the future. These covenants could limit our ability to plan for or react to market conditions or to meet our capital needs in a timely manner and complying with these covenants may require us to curtail some of our operations and growth plans. In addition, any global or regional economic deterioration may cause us to incur significant net losses or force us to assume considerable liabilities, which would adversely impact our ability to comply with the financial and other covenants of our outstanding loans. If our creditors refuse to grant waivers for any non-compliance with these covenants, such non-compliance will constitute an event of default which may accelerate the amounts due under the applicable loan agreements. Some of our loan agreements also contain cross-default clauses, which could enable creditors under our debt instruments to declare an event of default should there be an event of default on our other loan agreements. We cannot assure you that we will be able to remain in compliance with these covenants in the future. We may not be able to cure future violations or obtain waivers of non-compliance on a timely basis. An event of default under any agreement governing our existing or future debt, if not cured by us or waived by our creditors, could have a material adverse effect on our liquidity, financial condition and results of&#160;operations.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our dependence on Chinese banks to extend our existing loans and provide additional loans exposes us to funding risks, which may materially and adversely affect our&#160;operations.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We require significant cash flow and funding to support our operations. As a result, we rely on short-term borrowings to provide working capital for our daily operations. Since a significant portion of our borrowings come from Chinese banks, we are exposed to lending policy changes by the Chinese banks. As of December 31, 2019, we had outstanding borrowings of $889.8 million with Chinese banks.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">If the Chinese government changes its macroeconomic policies and forces Chinese banks to tighten their lending practices, or if Chinese banks are no longer willing to provide financing to solar power companies, including us, we may not be able to extend our short-term borrowings or make additional borrowings in the future. As a result, we may not be able to fund our operations to the same extent as in previous years, which may have a material and adverse effect on our&#160;operations.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Cancellations of customer orders may make us unable to recoup any prepayments made to&#160;suppliers.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In the past, we were required to make prepayments to certain suppliers, primarily suppliers of machinery, silicon raw materials, solar ingots, wafers and cells. Although we require certain customers to make partial prepayments, there is generally a lag between the due date for the prepayment of purchased machinery, silicon raw materials, solar ingots, wafers and cells and the time that our customers make prepayments. In the event that our customers cancel their orders, we may not be able to recoup prepayments made to suppliers, which could adversely influence our financial condition and results of&#160;operations.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">23</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Long-term supply agreements may make it difficult for us to adjust our raw material costs should prices decrease. Also, if we terminate any of these agreements, we may not be able to recover all or any part of the advance payments we have made to these suppliers and we may be subject to litigation.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In the past, we have entered into, and may in the future enter into, long-term supply agreements with silicon and wafer suppliers with fixed price and quantity terms in order to secure a stable supply of raw materials to meet our production requirements. If, during the term of these agreements, the price of materials decreases significantly and we are unable to renegotiate favorable terms with our suppliers, we may be placed at a competitive disadvantage compared to our competitors, and our earnings could decline. In addition, if demand for our solar power products decreases, yet our supply agreements require us to purchase more silicon wafers and solar cells than required to meet customer demand, we may incur costs associated with carrying excess inventory. To the extent that we are not able to pass these increased costs on to our customers, our business, cash flows, financial condition and results of operations may be materially and adversely affected. If our suppliers file lawsuits against us for early termination of these contracts, such events could be costly, may divert management&#8217;s attention and other resources away from our business, and could have a material and adverse effect on our reputation, business, financial condition, results of operations and prospects.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Credit terms offered to some of our customers expose us to the credit risks of such customers and may increase our costs and expenses, which could in turn materially and adversely affect our revenues, liquidity and results of&#160;operations.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We offer unsecured short-term or medium-term credit to some of our customers based on their creditworthiness and market conditions. As a result, our claims for payments and sales credits rank as unsecured claims, which expose us to credit risk if our customers become insolvent or&#160;bankrupt.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">From time to time, we sell our products to high credit risk customers in order to gain early access to emerging or promising markets, increase our market share in existing key markets or because of the prospects of future sales with a rapidly growing customer. There are significant credit risks in doing business with these customers because they are often small, young and high-growth companies with significant unfunded working capital, inadequate balance sheets and credit metrics and limited operating histories. If these customers are not able to obtain satisfactory working capital, maintain adequate cash flow, or obtain construction financing for the projects where our solar products are used, they may be unable to pay for the products for which they have ordered or of which they have taken delivery. Our legal recourse under such circumstances may be limited if the customer&#8217;s financial resources are already constrained or if we wish to continue to do business with that customer. Revenue recognition for this type of customer is deferred until cash is received. If more customers to whom we extend credit are unable to pay for our products, our revenues, liquidity and results of operations could be materially and adversely affected.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">24</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our dependence on a limited number of suppliers of silicon wafers, cells and silicon, and the limited number of suppliers for certain other components, such as silver metallization paste, solar module back-sheet, and ethylene vinyl acetate encapsulant, could prevent us from delivering our products to our customers in the required quantities or in a timely manner, which could result in order cancellations and decreased revenues.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We purchase silicon raw materials, silicon wafers and solar cells, from a limited number of third-party material suppliers. In 2019, we purchased a significant portion of the silicon wafers used in our solar modules from third parties. Our major silicon wafer suppliers in 2019 included GCL and Zhenjiang Rende New Energy Science Technology Co., Ltd. Our major suppliers of solar cells in 2019 included Jiangsu Shunfeng New Energy Technology Co., Ltd., or Jiangsu Shunfeng, and Tongwei Solar (Chengdu) Co., Ltd. These suppliers may not always be able to meet our quantity requirements, or keep pace with the price reductions or quality improvements, necessary for us to price our products competitively. Supply may also be interrupted by accidents, disasters or other unforeseen events beyond our control. The failure of a supplier, for whatever reason, to supply silicon wafers, solar cells, silicon raw materials or other essential components that meet our quality, quantity and cost requirements in a timely manner could impair our ability to manufacture our products or increase our costs. The impact could be more severe if we are unable to access alternative sources on a timely basis or on commercially reasonable terms, and could prevent us from delivering our products to our customers in the required quantities and at prices that are profitable. Problems of this kind could cause order cancellations, reduce our market share, harm our reputation and cause legal disputes with our customers.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We are developing and commercializing higher conversion efficiency cells, but we may not be able to mass-produce these cells in a cost-effective way, if at&#160;all.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Higher efficiency cell structures are becoming an increasingly important factor in cost competitiveness and brand recognition in the solar power industry. Such cells may yield higher power outputs at the same cost to produce as lower efficiency cells, thereby lowering the manufactured cost per watt. The ability to manufacture and sell solar modules made from such cells may be an important competitive advantage because solar system owners can obtain a higher yield of electricity from the modules that have a similar infrastructure, footprint and system cost compared to systems with modules using lower efficiency cells. Higher conversion efficiency solar cells and the resulting higher output solar modules are one of the considerations in maintaining a price premium over thin-film products. However, while we are making the necessary investments to develop higher conversion efficiency solar power products, there is no assurance that we will be able to commercialize some or any of these products in a cost-effective way, or at all. In the near term, such products may command a modest premium. In the longer term, if our competitors are able to manufacture such products and we cannot do the same at all or in a cost-effective way, we will be at a competitive disadvantage, which will likely influence our product pricing and our financial performance.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may be subject to unexpected warranty expense that may not be adequately covered by our insurance policies.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We warrant, for a period up to twelve years, that our solar products will be free from defects in materials and workmanship.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We also warrant that, for a period of 25&#160;years, our standard polycrystalline modules will maintain the following performance levels:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">during the first year, the actual power output of the module will be no less than 97.5% of the labeled power&#160;output;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">from the second year to the 24th&#160;year, the actual annual power output decline of the module will be no more than 0.7%;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">by the end of the 25th&#160;year, the actual power output of the module will be no less than 80.7% of the labeled power&#160;output.</span></td></tr></table><div style="margin-top:6pt;"></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">25</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have lengthened this warranty against decline in performance to 30 years for our bifacial module and double glass module products.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We believe that our warranty periods are consistent with industry practice. Due to the long warranty period, however, we bear the risk of extensive warranty claims long after we have shipped our products and recognized revenue. We began selling specialty solar products in 2002 and began selling standard solar modules in 2004. Any increase in the defect rate of our products would require us to increase our warranty reserves and would have a corresponding negative impact on our results of operations. Although we conduct quality testing and inspection of our solar module products, these have not been and cannot be tested in an environment simulating the up-to-30-year warranty periods. In particular, unknown issues may surface after extended use. These issues could potentially affect our market reputation and adversely affect our revenues, giving rise to potential warranty claims by our customers. As a result, we may be subject to unexpected warranty costs and associated harm to our financial results as long as 30 years after the sale of our products.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For solar power projects built by us, we also provide a limited workmanship or balance of system warranty against defects in engineering, design, installation and construction under normal use, operation and service conditions for a period of up to ten years following the energizing of the solar power plant. In resolving claims under the workmanship or balance of system warranty, we have the option of remedying through repair, refurbishment or replacement of equipment. We have also entered into similar workmanship warranties with our suppliers to back up our warranties.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As part of our energy business, before commissioning solar power projects, we conduct performance testing to confirm that the projects meet the operational and capacity expectations set forth in the agreements. In limited cases, we also provide for an energy generation performance test designed to demonstrate that the actual energy generation for up to the first three years meets or exceeds the modeled energy expectation (after adjusting for actual solar irradiation). In the event that the energy generation performance test performs below expectations, the appropriate party (EPC&#160;contractor or equipment provider) may incur liquidated damages capped at a percentage of the contract&#160;price.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have entered into agreements with a group of insurance companies with high credit ratings to back up our warranties. Under the terms of the insurance policies, which are designed to match the terms of our solar module product warranty policy, the insurance companies are obliged to reimburse us, subject to certain maximum claim limits and certain deductibles, for the actual product warranty costs that we incur under the terms of our solar module product warranty policy. We record the insurance premiums initially as prepaid expenses and amortize them over the respective policy period of one year. However, potential warranty claims may exceed the scope or amount of coverage under this insurance and, if they do, they could materially and adversely affect our&#160;business.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">26</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may not continue to be successful in developing and maintaining a cost-effective solar cell, wafer and ingot manufacturing capability.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our annual solar cell, solar wafer and ingot production capacity was 9.6 GW, 5 GW and 1.85 GW, respectively, as of December 31, 2019. To remain competitive, we intend to expand our annual solar cell, wafer and ingot production capacity to meet expected growth in demand for our solar modules. In doing so, we may face significant product development challenges. Manufacturing solar cells, wafers and ingots is a complex process and we may not be able to produce a sufficient quality of these items to meet our solar module manufacturing standards. Minor deviations in the manufacturing process can cause substantial decreases in yield and in some cases result in no yield or cause production to be suspended. We will need to make capital expenditures to purchase manufacturing equipment for solar cell, wafer and ingot production and will also need to make significant investments in research and development to keep pace with technological advances in solar power technology. Any failure to successfully develop and maintain cost-effective manufacturing capability may have a material and adverse effect on our business and prospects. For example, we have in the past purchased a large percentage of solar cells from third parties. This negatively affected our margins compared with those of our competitors since it is less expensive to produce cells internally than to purchase them from third parties. Because third party solar cell purchases are usually made in a period of high demand, prices tend to be higher and availability reduced.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Although we intend to continue direct purchasing of solar cells, wafers and ingots and toll manufacturing arrangements through a limited number of strategic partners, our relationships with our suppliers may be disrupted if we engage in the large-scale production of solar cells, wafers and ingots ourselves. If our suppliers discontinue or reduce the supply of solar cells, wafers and ingots to us, through direct sales or through toll manufacturing arrangements, and we are not able to compensate for the loss or reduction by manufacturing our own solar cells, wafers and ingots, our business and results of operations may be adversely affected. For more details, see &#8220;Item 6. Directors, Senior Management and Employees&#8212;D. Employees.&#8221;</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may not achieve acceptable yields and product performance as a result of manufacturing problems.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We need to continuously enhance and modify our solar module, cell, wafer and ingot production capabilities in order to improve yields and product performance. Microscopic impurities such as dust and other contaminants, difficulties in the manufacturing process, disruptions in the supply of utilities or defects in the key materials and tools used to manufacture solar modules, cells, ingots and wafers can cause a percentage of the solar modules, cells, ingots and wafers to be rejected, which would negatively affect our yields. We may experience manufacturing difficulties that cause production delays and lower than expected yields.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Problems in our facilities, including but not limited to production failures, human errors, weather conditions, equipment malfunction or process contamination, may limit our ability to manufacture products, which could seriously harm our operations. We are also susceptible to floods, tornados, droughts, power losses and similar events beyond our control that would affect our facilities. A disruption in any step of the manufacturing process will require us to repeat each step and recycle the silicon debris, which would adversely affect our yields and manufacturing&#160;cost.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">If we are unable to attract, train and retain technical personnel, our business may be materially and adversely affected.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our future success depends, to a significant extent, on our ability to attract, train and retain technical personnel. Recruiting and retaining qualified technical personnel, particularly those with expertise in the solar power industry, are vital to our success. There is substantial competition for qualified technical personnel, and there can be no assurance that we will be able to attract or retain sufficient qualified technical personnel. If we are unable to attract and retain qualified employees, our business may be materially and adversely affected.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">27</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our dependence on a limited number of customers and our lack of long-term customer contracts in our solar modules business may cause significant fluctuations or declines in our&#160;revenues.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We sell a substantial portion of our solar module products to a limited number of customers, including distributors, system integrators, project developers and installers/EPC companies. Our top five customers by revenues collectively accounted for approximately 27.7%, 31.9% and 24.2% of our net revenues in 2017, 2018 and 2019, respectively. We anticipate that our dependence on a limited number of customers will continue for the foreseeable future. Consequently, any of the following events may cause material fluctuations or declines in our revenues:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">reduced, delayed or cancelled orders from one or more of our significant customers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the loss of one or more of our significant customers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">a significant customer&#8217;s failure to pay for our products on time; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">a significant customer&#8217;s financial difficulties or insolvency.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As we continue to expand our business and operations, our top customers continue to change. We cannot assure that we will be able to develop a consistent customer&#160;base.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">There are a limited number of purchasers of utility-scale quantities of electricity and entities that have the ability to interconnect projects to the grid, which exposes us and our utility scale solar power projects to additional&#160;risk.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">Since the transmission and distribution of electricity is either monopolized or highly concentrated in most jurisdictions, there are a limited number of possible purchasers for utility-scale quantities of electricity in a given geographic location, normally transmission grid operators, state and investor owned power companies, public utility districts and cooperatives. As a result, there is a concentrated pool of potential buyers for electricity generated by our solar power plants, which may restrict our ability to negotiate favorable terms under new PPAs and could impact our ability to find new customers for the electricity generated by our solar power plants should this become necessary. Additionally, these possible purchasers may have a role in connecting our projects to the grid to allow the flow of electricity. Furthermore, if the financial condition of these utilities and/or power purchasers deteriorates, or government policies or regulations to which they are subject and which compel them to source renewable energy supplies change, demand for electricity produced by our plants or the ability to connect to the grid could be negatively impacted. For example, Pacific Gas and Electric Company, or PG&amp;E, a California-based utility and customer that has entered into interconnection agreements, or IAs, and PPAs with us, filed for bankruptcy protection in 2019. The IAs require PG&amp;E to, among other things, reimburse us for certain network upgrade costs advanced by us during the development of our solar power plants and the PPAs require PG&amp;E to, among other things, pay for certain of the electricity generated by our solar power plants. Depending on a variety of factors, including future decisions of PG&amp;E, and the bankruptcy court, and the state government, PG&amp;E&#8217;s ability to meet may not meet, or may be delayed in meeting, its obligations to us under the IAs and PPAs could be adversely impacted, which could result in a decrease or delay in our revenues. Any decision by PG&amp;E to meet, or fail to meet, its obligations may also be subject to applicable regulatory requirements, including those of the Federal Energy Regulatory Commission (FERC). However, in this example, we view the risk as relatively low due to the fact that, with the approval of the bankruptcy court, PG&amp;E has both assumed our PPAs and stipulated that it will continue to pay network upgrade reimbursements in accordance with the terms of its customers&#8217; interconnection agreements and CAISO&#8217;s FERC-approved Open Access Transmission Tariff.  In addition, provisions in our PPAs or applicable laws may provide for the curtailment of delivery of electricity for various reasons, including preventing damage to transmission systems, system emergencies, force majeure or economic reasons. Such curtailment could reduce revenues to us from our PPAs. If we cannot enter into PPAs on terms favorable to us, or at all, or if the purchaser under our PPAs were to exercise its curtailment or other rights to reduce purchases or payments under the PPAs, our revenues and our decisions regarding development of additional projects in the energy segment may be adversely affected.</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">28</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Product liability claims against us could result in adverse publicity and potentially significant monetary damages.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We, along with other solar power product manufacturers, are exposed to risks associated with product liability claims if the use of our solar power products results in injury or death. Since our products generate electricity, it is possible that users could be injured or killed by our products due to product malfunctions, defects, improper installation or other causes. Although we carry limited product liability insurance, we may not have adequate resources to satisfy a judgment if a successful claim is brought against us. The successful assertion of product liability claims against us could result in potentially significant monetary damages and require us to make significant payments. Even if the product liability claims against us are determined in our favor, we may suffer significant damage to our&#160;reputation.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our founder, Dr.&#160;Shawn Qu, has substantial influence over our company and his interests may not be aligned with the interests of our other shareholders.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of March 31, 2020, Dr. Shawn Qu, our founder, Chairman, President and Chief Executive Officer, beneficially owned 13,964,711 common shares, or 23.6% of our outstanding shares. As a result, Dr. Shawn Qu has substantial influence over our business, including decisions regarding mergers and acquisition, consolidations, the sale of all or substantially all of our assets, the election of directors and other significant corporate actions. This concentration of ownership may discourage, delay or prevent a change in control of our company, which could deprive our other shareholders of an opportunity to receive a premium for their shares as part of a sale of our company and might reduce the price of our common shares.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may be exposed to infringement, misappropriation or other claims by third parties, which, if determined adversely to us, could require us to pay significant damage&#160;awards.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our success depends on our ability to develop and use our technology and know-how and sell our solar power products and services without infringing the intellectual property or other rights of third parties. The validity and scope of claims relating to solar power technology patents involve complex scientific, legal and factual questions and analyses and are therefore highly uncertain. We may be subject to litigation involving claims of patent infringement or the violation of intellectual property rights of third parties. Defending intellectual property suits, patent opposition proceedings and related legal and administrative proceedings can be both costly and time-consuming and may significantly divert the efforts and resources of our technical and management personnel. Additionally, we use both imported and China-made equipment in our production lines, sometimes without sufficient supplier guarantees that our use of such equipment does not infringe third-party intellectual property rights. This creates a potential source of litigation or infringement claims. An adverse determination in any such litigation or proceedings to which we may become a party could subject us to significant liability to third parties or require us to seek licenses from third parties, pay ongoing royalties, redesign our products or subject us to injunctions prohibiting the manufacture and sale of our products or the use of our technologies. Protracted litigation could also defer customers or potential customers or limit their purchase or use of our products until such litigation is&#160;resolved.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">29</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Compliance with environmental laws and regulations can be expensive, and noncompliance with these regulations may result in adverse publicity and potentially significant monetary damages, fines and the suspension or even termination of our business operations.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are required to comply with all national and local environmental regulations. Our business generates noise, wastewater, gaseous wastes and other industrial waste in our operations and the risk of incidents with a potential environmental impact has increased as our business has expanded. We believe that we substantially comply with all relevant environmental laws and regulations and have all necessary and material environmental permits to conduct our business as it is presently conducted. However, if more stringent regulations are adopted in the future, the costs of complying with these new regulations could be substantial. If we fail to comply with present or future environmental regulations, we may be required to pay substantial fines, suspend production or cease operations.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our solar power products must comply with the environmental regulations of the jurisdictions in which they are installed, and we may incur expenses to design and manufacture our products to comply with such regulations. If compliance is unduly expensive or unduly difficult, we may lose market share and our financial results may be adversely affected. Any failure by us to control our use or to restrict adequately the discharge, of hazardous substances could subject us to potentially significant monetary damages, fines or suspensions of our business operations.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">We face risks related to natural disasters, health epidemics, such as COVID-19, and other catastrophes, which could significantly disrupt our operations.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our business could be materially and adversely affected by natural disasters or other catastrophes, such as earthquakes, fire, floods, hail, windstorms, severe weather conditions, environmental accidents, power loss, communications failures, explosions, terrorist attacks and similar events. Our business could also be materially and adversely affected by public health emergencies, such as the outbreak of avian influenza, severe acute respiratory syndrome, or SARS, Zika virus, Ebola virus, the 2019 novel coronavirus or other local health epidemics in China and elsewhere and global pandemics. If any of our employees is suspected of having contracted any contagious disease, we may, under certain circumstances, be required to quarantine those employees and the affected areas of our operations. As a result, we may have to temporarily suspend part or all of our facilities. Furthermore, authorities may impose restrictions on travel and transportation and implement other preventative measures in affected regions to deal with the catastrophe or emergency, which may lead to the temporary closure of our facilities and declining economic activity at large. A prolonged outbreak of any health epidemic or other adverse public health developments, in China or elsewhere in the world, could have a material adverse effect on our business operations.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In early February 2020, the World Health Organization declared the outbreak of novel coronavirus, or COVID-19, a Public Health Emergency of International Concern. In an effort to limit the spread of the disease, the national Chinese authorities took various emergency measures, including extending the Lunar New Year holiday, implementing travel bans, closing factories and businesses, and placing quarantine restrictions on high-risk areas. These measures prevented many of our employees from going to work for several weeks during the first quarter of 2020, which adversely impacted our business operations during that time. While the majority of our employees have since resumed their normal working functions, any further outbreaks resulting in prolonged deviations from normal daily operations could further negatively impact our business. Due to the widespread nature and severity of COVID-19 as well as the measures taken to limit its spread, the Chinese economy has been adversely impacted in the first quarter of 2020 and beyond. Further, the spread of COVID-19 has caused severe disruptions in the EU and the U.S. and global economies and financial markets and could potentially create widespread business continuity issues of an as-yet unknown magnitude and duration. To the extent that COVID-19 or any health epidemic harms the Chinese and global economies in general, our results of operations could be adversely affected.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">30</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may not be successful in establishing our brand name in important markets and the products we sell under our brand name may compete with the products we manufacture on an original equipment manufacturer, or OEM, basis for our&#160;customers.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We sell our products primarily under our own brand name but also on an OEM basis. In certain markets, our brand may not be as prominent as other more established solar power product vendors, and there can be no assurance that the brand names &#8220;Canadian Solar,&#8221; or &#8220;CSI&#8221; or any of our possible future brand names will gain acceptance among customers. Moreover, because the range of products that we sell under our own brands and those we manufacture for our OEM customers may be substantially similar, we may end up directly or indirectly competing with our OEM customers, which could negatively affect our relationship with&#160;them.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Failure to protect our intellectual property rights in connection with new solar power products may undermine our competitive position.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As we develop and bring to market new solar power products, we may need to increase our expenditures to protect our intellectual property. Our failure to protect our intellectual property rights may undermine our competitive position. As of March 31, 2020, we had 1,567 patents and 712 patent applications pending in the PRC for products that contribute a relatively small percentage of our net revenues. We have nine U.S. patents, including one design patent, and five European patents, including four design patents. We have registered the &#8220;Canadian Solar&#8221; trademark in the U.S., Australia, Canada, Europe, South Korea, Japan, the United Arab Emirates, Hong Kong, Singapore, India, Argentina, Brazil, Peru and more than 20 other countries and we have applied for registration of the &#8220;Canadian Solar&#8221; trademark in a number of other countries. As of March 31, 2020, we had 82 registered trademarks and 8 trademark applications pending in the PRC, and 106 registered trademarks and 38 trademark applications pending outside of China. These intellectual property rights afford only limited protection and the actions we take to protect our rights as we develop new solar power products may not be adequate. Policing the unauthorized use of proprietary technology can be difficult and expensive. In addition, litigation, which can be costly and divert management attention, may be necessary to enforce our intellectual property rights, protect our trade secrets or determine the validity and scope of the proprietary rights of others.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We have limited insurance coverage and may incur significant losses resulting from operating hazards, product liability claims or business interruptions.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our operations involve the use, handling, generation, processing, storage, transportation and disposal of hazardous materials, which may result in fires, explosions, spills and other unexpected or dangerous accidents causing personal injuries or death, property damages, environmental damages and business interruption. Although we currently carry third-party liability insurance against property damage, the policies for this insurance are limited in scope and may not cover all claims relating to personal injury, property or environmental damage arising from incidents on our properties or relating to our operations. See &#8220;Item&#160;4. Information on the Company&#8212;B. Business Overview&#8212;Insurance.&#8221; Any occurrence of these or other incidents which are not insured under our existing insurance policies could have a material adverse effect on our business, financial condition or results of&#160;operations.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are also exposed to risks associated with product liability claims in the event that the use of our solar power products results in injury. See &#8220;&#8212;Product liability claims against us could result in adverse publicity and potentially significant monetary damages.&#8221; Although we carry limited product liability insurance, we may not have adequate resources to satisfy a judgment if a successful claim is brought against&#160;us.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In addition, the normal operation of our manufacturing facilities may be interrupted by accidents caused by operating hazards, power supply disruptions, equipment failure, as well as natural disasters. While our manufacturing plants in China and elsewhere are covered by business interruption insurance, any significant damage or interruption to these plants could still have a material and adverse effect on our results of&#160;operations.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">31</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">If our internal control over financial reporting or disclosure controls and procedures are not effective, investors may lose confidence in our reported financial information, which could lead to a decline in our share&#160;price.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We are subject to the reporting obligations under U.S. securities laws. As required by Section 404 of the Sarbanes-Oxley Act of 2002, the SEC has adopted rules requiring every public company to include a management report on its internal control over financial reporting in its annual report, which contains management&#8217;s assessment of the effectiveness of its internal control over financial reporting. In addition, an independent registered public accounting firm must report on the effectiveness of our internal controls over financial reporting. As of December 31, 2019, our management concluded that our internal control over financial reporting was effective. However, we cannot assure you that material weaknesses in our internal controls over financial reporting will not be identified in the future. Any material weaknesses in our internal controls could cause us not to meet our periodic reporting obligations in a timely manner or result in material misstatements in our financial statements. Material weaknesses in our internal controls over financial reporting could also cause investors to lose confidence in our reported financial information, leading to a decline in the market price of our common shares.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">The audit report included in our annual report on Form&#160;20-F was prepared by auditors who are not inspected by the Public Company Accounting Oversight Board and, as a result, you are deprived of the benefits of such inspection.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The independent registered public accounting firm that issues the audit reports included in our annual reports filed with the SEC, as auditors of companies that are traded publicly in the U.S. and a firm registered with the Public Company Accounting Oversight Board (United&#160;States), or the PCAOB, is required by the laws of the U.S.&#160;to undergo regular inspections by the PCAOB to assess its compliance with the laws of the U.S. and professional standards. Because we have substantial operations within the PRC and the PCAOB is currently unable to conduct inspections of the work of our independent registered public accounting firm as it relates to those operations without the approval of the Chinese authorities, our independent registered public accounting firm is not currently inspected fully by the PCAOB. This lack of PCAOB inspections in the PRC prevents the PCAOB from regularly evaluating our independent registered public accounting firm&#8217;s audits and its quality control procedures. As a result, investors may be deprived of the benefits of PCAOB inspections.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On May&#160;24, 2013, PCAOB announced that it had entered into a Memorandum of Understanding on Enforcement Cooperation with the China Securities Regulatory Commission, or the CSRC, and the Ministry of Finance which establishes a cooperative framework between the parties for the production and exchange of audit documents relevant to investigations in the United States and China. On inspection, it appears that the PCAOB continues to be in discussions with the Mainland China regulators CSRC and the Ministry of Finance to permit joint inspections in the PRC of audit firms that are registered with PCAOB in relation to the audit of and audit Chinese companies that trade on U.S. exchanges. On December&#160;7, 2018, the SEC and the PCAOB issued a joint statement highlighting continued challenges faced by the U.S. regulators in their oversight of financial statement audits of U.S.-listed companies with significant operations in China. The joint statement reflects a heightened interest in this issue. However, it remains unclear what further actions the SEC and PCAOB will take and its impact on Chinese companies listed in the U.S.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Inspections of other firms that the PCAOB has conducted outside the PRC have identified deficiencies in those firms&#8217; audit procedures and quality control procedures, which may be addressed as part of the inspection process to improve future audit quality. The inability of the PCAOB to conduct full inspections of auditors in the PRC makes it more difficult to evaluate the effectiveness of our independent registered public accounting firm&#8217;s audit procedures or quality control procedures as compared to auditors outside the PRC that are subject to PCAOB inspections. Investors may lose confidence in our reported financial information and procedures and the quality of our financial statements.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">32</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">If additional remedial measures are imposed on the big four PRC-based accounting firms, including our independent registered public accounting firm, in administrative proceedings brought by the SEC alleging the firms&#8217; failure to meet specific criteria set by the SEC, with respect to requests for the production of documents, we could be unable to timely file future financial statements in compliance with the requirements of the Exchange&#160;Act.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In late 2012, the SEC commenced administrative proceedings under Rule&#160;102(e) of its Rules of Practice and also under the Sarbanes-Oxley Act of 2002 against the mainland Chinese affiliates of the &#8220;Big Four&#8221; accounting firms (including the mainland Chinese affiliate of our independent registered public accounting firm). A first instance trial of the proceedings in July 2013 in the SEC&#8217;s internal administrative court resulted in an adverse judgment against the firms. The administrative law judge proposed penalties on the Chinese accounting firms including a temporary suspension of their right to practice before the SEC, although that proposed penalty did not take effect pending review by the Commissioners of the SEC. On February&#160;6, 2015, before a review by the Commissioner had taken place, the Chinese accounting firms reached a settlement with the SEC whereby the proceedings were stayed. Under the settlement, the SEC accepted that future requests by the SEC for the production of documents would normally be made to the CSRC. The Chinese accounting firms would receive requests matching those under Section&#160;106 of the Sarbanes-Oxley Act of 2002, and would be required to abide by a detailed set of procedures with respect to such requests, which in substance would require them to facilitate production via the CSRC. The CSRC for its part initiated a procedure whereby, under its supervision and subject to its approval, requested classes of documents held by the accounting firms could be sanitized of problematic and sensitive content so as to render them capable of being made available by the CSRC to US regulators.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the terms of the settlement, the underlying proceeding against the four PRC-based accounting firms was deemed dismissed with prejudice at the end of four years starting from the settlement date, which was on February&#160;6, 2019. Despite the final ending of the proceedings, the presumption is that all parties will continue to apply the same procedures: i.e.&#160;the SEC will continue to make its requests for the production of documents to the CSRC, and the CSRC will normally process those requests applying the sanitization procedure. We cannot predict whether, in cases where the CSRC does not authorize production of requested documents to the SEC, the SEC will further challenge the four PRC-based accounting firms&#8217; compliance with U.S. law. If additional challenges are imposed on the Chinese affiliates of the &#8220;big four&#8221; accounting firms, we could be unable to timely file future financial statements in compliance with the requirements of the Exchange Act.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In the event that the SEC restarts administrative proceedings, depending upon the final outcome, listed companies in the U.S.&#160;with major PRC operations may find it difficult or impossible to retain auditors in respect of their operations in the PRC, which could result in their financial statements being determined to not be in compliance with the requirements of the Securities Exchange Act of 1934, as amended, or the Exchange Act, including possible delisting. Moreover, any negative news about any such future proceedings against the firms may cause investor uncertainty regarding China-based, U.S.-listed companies and the market price of their shares may be adversely affected.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">If our independent registered public accounting firm was denied, even temporarily, the ability to practice before the SEC and we were unable to timely find another registered public accounting firm to audit and issue an opinion on our financial statements, our financial statements could be determined not to be in compliance with the requirements of the Exchange Act. Such a determination could ultimately lead to the delisting of our common shares from Nasdaq, or deregistration from the SEC, or both, which would substantially reduce or effectively terminate the trading of our common shares in the&#160;U.S.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">33</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Risks Related to Doing Business in China</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">The enforcement of the labor contract law and increases in labor costs in the PRC may adversely affect our business and our profitability.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Labor Contract Law came into effect on January 1, 2008, and was later revised on December 28, 2012; the Implementation Rules and the amendment thereunder became effective on September 18, 2008 and July 1, 2013, respectively. The Labor Contract Law and the Implementation Rules imposed stringent requirements on employers with regard to executing written employment contracts, hiring temporary employees, dismissing employees, consultation with the labor union and employee assembly, compensation upon termination and overtime work, collective bargaining and labor dispatch business. In addition, under the Regulations on Paid Annual Leave for Employees, which came into effect on January 1, 2008, and their Implementation Measures, which were promulgated and became effective on September 18, 2008, employees who have served for more than one year with an employer are entitled to a paid vacation ranging from five to fifteen days, depending on their length of service. Employees who waive such vacation time at the request of the employer must be compensated for each vacation day waived at a rate equal to three times their normal daily salary. According to the Interim Provisions on Labor Dispatching, which came into effect on March 1, 2014, the number of dispatched workers used by an employer shall not exceed 10% of its total number of workers. Our labor costs are expected to continue to increase due to these new laws and regulations. Higher labor costs and labor disputes with our employees stemming from these new rules and regulations could adversely affect our business, financial condition, and results of operations.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">The increase or decrease in tax benefits from local tax bureau could affect our total PRC taxes payments, which could have a material and adverse impact on our financial condition and results of&#160;operations.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Enterprise Income Tax Law, or the EIT Law, came into effect in China on January&#160;1, 2008 and was amended on February&#160;24, 2017 and December&#160;29, 2018. Under the EIT Law, both foreign-invested enterprises and domestic enterprises are subject to a uniform enterprise income tax rate of 25%. The EIT Law provides for preferential tax treatment for certain categories of industries and projects that are strongly supported and encouraged by the state. For example, enterprises qualified as a &#8220;High and New&#160;Technology Enterprise,&#8221; or HNTE, are entitled to a 15% enterprise income tax rate provided that they satisfy other applicable statutory requirements.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Certain of our PRC subsidiaries, such as CSI New&#160;Energy Holding&#160;Co.,&#160;Ltd., or CSI New&#160;Energy Holding, Canadian Solar Manufacturing (Luoyang)&#160;Inc., or CSI Luoyang Manufacturing, were once HNTEs and enjoyed preferential enterprise income tax rates. These benefits have, however, expired. In 2019, only Suzhou Sanysolar Materials Technology&#160;Co.,&#160;Ltd., or Suzhou Sanysolar, CSI Cells&#160;Co.,&#160;Ltd., or CSI Cells, Canadian Solar Manufacturing (Changshu)&#160;Inc., or CSI Changshu Manufacturing, Changshu Tegu New&#160;Material Technology&#160;Co.,&#160;Ltd., or Changshu Tegu, Suzhou Gaochuangte New&#160;Energy Development&#160;Co.,&#160;Ltd., or Suzhou Gaochuangte, and Changshu Tlian&#160;Co.,&#160;Ltd., or Changshu Tlian, were HNTEs and enjoyed preferential enterprise income tax&#160;rates.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">34</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">There are significant uncertainties regarding our tax liabilities with respect to our income under the EIT&#160;Law.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We are a Canadian company with a significant portion of our manufacturing operations in China. Under the EIT Law and its implementation regulations, enterprises established outside China whose &#8220;de facto management body&#8221; is located in China are considered PRC tax residents and will generally be subject to the uniform 25% enterprise income tax rate on their global income. Under the implementation regulations, the term &#8220;de facto management body&#8221; is defined as substantial and overall management and control over aspects such as the production and business, personnel, accounts and properties of an enterprise. The Circular on Identification of China-controlled Overseas-registered Enterprises as Resident Enterprises on the Basis of Actual Management Organization, or Circular&#160;82, further provides certain specific criteria for determining whether the &#8220;de facto management body&#8221; of a PRC-controlled offshore incorporated enterprise is located in the PRC. The criteria include whether (a)&#160;the premises where the senior management and the senior management bodies responsible for the routine production and business management of the enterprise perform their functions are mainly located within the PRC, (b)&#160;decisions relating to the enterprise&#8217;s financial and human resource matters are made or subject to approval by organizations or personnel in the PRC, (c)&#160;the enterprise&#8217;s primary assets, accounting books and records, company seals, and board and shareholders&#8217; meeting minutes are located or maintained in the PRC and (d)&#160;50% or more of voting board members or senior executives of the enterprise habitually reside in the PRC. Although Circular&#160;82 only applies to offshore enterprises controlled by enterprises or enterprise groups located within the PRC, the determining criteria set forth in the Circular&#160;82 may reflect the tax authorities&#8217; general position on how the &#8220;de facto management body&#8221; test may be applied in determining the tax resident status of offshore enterprises. As the tax resident status of an enterprise is subject to the determination by the PRC tax authorities, uncertainties remain with respect to the interpretation of the term &#8220;de facto management body&#8221; as applicable to our offshore entities.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Dividends paid by us to our non-PRC shareholders and gains on the sale of our common shares by our non-PRC shareholders may be subject to PRC enterprise income tax liabilities or individual income tax liabilities.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the EIT Law and its implementation regulations, dividends paid to a non-PRC investor are generally subject to a 10% PRC withholding tax, if such dividends are derived from sources within China and the non-PRC investor is considered to be a non-resident enterprise without any establishment or place within China or if the dividends paid have no connection with the non-PRC investor&#8217;s establishment or place within China, unless such tax is eliminated or reduced under an applicable tax treaty. Similarly, any gain realized on the transfer of shares by such investor is also subject to a 10% PRC withholding tax if such gain is regarded as income derived from sources within China, unless such tax is eliminated or reduced under an applicable tax&#160;treaty.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The implementation regulations of the EIT Law provide that (a)&#160;if the enterprise that distributes dividends is domiciled in the PRC, or (b)&#160;if gains are realized from transferring equity interests of enterprises domiciled in the PRC, then such dividends or capital gains shall be treated as China-sourced income.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Currently there are no detailed rules applicable to us that govern the procedures and specific criteria for determining the meaning of being &#8220;domiciled&#8221; in the PRC. As a result, it is not clear how the concept of domicile will be interpreted under the EIT Law. Domicile may be interpreted as the jurisdiction where the enterprise is incorporated or where the enterprise is a tax resident. As a result, if we are considered a PRC &#8220;resident enterprise&#8221; for tax purposes, it is possible that the dividends we pay with respect to our common shares to non-PRC enterprises, or the gain non-PRC enterprises may realize from the transfer of our common shares or our convertible notes, would be treated as income derived from sources within China and be subject to the PRC withholding tax at a rate of 10% or a lower applicable treaty rate for enterprises.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">35</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Under the Law of the People&#8217;s Republic of China on Individual Income Tax, or the IIT Law, individual income tax is payable on PRC-source dividend income. The implementation regulations of the IIT Law provide that income from dividends derived from companies, enterprises and other economic organizations in China as well as income realized from transfer of properties in China is considered derived from sources inside China, regardless of whether the place of payment was inside China. Therefore, if we are treated as a company in China for tax purposes, any dividends we pay to our non-PRC individual shareholders as well as any gains realized by our non-PRC individual shareholders or our non-PRC individual note holders from the transfer of our common shares or our convertible notes may be regarded as China-sourced income and, consequently, be subject to PRC withholding tax at a rate of up to 20% or a lower applicable treaty rate for individuals. The investment returns of our non-PRC investors may be materially and adversely affected if any dividends we pay, or any gains realized on a transfer of our common shares, are subject to PRC&#160;tax.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Restrictions on currency exchange may limit our ability to receive and use our revenues effectively.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Certain of our revenues and expenses are denominated in Renminbi. If our revenues denominated in Renminbi increase or our expenses denominated in Renminbi decrease in the future, we may need to convert a portion of our revenues into other currencies to meet our foreign currency obligations. Under China&#8217;s existing foreign exchange regulations, our PRC subsidiaries are able to pay dividends in foreign currencies without prior approval from the State Administration of Foreign Exchange, or SAFE, by complying with certain procedural requirements. However, we cannot assure you that the PRC government will not take further measures in the future to restrict access to foreign currencies for current account transactions.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Foreign exchange transactions by our PRC subsidiaries under most capital accounts continue to be subject to significant foreign exchange controls and require the approval of or registration with PRC governmental authorities. In particular, if we finance our PRC subsidiaries by means of additional capital contributions, the approval of or the record-filing with, certain government authorities, including the Ministry of Commerce or its local counterparts, is required. These limitations could affect the ability of our PRC subsidiaries to obtain foreign exchange through equity financing.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Uncertainties with respect to the Chinese legal system could materially and adversely affect&#160;us.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We conduct a significant portion of our manufacturing operations through our subsidiaries in China. These subsidiaries are generally subject to laws and regulations applicable to foreign investment in China and, in particular, laws applicable to wholly foreign-owned enterprises and joint venture companies. The PRC legal system is based on written statutes. Prior court decisions may be cited for reference but have limited precedential value. Since 1979, PRC legislation and regulations have significantly enhanced the protections afforded to various forms of foreign investments in China. However, since these laws and regulations are relatively new and the PRC legal system is still developing, the implementation and enforcement of many laws, regulations and rules may be inconsistent, which may limit legal protections available to us. In addition, any litigation in China may be protracted and may result in substantial costs and divert our resources and the attention of our&#160;management.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">36</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Risks Related to Our Common Shares</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may issue additional common shares, other equity or equity-linked or debt securities, which may materially and adversely affect the price of our common&#160;shares.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We may issue additional equity, equity-linked or debt securities for a number of reasons, including to finance our operations and business strategy (including in connection with acquisitions, strategic collaborations or other transactions), to satisfy our obligations for the repayment of existing indebtedness, to adjust our ratio of debt to equity, to satisfy our obligations upon the exercise of outstanding warrants or options or for other reasons. Any future issuances of equity securities or equity-linked securities could substantially dilute the interests of our existing shareholders and may materially and adversely affect the price of our common shares. We cannot predict the timing or size of any future issuances or sales of equity, equity-linked or debt securities, or the effect, if any, that such issuances or sales, may have on the market price of our common shares. Market conditions could require us to accept less favorable terms for the issuance of our securities in the&#160;future.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">The market price for our common shares may be volatile.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The market price for our common shares has been highly volatile and subject to wide fluctuations. During the period from November 9, 2006, the first day on which our common shares were listed on Nasdaq, until December 31, 2018, the market price of our common shares ranged from $1.95 to $51.8 per share. From January 1, 2019 to December 31, 2019, the market price of our common shares ranged from $14.00 to $25.89 per share. The closing market price of our common shares on December 31, 2019 was $22.10 per share. The market price of our common shares may continue to be volatile and subject to wide fluctuations in response to a wide variety of factors, including the following:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">announcements of technological or competitive developments;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">regulatory developments in our target markets affecting us, our customers or our competitors;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">actual, projected or anticipated fluctuations in our quarterly operating results;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">changes in financial estimates by securities research analysts;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">changes in the economic performance or market valuations of other solar power companies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the departure of executive officers and key research personnel;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">patent litigation and other intellectual property disputes;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">litigation and other disputes with our long-term suppliers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">fluctuations in the exchange rates between the U.S. dollars, Euros, Japanese yen, British pounds, Canadian dollars, Renminbi, Brazilian reals and Thailand Bhat;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the release or expiration of lock-up or other transfer restrictions on our outstanding common shares;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">sales or anticipated sales of additional common shares;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">share repurchase program.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In addition, the securities market has 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 have a material and adverse effect on the price of our common&#160;shares.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">37</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Substantial future sales of our common shares in the public market, or the perception that such sales could occur, could cause the price of our common shares to&#160;decline.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Sales of our common shares in the public market, or the perception that such sales could occur, could cause the market price of our common shares to decline. As of December 31, 2019, we had 59,371,684 common shares outstanding. The number of common shares outstanding and available for sale will increase when our employees and former employees who are holders of restricted share units and options to acquire our common shares become entitled to the underlying shares under the terms of their units or options. In addition, in connection with debt financing, we have issued warrants and may issue additional warrants to purchase our common shares. To the extent these warrants are exercised and the common shares sold into the market, the market price of our common shares could decline.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Your right to participate in any future rights offerings may be limited, which may cause dilution to your&#160;holdings.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We may from time to time distribute rights to our shareholders, including rights to acquire our securities. However, we cannot make these rights available in the U.S.&#160;unless we register the rights and the securities to which the rights relate under the Securities Act of 1933, or the Securities Act, or an exemption from the registration requirements is available. We are under no obligation to file&#160;a registration statement with respect to any such rights or securities or to endeavor to cause a registration statement to be declared effective. Moreover, we may not be able to establish an exemption from registration under the Securities Act. Accordingly, you may be unable to participate in our rights offerings and may experience dilution in your&#160;holdings.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our articles of continuance contain anti-takeover provisions that could adversely affect the rights of holders of our common&#160;shares.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The following provisions in our amended articles of continuance may deprive our shareholders of the opportunity to sell their shares at a premium over the prevailing market price by delaying or preventing a change of control of our&#160;company:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Our board of directors has the authority, without approval from the shareholders, to issue an unlimited number of preferred shares in one or more series. Our board of directors may establish the number of shares to be included in each such series and may fix the designations, preferences, powers and other rights of the shares of a series of preferred shares.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Our board of directors is entitled to fix and may change the number of directors within the minimum and maximum number of directors provided for in our articles. Our board of directors may appoint one or more additional directors to hold office for a term expiring no later than the close of the next annual meeting of shareholders, subject to the limitation that the total number of directors so appointed may not exceed one-third of the number of directors elected at the previous annual meeting of shareholders.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">You may have difficulty enforcing judgments obtained against us.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We are a corporation organized under the laws of Canada and a substantial portion of our assets are located outside of the U.S.&#160;A substantial portion of our current business operations is conducted in the PRC. In addition, a majority of our directors and officers are nationals and residents of countries other than the U.S. and a substantial portion of the assets of these persons are located outside the U.S.&#160;As a result, it may be difficult for you to effect service of process within the U.S.&#160;upon these persons. It may also be difficult for you to enforce judgments obtained in U.S.&#160;courts based on the civil liability provisions of the U.S.&#160;federal securities laws against us and our officers and directors. In addition, there is uncertainty as to whether the courts of Canada or the PRC would recognize or enforce judgments of U.S.&#160;courts against us or such persons predicated upon the civil liability provisions of the securities laws of the U.S. or any state. In addition, it is uncertain whether such Canadian or PRC courts would be competent to hear original actions brought in Canada or the PRC against us or such persons predicated upon the securities laws of the U.S. or any&#160;state.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">38</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">If a United States person is treated as owning at least 10% of our shares, such person may be subject to adverse United States federal income tax consequences.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If a United States person is treated as owning (directly, indirectly or constructively) at least 10% of the value or voting power of our shares, such person may be treated as a &#8220;United States shareholder&#8221; with respect to each &#8220;controlled foreign corporation,&#8221; or CFC, in our group. Where our group includes one or more United States subsidiaries, in certain circumstances we could be treated as a CFC and certain of our non-United States subsidiaries could be treated as CFCs (regardless of whether we are or are not treated as a CFC). We believe we and certain of our non-United States subsidiaries may be treated as CFCs for our taxable year ended December&#160;31, 2018.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">A United States shareholder of a CFC may be required to annually report and include in its United States taxable income its pro rata share of &#8220;Subpart&#160;F income,&#8221; &#8220;global intangible low-taxed income&#8221; and investments in United States property by CFCs, whether or not we make any distributions. An individual that is a United States shareholder with respect to a CFC generally would not be allowed certain tax deductions or foreign tax credits that would be allowed to a United States shareholder that is a United States corporation. A failure to comply with these reporting obligations may subject a United States shareholder to significant monetary penalties and may prevent starting of the statute of limitations with respect to such shareholder&#8217;s United States federal income tax return for the year for which reporting was due. We do not intend to monitor whether we or any of our non-United States subsidiaries are treated as CFCs or whether any investor is treated as a United States shareholder with respect to us or any of our CFC subsidiaries or to furnish to any United States shareholders information that may be necessary to comply with the aforementioned reporting and tax paying obligations. A United States investor should consult its own advisor regarding the potential application of these rules in its particular circumstances.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may be classified as a passive foreign investment company, which could result in adverse United&#160;States federal income tax consequences to United&#160;States Holders of our common&#160;shares.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Based on the current value of our assets and the composition of our income and assets, we do not believe we were a passive foreign investment company, or PFIC, for United States federal income tax purposes for our taxable year ended December 31, 2019. However, because our PFIC status for 2020 or any future taxable year may depend, in part, on the manner in which we operate our renewable energy generation assets, we cannot assure you that we will not be a PFIC for our current taxable year ending December 31, 2020 or any future taxable year. A non-United States corporation such as ourselves will be treated as a PFIC for United States federal income tax purposes for any taxable year if, applying applicable look-through rules, either (a) at least 75% of its gross income for such year is passive income or (b) at least 50% of the value of its assets (determined based on an average of the quarterly values of the assets) during such year is attributable to assets that produce or are held for the production of passive income. There are exceptions for income derived in the conduct of certain active businesses, including for income earned from commodities transactions. There is authority to suggest that income earned from our electricity generation business may qualify under the active business exception, but this authority is unclear. PFIC status is based on an annual determination that cannot be made until the close of a taxable year, involves extensive factual investigation, including ascertaining the fair market value of all of our assets on a quarterly basis and the character of each item of income that we earn, and is subject to uncertainty in several respects. In particular, the application of the PFIC rules to certain of our business lines is complex and unclear, and we cannot guarantee that the United States Internal Revenue Service, or IRS, will agree with any positions that we ultimately take. Accordingly, we cannot assure you that we will not be treated as a PFIC for any taxable year or that the IRS will not take a contrary position.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">39</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Changes in the composition of our income or composition of our assets may cause us to be more likely to be a PFIC. The determination of whether we are a PFIC for any taxable year may depend in part upon the value of our goodwill and other unbooked intangibles not reflected on our balance sheet (which may depend upon the market value of our common shares from time to time, which may be volatile) and also may be affected by how, and how quickly, we spend our liquid assets. Among other matters, if our market capitalization declines, we may be more likely to be a PFIC because our liquid assets and cash (which are for this purpose considered assets that produce passive income) may then represent a greater percentage of our overall assets. Further, while we believe our classification methodology and valuation approach is reasonable, it is possible that the IRS may challenge our methodology or valuation of our goodwill and other unbooked intangibles, which may result in our being or becoming a PFIC for the current or a future taxable&#160;year.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">If we are a PFIC for any taxable year during which a United&#160;States Holder (as&#160;defined in &#8220;Item&#160;10. Additional Information&#8212;E. Taxation&#8212;United&#160;States Federal Income Taxation&#8221;) holds a common share, certain adverse United&#160;States federal income tax consequences could apply to such United&#160;States Holder. See &#8220;Item&#160;10. Additional Information&#8212;E. Taxation&#8212;United&#160;States Federal Income Taxation&#8212;Passive Foreign Investment Company.&#8221;</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_4cecfc3a_bcee_475b_9cdb_79aca6e073f9"></a><a id="ITEM4INFORMATIONONTHECOMPANY_79732"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;4.&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">INFORMATION ON THE COMPANY</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">A.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">History and Development of the Company</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our legal and commercial name is Canadian Solar&#160;Inc. We were incorporated under the laws of the Province of Ontario, Canada in October&#160;2001. We changed our jurisdiction by continuing under the Canadian federal corporate statute, the Canada Business Corporations Act, or CBCA, effective June&#160;1, 2006. As a result, we are governed by the CBCA. See &#8220;&#8212;C. Organizational Structure&#8221; for additional information on our corporate structure, including a list of our major subsidiaries.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our principal executive office and principal place of business is located at 545&#160;Speedvale Avenue West, Guelph, Ontario, Canada N1K&#160;1E6. Our telephone number at this address is (1-519) 837-1881 and our fax number is (1-519) 837-2550. Our agent for service of process in the United&#160;States is CT&#160;Corporation System, located at 111&#160;Eighth Avenue, New&#160;York, New&#160;York&#160;10011.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">All inquiries to us should be directed at the address and telephone number of our principal executive office set forth above. Our website is www.canadiansolar.com. The information contained on or accessible through our website does not form part of this annual&#160;report.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">B.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Business Overview</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Overview</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are one of the world&#8217;s largest solar power companies and a leading vertically-integrated provider of solar power products, services and system solutions with operations in North America, South America, Europe, South Africa, the Middle East, Australia and Asia.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We design, develop and manufacture solar ingots, wafers, cells, modules and other solar power products. Our solar power products include standard solar modules and specialty solar products. We are incorporated in Canada and conduct most of our manufacturing operations in China and south-east Asia. Our products include a range of solar modules built to general specifications for use in a wide range of residential, commercial and industrial solar power generation systems. Specialty solar products consist of customized solar modules that our customers incorporate into their own products and complete specialty products, such as portable solar home systems. We sell our products primarily under our &#8220;Canadian Solar&#8221; brand&#160;name.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">40</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="white-space:pre-wrap;">In recent years, we have increased our investment in, and management attention on, our energy segment. Our energy segment primarily comprises solar power project development and sale, operating solar power projects and sales of electricity. Our energy segment contributed 20.0%, 42.1% and 22.5% of our net revenues in 2017, 2018 and 2019, respectively. While we plan to continue to monetize our current portfolio of solar power projects in operation, we also intend to grow our energy segment by building up our project pipeline and increasing the EPC services which we provide to customers. In March 2015, we acquired Recurrent Energy, LLC, or Recurrent, a leading solar energy developer with solar power projects located principally in California and Texas, and thereby significantly increased our solar project pipeline. As of January 31, 2020, our project backlog (formerly called  late-stage, utility-scale, solar project pipeline), which refers to projects that have passed their Cliff Risk Date and are expected to be built in the next one to four years, totaled approximately 3.7 gigawatt peak, or GWp, with 1,597 megawatt peak, or MWp, in North America, 1,087 MWp in Latin America, 806 MWp in Asia Pacific, 206 MWp in EMEA, 45 MWp in China. The Cliff Risk Date depends on the country where a project is located and is defined as the date on which the project passes the last of the high-risk development stages (usually receipt of all required environmental approvals, interconnection agreements, FITs and PPAs. As of January 31, 2020, our project pipeline (formerly called our early-to-mid-stage, utility-scale, solar project pipeline) totaled 11.7 GW. In addition to our project backlog and project pipeline, as of January 31, 2020, we had 512 MWp of solar projects in construction; and a portfolio of solar power projects in operation totaling 880.2 MWp with an estimated resale value of approximately $1.0 billion. For those projects that are subject to U.S. tax equity deals, only the value of the class B shares held by us was included in such estimate of resale value. See &#8220;&#8212;Sales, Marketing and Customers&#8212;Energy Segment&#8212;Solar Project Development and Sale&#8221; and &#8220;&#8212;Sales, Marketing and Customers&#8212;Energy Segment&#8212;Operating Solar Power Projects and Sales of Electricity&#8221; for a description of the status of our solar power projects in operation.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We believe that we offer one of the broadest crystalline silicon solar power product lines in the industry. Our product lines range from modules of medium power output to high efficiency, high-power output multi-crystalline and mono-crystalline modules, as well as a range of specialty products. We currently sell our products to a diverse customer base in various markets worldwide, including the U.S., Brazil, Japan, China, Australia, Germany, Mexico, South Africa, Spain, Korea, and India. Our customers are primarily distributors, system integrators, project developers and installers/EPC companies.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We employ a flexible vertically integrated business model that combines internal manufacturing capacity with direct material purchases of both cells and wafers. We believe this approach has benefited us by lowering the cost of materials of our solar module products. We also believe that this approach provides us with greater flexibility to respond to short-term demand increases.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December&#160;31, 2019, we had:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">13 GW of total annual solar module manufacturing capacity, approximately 9.6 GW of which is located in China, 3.1 GW in Southeast Asia and the rest in other regions;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">9.6 GW of total annual solar cell manufacturing capacity, approximately 3.1 GW of which is located in Southeast Asia and the rest in China;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">5 GW of total annual wafer manufacturing capacity located in China; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">1.85 GW of total annual ingot manufacturing capacity located in China.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We intend to use substantially all of the silicon wafers that we manufacture to supply our own solar cell plants and to use substantially all of the solar cells that we manufacture to produce our own solar module products. We also intend to use some of the solar modules we produce in our energy segment. Our solar module manufacturing costs in China, including purchased polysilicon, wafers and cells, decreased from 31.5 cents per watt in December 2017 to 20.4 cents per watt in December 2018, and further to 18.8 cents per watt in December 2019. We expect to continue to decrease the manufacturing costs for our production of wafers, cells and modules.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We intend to continue to focus on reducing our manufacturing costs by improving solar cell conversion efficiency, enhancing manufacturing yields and reducing raw material costs.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">41</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our Products and Services</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our business consists of the following two business segments: MSS segment and energy segment. Our MSS segment primarily involves the design, development, manufacturing and sale of a wide range of solar power products, including standard solar modules, specialty solar products and solar system kits. The MSS segment also provides EPC and O&amp;M services. Our energy segment primarily consists of solar power project development and sale, operating solar power plants and sales of&#160;electricity.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Products Offered in Our MSS Segment</i></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Standard Solar Modules</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our standard solar modules are arrays of interconnected solar cells in weatherproof encapsulation. We produce a wide variety of standard solar modules, ranging from 3W to over 445W in power and using multi-crystalline or mono-crystalline cells in several different design patterns, including shingled cells. We introduced the industry&#8217;s first module product using 166mm wafers, in comparison with the conventional 156.75mm wafers. Our mainstream solar modules include CS3K (120 half-cells, 156.75mm wafer), CS3U (144 half-cells, 156.75mm wafer), BiKu CS3U-B-AG (144 half-cells, bifacial module with 156.75mm wafer), CS3L (120 half-cells, 166mm wafer), CS3W (144 half-cells, 166mm wafer), BiHiKu CS3W-B-AG (144 half-cells, bifacial module, 166mm wafer), HiDM CS1H (60 cells, shingled module, 156.75mm wafer), and HiDM CS1H all-black modules. The mainstream modules are designed for residential, commercial and utility applications. The small modules are for specialty applications.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We launched our Quartech modules in March&#160;2013. Quartech modules use 4-busbar solar cell technology which improves module reliability and efficiency. CS6P (6&#160;&#215;&#160;10 cell layout) Quartech modules have power output between 255&#160;W and 270&#160;W, which enables us to offer customers modules with high power. We launched and started shipping Dymond modules in October&#160;2014. Dymond modules are designed with double-glass encapsulation, which is more reliable for harsh environments and ready for 1500V solar&#160;systems.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We launched and started shipping SmartDC modules in September&#160;2015. SmartDC modules feature an innovative integration of our module technology and power optimization for grid-tied PV applications. By replacing the traditional junction-box, SmartDC modules eliminate module power mismatch, mitigate shading losses and optimize power output at module-level. SmartDC modules also provide module-level data to minimize operational costs and to permit effective system management.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In March&#160;2016, we launched our new Quintech SuperPower mono-crystalline modules. Quintech SuperPower mono-crystalline modules are made of cells with PERC technology and significantly improve module efficiency and reliability. CS6K (6&#160;&#215;&#160;10 cell layout aligned with mainstream dimensions) Quintech SuperPower mono modules have a power output between 285&#160;W and 300&#160;W with high efficiency and high reliability. We started commercial production of Quintech CS6K and CS6U modules in 2016. These modules have features such as 5&#160;busbar cells, standardized module dimensions and cell and module improvements, resulting in higher wattage production and better performance. These modules are intended for broad base introduction, which covers mono-crystalline cells, multi-crystalline cells and mono-crystalline PERC&#160;cells.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">At the beginning of 2015, we started commercial production of Onyx cells with our in-house developed black silicon technology, Onyx technology. Onyx technology employs a nano-texturing process to make the multi-crystalline cell almost fully black, increasing cell efficiency and module wattage at the same time. We started increasing the production volume of Onyx cells in 2016, which have been incorporated into our Quartech and Quintech module families.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In July&#160;2016, we launched the 1500V System Voltage crystalline solar module portfolio. The 1500V System Voltage crystalline module provides a robust and cost-efficient system solution by adding more modules in a string, which decreases the number of combiner boxes, direct current homeruns and trenching. This unique product design improves the overall system performance and efficiency and reduces labor cost and installation&#160;time.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">42</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2017, we launched the Ku module series which results in 100% improvement in failure redundancy with innovative cell matrix interconnection technology. The module power output is enhanced by up to 10&#160;Watt per module while reducing the module working temperature. We developed P4&#160;cell technology, which is multi-crystalline PERC technology. The combination of P4&#160;cell and Ku&#160;module technologies enable us to offer customer higher wattage and more reliable multi crystalline module products. We also launched and shipped HDM (High Density Module) product to some markets this year. The HDM offers high wattage, high module efficiency and pleasant aesthetics for residential applications.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2018, we launched the BiKu modules which are bifacial designed and can generate additional electricity from the backside of the module. These modules have more shading tolerance and a much lower hot spot risk thanks to the innovative design on the bifacial cell and double glass module. At the end of 2018, we began the mass production of the HiKu module, the first commercially available multi-crystalline module exceeding 400&#160;watts with significant leveraged cost of energy, or LCOE, advantages. In 2018, we launched the HiDM module, which is an upgrade of the HDM module and uses shingled cells to increase both module wattage and efficiency. We also launched P5&#160;technology, which is based on casted mono technology developed in house, and will boost cell and module efficiencies close to mono while retaining all the advantages of multi technology, such as LID, LeTID and lower&#160;cost.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="white-space:pre-wrap;">In 2019, we continued to expand our high-power module product portfolio based on 166mm wafers. In July 2019, we started to mass-produce BiHiku modules. BiHiKu is a bifacial module utilizing our 166mm P4 (multi PERC) cells which have a front side power output exceeding 400 watts.  In addition to modules utilizing our 166mm P4 (multi PERC) cells, we launched HiKu and BiHiKu modules using 166mm P5 (casted mono) and mono PERC cells. Our CS3L (120 half-cells, 166mm wafer) mono PERC modules can achieve power output exceeding 360 watts, which is suited for residential applications, and our CS3W (144 half-cells, 166mm wafer) mono modules can reach wattage up to 445 watts. By the end of August 2019, we converted 100% of our cell production capacity into PERC and by the end of the year, over one-third of our module capacity was for HiKu and BiHiKu. Our 166mm wafer module products are becoming our new &#8220;standard&#8221; products. For the residential market, we ramped up the all-black version of our HiDM module with appealing aesthetics and high module efficiency.  Our full-cell modules such as CS6K and CS6U are gradually being phased out and replaced by Ku, BiKu and HiDM modules. In 2019, we also officially phased out all the double glass mono-facial modules due to the introduction of the more competitive bifacial modules.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our standard solar modules are designed to endure harsh weather conditions and to be transported and installed easily. We sell our standard solar modules primarily under our brand&#160;name.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Energy Solution Products</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our non-module, energy solution products are mainly solar inverters and energy storage systems for utility, commercial, residential and specialty product applications.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our solar inverters are grid-tied, converting direct current electricity from our solar modules. Our inverter products cover typical power ranges from 1.5kW to 125kW power levels and are certified and available broadly in many regions globally.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our Maple solar system is an economical, safe and clean energy solution for families who burn kerosene for lighting. The Maple solar system includes a solar panel, energy-efficient light-emitting diode, or LED, lights, Li-ion batteries and multiple cell phone charger plugs. It can be used as a regular light at home or for camping, as an SOS signal in emergency, and as a mobile power bank for consumer electronics, such as mobile phones or other 5 V DC electronic devices.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Solar System Kits</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">A solar system kit is a ready-to-install package consisting of solar modules produced by us and components, such as inverters, racking system and other accessories, supplied by third parties. We began selling solar system kits in 2010 and in 2019 sold them primarily to customers in Japan, and China.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">43</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">EPC and O&amp;M Services</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our MSS segment started to provide EPC services in 2018 and O&amp;M services in 2012. In 2019, we provided EPC services primarily in Australia and O&amp;M services primarily in the North America, Japan, Australia and China. O&amp;M services include inspections, repair and replacement of plant equipment and site management and administrative support services for solar power projects in operation.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Products and Services Offered in Our Energy Segment</i></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Solar Project Development and Sale</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We develop, build and sell solar power projects. Our solar project development activities have grown over the past several years through a combination of organic growth and acquisitions. Our global solar power project business develops projects primarily in the U.S., Japan, China, Argentina, Mexico, India, Brazil, the United Kingdom, Australia, Italy and Namibia. We have a team of experts who specialize in project development, evaluations, system designs, engineering, managing, project coordination and organizing financing. Our project sales team actively identifies and pursues suitable buyers for our solar power projects. See &#8220;&#8212;Sales, Marketing and Customers&#8212;Energy Segment&#8212;Solar Project Development and Sale&#8221; for a description of the status of our solar power projects.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Operating Solar Power Plants and Sales of Electricity</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We operate certain of our solar plants and generate income from the sale of electricity. Although most of our solar power projects are developed for sale, we may operate them for a period of time before they are sold. As of January 31, 2020, we had a fleet of solar power plants in operation with an aggregate capacity of approximately 880.2 MWp.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Supply Chain Management</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">MSS Segment</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our MSS segment depends on our ability to obtain a stable and cost-effective supply of polysilicon, solar ingots, wafers and cells. Our silicon wafer agreements set forth price and quantity information, delivery terms and technical specifications. While these agreements usually set forth specific price terms, most of them also include mechanisms to adjust the prices, either upwards or downwards, based on market conditions. Over the years, we have entered into a number of long-term supply agreements with various silicon and wafer suppliers in order to secure a stable supply of raw materials to meet our production requirements. Under our supply agreements with certain suppliers, and consistent with historical industry practice, we make advance payments prior to scheduled delivery dates. These advance payments are made without collateral and are credited against the purchase prices payable by us. In 2019, we purchased a significant portion of the silicon wafers used in our solar modules from third parties. Our largest silicon wafer supplier was GCL, and we have recently extended our silicon wafer purchase agreement with GCL through 2020. We plan to continue to diversify our external wafer and polysilicon suppliers.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We purchase solar cells from a number of international and local suppliers, in addition to manufacturing our own solar cells and having toll manufacturing arrangements with our solar cell suppliers. Our solar cell agreements set forth price and quantity information, delivery terms and technical specifications. These agreements generally provide for a period of time during which we can inspect the product and request the seller to make replacements for damaged goods. We generally require the seller to bear the costs and risks of transporting solar cells until they have been delivered to the location specified in the agreement. In 2019, our largest supplier of solar cells was Jiangsu Shunfeng. As we expand our business, we expect to increase our solar cell manufacturing capacity and diversify our solar cell supply channel to ensure we have the flexibility to adapt to future changes in the supply of, and demand for, solar cells.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">44</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For risks relating to the long-term agreements with our raw material suppliers, see &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Long-term supply agreements may make it difficult for us to adjust our raw material costs should prices decrease. Also, if we terminate any of these agreements, we may not be able to recover all or any part of the advance payments we have made to these suppliers and we may be subject to litigation.&#8221;</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Energy Segment</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our MSS segment supplies part of the solar modules used in our energy segment. For the solar power projects that we develop, we have the option of either using our own engineering and operation teams or hiring third-party contractors to build and operate the projects prior to&#160;sale.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Manufacturing, Construction and Operation</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">MSS Segment</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We assemble our solar modules by interconnecting multiple solar cells by tabbing and stringing them into a desired electrical configuration. We lay the interconnected cells, laminate them in a vacuum, cure them by heating and package them in a protective lightweight anodized aluminum frame. We seal and weatherproof our solar modules to withstand high levels of ultraviolet radiation, moisture and extreme temperatures.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We selectively use automated equipment to enhance the quality and consistency of our finished products and to improve the efficiency of our manufacturing processes. Key equipment in our manufacturing process includes automatic laminators, simulators and solar cell testers. The design of our assembly lines provides flexibility to adjust the ratio of automated equipment to skilled labor in order to maximize quality and&#160;efficiency.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Energy Segment</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We develop, construct, maintain, sell and/or operate solar power projects primarily in the U.S., Japan, China, Argentina, Mexico, India, Brazil, the United Kingdom, Australia, Italy and Namibia. We engage in all aspects of the development and operation of solar power projects, including project selection, design, permitting, engineering, procurement, construction, installation, monitoring, operation and maintenance. We also provide EPC services to third-parties.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our solar power projects development process primarily consists of the following stages:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:italic;font-weight:normal;text-align:left;white-space:pre-wrap;">Market due diligence and project selection.  </i><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">We search for project opportunities globally with the goal of maintaining a robust and geographically diversified project portfolio. Our business team closely monitors the global solar power projects market and gathers market intelligence to identify project development opportunities. Our development team prepares market analysis reports, financial models and feasibility studies to guide us in evaluating and selecting solar power projects. As we consider undertaking new solar power projects, we weigh a number of factors including location, local policies and regulatory environment, financing costs and potential internal rate of&#160;returns.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:italic;font-weight:normal;text-align:left;white-space:pre-wrap;">Project financing.  </i><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">We typically include project financing plans in our financial models and feasibility studies. We finance our projects through our working capital and debt financing from local banks or international financing sources that require us to pledge project&#160;assets.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:italic;font-weight:normal;text-align:left;white-space:pre-wrap;">Permitting and approval.  </i><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">We either obtain the permits and approvals necessary for solar projects ourselves or we acquire projects that have already received the necessary permits and approvals. The permitting and approval process for solar power projects varies from country to country and often from region to region within a&#160;country.</span></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">45</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:italic;font-weight:normal;text-align:left;">Project design, engineering, procurement and construction. </i><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Our engineering team generally designs solar power projects to optimize performance while minimizing construction and operational costs and risks. The engineering design process includes the site layout and electrical design as well choosing the appropriate technology, in particular module and inverter types. We use solar modules produced by us and by third-party manufacturers, and procure inverters and other equipment from third-party suppliers. In China, we generally construct solar projects through Suzhou Gaochuangte New Energy Development Co., Ltd., our 90% owned subsidiary.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Currently, we operate and maintain solar power plants primarily in the U.S., Japan, China, Argentina and India. We enter into grid-connection agreements and/or PPAs with the local grid companies. After a project is connected to the grid, we regularly inspect, monitor and manage the project site with the intention to maximize the utilization rate, rate of power generation and system life of the project.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We operate a monitoring center in Guelph, Ontario, Canada, which adopts the global monitoring platform (CSEye) to manage system alarms and reports. Our proprietary algorithms analyze the performance of the third party power plants that we operate and maintain on a daily basis and identify potential problems. For example, they raise alarms when inverters or strings are under-performing.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Quality Control and Certifications</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have registered our quality control system according to the requirements of ISO 9001:2008 standards. TUV Rheinland Group, a leading international service company that documents the safety and quality of products, systems and services, audits our quality systems. We inspect and test incoming raw materials to ensure their quality. We monitor our manufacturing processes to ensure quality control and we inspect finished products by conducting reliability and other tests.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We also maintain various international and domestic certifications for our solar modules. For example, we have obtained IEC61215/61730 certifications for sales of our modules in Europe, UL1703 and UL61730 certifications for sales of our modules in North America, and other necessary certifications for sales of our modules in Japan, South Korea, India, Brazil, Australia, Taiwan, and Great Britain and under several solar programs in China, including Top Runner. The IEC certification is issued by Verband Deutscher Elektrotechniker, or VDE, and the UL certification by Canadian Standards Association, or CSA. All of our modules launched in the past years satisfy the latest standards, including IEC 61215, IEC61730 and UL 1703, and have achieved high California Energy Commission, or CEC, PVUSA test condition ratings. All have passed additional extended stress program qualifications such as salt mist testing, ammonia testing, PID testing, as well as extra-standard or &#8220;3-times&#8221; testing programs from PVEL and VDE. Earlier this year, we also achieved successfully all required steps for a new competitive carbon footprint certification for the French market special tender requirements.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our PV test laboratory is accredited by CNAS according to ISO 17025 quality management standard, and has been approved into various Data Acceptance Program by the CSA, the VDE, Intertek Satellite Lab in the U.S. and the China Quality Certification Center, or CQC, in China. The PV test laboratory allows us to conduct some product certification testing in-house, which decreases time-to-market and certification costs, as well as exhaustive product and component reliability research to drive improvements in product durability.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">46</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Sales, Marketing and Customers</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table sets forth, for the periods indicated, certain information relating to our total net revenues derived from our customers categorized by their geographic locations for the periods indicated:</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:41.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="11" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:57.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total&#160;Net</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total&#160;Net</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total&#160;Net</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Region</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenues</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenues</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenues</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="11" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:57.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;thousands&#160;of&#160;$,&#160;except&#160;for&#160;percentages)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Asia</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,926,091</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 56.8</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,571,287</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 42.0</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,018,083</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 31.8</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Americas</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,108,162</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 32.7</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,474,657</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 39.4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,402,041</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 43.8</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Europe and others</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 356,140</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10.5</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 698,568</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18.6</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 780,459</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 24.4</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,390,393</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 100.0</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,744,512</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 100.0</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,200,583</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 100.0</b></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">MSS Segment</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our primary customers are distributors, system integrators, project developers and installers/EPC companies. A small number of customers have historically accounted for a significant portion of our net revenues. In 2017, 2018 and 2019, the top five customers of the MSS segment by net revenues collectively accounted for approximately 18.0%, 9.1% and 15.8%, respectively, of our total net revenues. Sales to our largest customer in those years accounted for 7.2%, 2.6% and 6.6%, respectively, of our total net revenues.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We market and sell solar modules worldwide for residential, commercial and utility-scale solar energy projects and solutions. We primarily sell our products to distributors and large-scale installers through our own, home-grown sales teams, who operate throughout Europe, the Americas, the Middle East and the Asia-Pacific regions.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our marketing activities include brand sponsorship, social media discussions and digital marketing. Our teams also develop channel marketing programs to support our customers in their marketing of our business and products, in addition to providing to them various services such as product training, new product briefing, and sales training. Furthermore, our marketing team focuses heavily on public relations and crisis management to safeguard our public image. By working closely with our sales teams and other leading solar research companies, our marketing team provides up-to-date market information on a constant basis, supporting the efforts of our sales team. Our marketing staff is located throughout the Americas, China, Europe, India, Japan, Australia, South Africa and South&#160;Korea.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We sell our standard solar module products primarily under three types of arrangements: sales contracts to distributors; sales to systems integrators, installers/EPC companies and project developers; and OEM/tolling manufacturing arrangements.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We target our sales and marketing efforts for our specialty solar products at companies in selected industry sectors, including the automotive, telecommunications and LED lighting sectors. As standard solar modules increasingly become commoditized and technology advancements allow solar power to be used in more off-grid applications, we intend to increase our sales and marketing efforts on our specialty solar products and capabilities. Our sales and marketing team works with our specialty solar products development team to take into account changing customer preferences and demands to ensure that our sales and marketing team is able to effectively communicate to customers our product development changes and innovations. We intend to establish additional relationships in other market sectors as the specialty solar products market&#160;expands.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">47</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As we expand our manufacturing capacity and enhance our brand name, we continue to develop new customer relationships in a wider range of geographic markets to decrease our market concentration. In 2013, we significantly increased our total number of customers and achieved a leading market share in Canada, Japan, Thailand and Central America, which we maintained in 2014. In 2015, we maintained our leading market share in those markets and at the same time expanded our customer base into several emerging solar markets, such as Southeast Asia. In 2016, we achieved a leading market share in Brazil and maintained our leading market share in Canada, Japan, Thailand and India. In 2017, we maintained our leading market share in India, Japan, Brazil, Europe and Middle East. In 2018, we increased our market share in the Middle East, Africa, Latin America and Australia, and maintained our leading market share in Japan and Europe. In 2019, we increased our market share in Latin America and Australia, and maintained our leading market share in Japan, Europe, Middle East and Africa. We intend to continue to expand our sales in these areas and develop more emerging markets in 2020.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2010, we commenced the sale of solar system kits. A solar system kit is a ready-to-install package consisting of solar modules produced by us and components, such as inverters, racking system and other accessories, supplied by third parties. In 2019, we sold approximately 219.6 MW of system kits primarily in Japan and China.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2012, we started to provide O&amp;M services for solar power plants in commercial operation. Our O&amp;M services include inspections, repair and replacement of plant equipment, site management and administrative support services.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Energy Segment</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We develop, construct, maintain, sell and/or operate solar plants primarily in the U.S., Japan, China, Brazil, the United Kingdom, Mexico, India, Australia, Italy and Namibia. We also provide EPC, development and assets management services. We sell our projects to large utility companies, other power producers and asset managers. Customers for our EPC, development and asset management services include solar project developers and owners.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In order to continue to grow our energy segment, we conduct market due diligence, routinely meet with industry players and interested investors, and attend industry conferences and events to identify project development opportunities. Our energy segment team has extensive industry expertise and significant experience in working with government authorities and developing new projects for our target&#160;markets.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Solar Project Development</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of January 31, 2020, our project backlog (formerly called our late-stage, utility-scale, solar project pipeline), which refers to projects that have passed their Cliff Risk Date and are expected to be built in the next one to four years, totaled approximately 3.7 GWp, with 1,597 MWp in North America, 1,087 MWp in Latin America, 806 MWp in Asia Pacific, 206 MWp in EMEA, 45 MWp in China. The Cliff Risk Date depends on the country where a project is located and is defined as the date on which the project passes the last of the high-risk development stages (usually receipt of all required environmental approvals, interconnection agreements, FITs and PPAs.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">48</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of January 31, 2020, our project pipeline (formerly called our early-to-mid-stage, utility-scale, solar project pipeline) totaled 11.7 GW.</p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td colspan="7" style="background-color:auto;vertical-align:bottom;width:100%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Project&#160;Backlog&#160;and&#160;Pipeline&#160;by&#160;Region*</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Region</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Backlog</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Pipeline</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">North America</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,597</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,232</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,829</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Latin America</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,087</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,246</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,333</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">EMEA</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 206</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,113</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,319</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Asia Pacific</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 806</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 676</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,482</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">China</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 45</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 410</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 455</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 3,741</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 11,677</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 15,418</b></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 18pt;">Note: Backlog and pipeline table represents the gross MWp size of the projects, including minority interest.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 18pt;">More recently, in 2018, the Energy team at Recurrent, our subsidiary in the U.S., secured two PPAs for a total of 150 MWac with 180 MWh of storage attached. These PPAs allow Recurrent to develop in-house expertise on energy storage matters, including permitting, interconnection, engineering and design, structuring of off-take agreements to meet customer&#8217;s needs, as well as plant operation. The energy segment has been selected and is in negotiation with multiple off-take parties for additional energy storage projects totaling 705 MWac with 2,820 MWh of storage.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 12pt 18pt;">The table below sets forth our storage project backlog and pipeline as of January 31, 2020.</p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Backlog</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Pipeline</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Storage (MWh)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 320</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,500</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,820</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 18pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The expected COD schedule of our project backlog, as of January 31, 2020, was as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:20.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:21.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td colspan="7" style="background-color:auto;vertical-align:bottom;width:100%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Expected COD Schedule (MWp)</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:20.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022&#160;and</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:20.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Thereafter</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:20.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 63</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 449</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:21.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 512</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 12pt 0pt;">Note: Approximately 264 MWp from LatAm portfolio in Brazil sold at NTP to Nebras, with milestone revenue recognition over 2019-2021.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Operating Solar Power Plants and Sales of Electricity</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In addition to our project backlog, we had a portfolio of solar power plants in operation totaling 880.2 MWp as of January 31, 2020. Our revenue generated from sale of electricity was $5.9 million in 2019. The resale value of these plants was estimated at approximately $1.0 billion as of January 31, 2020. For those plants that are subject to U.S. tax equity deals, only the value of the class B shares held by us was included in the aforementioned estimate of resale value.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Our total portfolio of solar power plants in operation as of January 31, 2020 was as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:11.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td colspan="13" style="background-color:auto;vertical-align:bottom;width:100%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Projects in Operation (MWp)</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:11.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">U.S.</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Japan</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">China</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">India</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Mexico</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Others</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:11.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 103.9</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 133.7</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 458.7</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 35.0</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100.1</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 48.8</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 880.2</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Customer Support and Service</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We typically sell our standard solar modules with a twelve-year warranty against defects in materials and workmanship and a linear power performance warranty that guarantees the actual power output of our modules.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">49</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For solar power projects built by us, we provide a limited workmanship or balance of system warranty against defects in engineering, design, installation and construction under normal use, operation and service conditions for a period of up to ten years following the energizing of the solar power project. In resolving claims under the workmanship or balance of system warranty, we have the option of remedying through repair, refurbishment or replacement of equipment. We have also entered into similar workmanship warranties with our suppliers to back up our warranties.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As part of our energy business, before commissioning solar power projects, we conduct performance testing to confirm that the projects meet the operational and capacity expectations set forth in the agreements. In limited cases, we also provide for an energy generation performance test designed to demonstrate that the actual energy generation for up to the first three years meets or exceeds the modeled energy expectation (after adjusting for actual solar irradiation). In the event that the energy generation performance test performs below expectations, the appropriate party (EPC&#160;contractor or equipment provider) may incur liquidated damages capped at a percentage of the contract price. In certain instances, a bonus payment may be received if the energy generation performance test performs above expectations.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our customer support and service function handles technical inquiries and warranty-related issues. In recent years, we expanded our capacity in these areas to better enable us to handle our customer&#8217;s questions and concerns in a timely and professional manner.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2019, we renewed our product warranty insurance coverage to provide additional security to our customers. See &#8220;&#8212;Insurance&#8221; below. Our customer support and service function will continue to expand and improve services we provide to our&#160;customers.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Competition</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">MSS Segment</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The market for solar power products is competitive and evolving. We compete with American companies, such as First Solar and SunPower, and Asia-based companies such as Longi, Trina, Jinko, JA Solar and Hanwha Q Cells. Some of our competitors are developing or producing products based on alternative solar technologies, such as thin film PV materials, that may ultimately have costs similar to, or lower than, our projected costs. Solar modules produced using thin film materials, such as cadmium telluride and copper indium gallium selenide technology, generally have lower conversion efficiency but do not use silicon for production, compared to our crystalline silicon solar module products, and as such are less susceptible to increases in the costs of silicon. Some of our competitors have also become vertically integrated, from upstream polysilicon manufacturing to solar system integration. In addition, the solar power market in general competes with other sources of renewable and alternative energy as well as conventional power generation.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We believe that the key competitive factors in the market for solar power products include:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">price;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the ability to deliver products to customers on time and in the required volumes;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">product quality and associated service issues;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">nameplate power and other performance parameters of the module, such as power tolerances;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">value-added services such as system design and installation;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">value-added features such as those that make a module easier or cheaper to&#160;install;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">additional system components such as mounting systems, delivered as a package or&#160;bundle;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">brand equity and any good reputation resulting from the above items, including the willingness of banks to finance projects using modules produced by a particular supplier;</span></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">50</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">customer relationships and distribution channels; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the aesthetic appearance of solar power products.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In the immediate future, we believe that our ability to compete depends on our ability to deliver cost-effective products in a timely manner and to develop and maintain a strong brand name based on high quality products and strong relationships with downstream customers. Our competitiveness also depends on our ability to effectively manage our cash flow and balance sheet and to maintain our relationships with the financial institutions that fund solar power projects. Consolidation of the solar industry is already occurring and is expected to continue in the near future. We believe that such consolidation will benefit our company in the long-term. We believe that the key to competing successfully in the long-term is to produce innovative, high quality products at competitive prices and develop an integrated sales approach that includes services, ancillary products, such as mounting systems and inverters, and value-added product features. Our goal is to offer our customers solar power products that deliver the lowest LCOE. Additionally, we believe that a good marketing program and the strong relationships that we are building with customers and suppliers will support us in this competitive environment.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Energy Segment</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our energy segment is a capital-intensive business with numerous industry participants. We face competition from a large and diverse group of local and international project developers, financial investors and certain utility companies. These competitors vary in terms of size, geographic focus, financial resources and operating capabilities and are active in Japan, the U.S., China, Brazil, India, Mexico, the EU, Australia and other markets where we operate or intend to enter. We compete in a diversified and complicated landscape since the commercial and regulatory environments for solar power project development, sale and operation vary significantly from region to region and country to country. Our primary competitors are local and international developers and operators of solar power projects. We believe the key competitive factors in the global solar power project development industry include:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">vertical integration with upstream manufacturing;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">permit and project development experience and expertise;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">reputation and track record;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">relationship with government authorities and knowledge of local policies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">strong internal working capital and good relationship with banks and international organizations that enhance access to external financing;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">experienced technicians and executives who are familiar with the industry and the implementation of our business plans;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">expertise and experience in providing EPC.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We cannot, however, guarantee that some of our competitors do not or will not have advantages over us in terms of greater operational, financial, technical, management or other resources in particular markets or in general.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Currently, we develop and construct and, in limited cases, operate and maintain solar power projects in various regions including the U.S., China, Japan, Brazil, Argentina, India, Italy and Australia. We compete to supply energy to potential customers with a limited number of utilities and providers of distributed generation in these markets. If we wish to enter into new PPAs for our solar power projects upon termination of previous PPAs, we compete with conventional utilities primarily based on cost of capital, generation located at customer sites, operations and management expertise, price (including predictability of price), green attributes of power, the ease by which customers can switch to electricity generated by our energy systems and our open architecture approach to working within the industry, which facilitates collaboration and project acquisitions.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">51</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For further discussion of the competitive risks that we face, see &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Because the markets in which we compete are highly competitive and quickly evolving, because many of our competitors have greater resources than we do or are more adaptive, and because we have a limited track record in our energy segment, we may not be able to compete successfully and we may not be able to maintain or increase our market share.&#8221;</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Insurance</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We maintain property risk insurance policies with reputable insurance companies to cover our equipment, facilities, buildings and inventories. The coverage of these insurance policies includes losses due to natural hazards and losses arising from unforeseen accidents. Our manufacturing plants in China and elsewhere are covered by business interruption insurance. However, significant damage or interruption to any of our manufacturing plants, whether as a result of fire or other causes, could still have a material and adverse effect on our results of operations. We also maintain commercial general liability (including product liability) coverage. We obtained credit insurance from China Export&#160;&amp; Credit Insurance Corporation, or Sinosure. Credit insurance is designed to offset the collection risk of our account receivables for certain customers within the credit limits approved by Sinosure. Risks related to marine, air and inland transit for the export of our products and domestic transportation of materials and products are covered under cargo transportation insurance. We also maintain directors and officers liability insurance.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have agreements with a group of insurance companies to reduce some of the risks associated with our warranties. Under the terms of the insurance policies, the insurance companies are obliged to reimburse us, subject to certain maximum claim limits and certain deductibles, for the actual product warranty costs that we incur under the terms of our warranty against defects in workmanship and material and our warranty relating to power output. The warranty insurance is renewable annually. We believe that our warranty improves the marketability of our products and our customers are willing to pay more for products with warranties backed by&#160;insurance.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Environmental Matters</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Except as disclosed in the &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Doing Business in China,&#8221; we believe we have obtained the environmental permits necessary to conduct the business currently carried on by us at our existing manufacturing facilities. We have also conducted environmental studies in conjunction with our solar power projects to assess and reduce the environmental impact of such&#160;projects.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our products must comply with the environmental regulations of the jurisdictions in which they are installed. We make efforts to ensure that our products comply with the EU Regulation (EC) No&#160;1907/2006 concerning the Registration, Evaluation, Authorization and Restriction of Chemicals (REACH).</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our operations are subject to regulation and periodic monitoring by local environmental protection authorities. If we fail to comply with present or future environmental laws and regulations, we could be subject to fines, suspension of production or cessation of&#160;operations.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Government Regulations</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">This section sets forth a summary of certain significant regulations or requirements that affect our business activities in China or our shareholders&#8217; right to receive dividends and other distributions from&#160;us.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;">Renewable Energy Law and Other Government Directives</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In February&#160;2005, China enacted its Renewable Energy Law, which became effective on January&#160;1, 2006 and was revised in December&#160;2009. The revised Renewable Energy Law, which became effective on April&#160;1, 2010, sets forth policies to encourage the development and use of solar energy and other non-fossil energy sources and their on-grid generation. It also authorizes the relevant pricing authorities to set favorable prices for the purchase of electricity generated by solar and other renewable power generation systems.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">52</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The law also sets forth the national policy to encourage the installation and use of solar energy water-heating systems, solar energy heating and cooling systems, solar PV systems and other solar energy utilization systems. It also provides financial incentives, such as national funding, preferential loans and tax preferences for the development of renewable energy projects subject to certain regulations of the relevant authorities.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In November&#160;2005, the NDRC promulgated the Renewable Energy Industry Development Guidance Catalogue, in which solar power figured prominently. In January&#160;2006, the NDRC promulgated two implementation directives with respect to the Renewable Energy Law. In January&#160;2007, the NDRC promulgated another related implementation directive. These directives set forth specific measures for setting the price of electricity generated by solar and other renewable power generation systems, for sharing additional expenses, and for allocating administrative and supervisory authority among different government agencies at the national and provincial levels. They also stipulate the responsibilities of electricity grid companies and power generation companies with respect to the implementation of the Renewable Energy&#160;Law.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In August&#160;2007, the NDRC promulgated the Medium and Long-Term Development Plan for the Renewable Energy Industry. This plan sets forth national policy to provide financial allowance and preferential tax regulations for the renewable energy industry. The Outline of the Thirteenth Five-Year Plan for National Economic and Social Development of the PRC, which was approved by the National People&#8217;s Congress in March&#160;2016, the Thirteenth Five-Year Plan for Renewable Energy Development, which was promulgated by the NDRC in December&#160;2016, and the Thirteenth Five-Year Plan for Solar Power Generation, which was promulgated by the National Energy Administration in December&#160;2016 also demonstrates a commitment to promote the development of renewable energy to enhance the competitiveness of the renewable energy industry, including the solar energy industry.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">China&#8217;s Ministry of Housing and Urban-Rural Development (formerly, the Ministry of Construction) also issued a directive in June&#160;2005 which seeks to expand the use of solar energy in residential and commercial buildings and encourages the increased application of solar energy in different townships. Similarly, China&#8217;s State Council promulgated a directive in July&#160;2005, which sets forth specific measures to conserve energy resources. In November&#160;2005, China&#8217;s Ministry of Housing and Urban-Rural Development promulgated the Administrative Provisions on Energy Conservation for Civil Constructions which encourages the development of solar energy. In August&#160;2006, the State Council issued the Decision on Strengthening the Work of Energy Conservation which encourages the great development of the solar energy and other renewable energy. In addition, on April&#160;1, 2008, the PRC Energy Conservation Law came into effect. Among other objectives, this law encourages the installation of solar power facilities in buildings to improve energy efficiency. In July&#160;2009, China&#8217;s Ministry of Finance and Ministry of Housing and Urban-Rural Development jointly promulgated &#8220;the Urban Demonstration Implementation Program of the Renewable Energy Building Construction&#8221; and &#8220;the Implementation Program of Acceleration in Rural Application of the Renewable Energy Building Construction&#8221; to support the development of the new energy industry and the new energy-saving industry.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On March&#160;8, 2011, China&#8217;s Ministry of Finance and Ministry of Housing and Urban-Rural Development jointly promulgated the Notice on Further Application of Renewable Energy in Building Construction, which aims to raise the percentage of renewable energy used in&#160;buildings.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On August&#160;21, 2012, China&#8217;s Ministry of Finance and Ministry of Housing and Urban-Rural Development jointly promulgated the Notice on Improving Policies for Application of Renewal Energy in Building and Adjusting Fund Allocation and Management Method, which aims to promote the use of solar energy and other new energy products in public facilities and residences, further amplifying the effect of the policies for application of renewable energy in&#160;buildings.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In June&#160;2014, the General Office of the State Council issued its Notice on Printing and Distributing the Action Plan for the Energy Development Strategy (2014-2020), which requested accelerating the development of solar power generation, including promoting the construction of photovoltaic base construction, among&#160;others.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">53</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In April&#160;2015, China&#8217;s Ministry of Finance promulgated the Interim Measures for Administration of the Special Fund for the Development of Renewable Energy Sources, which stipulated the division of regulation of special fund for the development of renewable energy sources and the main scopes to be&#160;supported.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In April&#160;2016, the NDRC and National Energy Administration issued the Notice on Printing and Distributing the Action Plan for Energy Technology Revolution and Innovation (2016-2030), which sets forth the focus, the main direction, the timetable and the route of energy technology innovation.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In November&#160;2017, the NDRC issued the Opinions on Comprehensively Deepening the Reform of the Price Mechanism, which requested improving the price mechanism of renewable energy, including adopting the decrement mechanism on the on-grid benchmark price of new energy resources such as wind power and photovoltaic power.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;">Environmental Regulations</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As we have expanded our ingot, silicon wafer and solar cell manufacturing capacities, we have begun to generate material levels of noise, wastewater, gaseous wastes and other industrial waste. Additionally, as we expand our internal solar components production capacity, our risk of facility incidents that would negatively affect the environment also increases. We are subject to a variety of governmental regulations related to the storage, use and disposal of hazardous materials. The major environmental laws and regulations applicable to us include the PRC Environmental Protection Law, which became effective in 1989, as amended and promulgated in 2014, the PRC Law on the Prevention and Control of Noise Pollution, which became effective in 1997, as amended and promulgated in 2018, the PRC Law on the Prevention and Control of Air Pollution, which became effective in 1988, as amended and promulgated in 1995, 2000, 2015 and 2018, the PRC Law on the Prevention and Control of Water Pollution, which became effective in 1984, as amended and promulgated in 1996, 2008 and 2017, the PRC Law on the Prevention and Control of Solid Waste Pollution, which became effective in 1996, as amended and promulgated in 2004, 2013, 2015 and 2016, the PRC Law on Evaluation of Environmental Affects, which became effective in 2003, as amended and promulgated in 2016 and 2018, the PRC Law on Promotion of Clean Production, which became effective in 2003, as amended and promulgated in 2012, and the Regulations on the Administration of Construction Project Environmental Protection, which became effective in 1998, as amended and promulgated in&#160;2017.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Some of our PRC subsidiaries are located in Suzhou, China, which is adjacent to Taihu Lake, a nationally renowned and protected body of water. As a result, production at these subsidiaries is subject to the Regulations on the Administration of Taihu Basin, which became effective on 2011, the Regulation of Jiangsu Province on Preventing Water Pollution in Taihu Lake, which became effective in 1996 and was further revised and promulgated in 2007, 2010, 2012 and 2018, and the Implementation Plan of Jiangsu Province on Comprehensive Treatment of Water Environment in Taihu Lake Basin, which was promulgated in February&#160;2009 and amended in 2013. Because of these regulations, the environmental protection requirements imposed on nearby manufacturing projects, especially new projects, have increased noticeably, and Jiangsu Province has stopped approving construction of new manufacturing projects that increase the amount of nitrogen and phosphorus released into Taihu Lake, except for those satisfy certain applicable statutory requirements.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;">Admission of Foreign Investment</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The principal regulation governing foreign ownership of solar power businesses in the PRC is the Foreign Investment Industrial Guidance Catalogue. Under the current catalogue, which was amended in June&#160;2017 and became effective on July&#160;28, 2017, the solar power related business is classified as an &#8220;encouraged foreign investment industry.&#8221; Companies that operate in encouraged foreign investment industries and satisfy applicable statutory requirements are eligible for preferential treatment, including exemption from customs of certain self-used equipment and priority consideration in obtaining land use rights provided by certain local governments.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">54</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">While the 2004 catalogue only applied to the construction and operation of solar power stations, the 2007 catalogue expanded its application also applies to the production of solar cell manufacturing machines, the production of solar powered air conditioning, heating and drying systems and the manufacture of solar cells, and the 2011 catalogue, the 2015 catalogue and the current 2017 catalogue also cover the manufacture of solar light collector glass and&#160;etc.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 5pt 18pt;"><i style="font-style:italic;">Administration of Foreign Invested Companies</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The establishment, approval, registered capital requirement and day-to-day operational matters of wholly foreign-owned enterprises, are regulated by the Wholly Foreign-Owned Enterprise Law of the PRC, effective in 1986 and amended in 2000 and 2016, and the Implementation Rules of the Wholly Foreign-owned Enterprise Law of the PRC, effective in 1990 and amended in 2001 and 2014. The establishment, operation and management of corporate entities in China are governed by the Company Law of the PRC, or the Company Law, effective in 1994 and amended in 1999, 2004, 2005, 2013 and 2018. The Company Law is applicable to our PRC subsidiaries unless PRC laws on foreign investment stipulate otherwise.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In March 2019, the Foreign Investment Law was promulgated, effective on January 1, 2020, at which time the Wholly Foreign-owned Enterprise Law will be repealed. Regulation for Implementing the Foreign Investment Law of the People&#8217;s Republic of China took effect on January 1, 2020. Foreign- invested enterprises that were established in accordance with Wholly Foreign-owned Enterprise Law before the implementation of Foreign Investment Law may retain their original organizational forms and other aspects for five years.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 5pt 18pt;"><i style="font-style:italic;">Income Tax and VAT</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">PRC enterprise income tax is calculated based on taxable income determined under PRC accounting principles. Under the EIT Law, both foreign-invested enterprises and domestic enterprises are subject to a uniform enterprise income tax rate of 25%. The EIT Law provides for preferential tax treatment for certain categories of industries and projects that are strongly supported and encouraged by the state. For example, enterprises qualified as HNTEs are entitled to a 15% enterprise income tax rate, provided that they satisfy other applicable statutory requirements.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Certain of our PRC subsidiaries, such as CSI New Energy Holding and CSI Luoyang Manufacturing, were once HNTEs and enjoyed preferential enterprise income tax rates. These benefits have, however, expired. In 2019, only Suzhou Sanysolar, CSI Cells, CSI Changshu Manufacturing, Changshu Tegu, Suzhou Gaochuangte New Energy Development, Canadian Solar Sunenergy (Suzhou) and Changshu Tlian were HNTEs and enjoyed preferential enterprise income tax rates.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">55</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The EIT Law also provides that enterprises established outside China whose &#8220;de facto management body&#8221; is located in China are considered PRC tax residents and will generally be subject to the uniform 25% enterprise income tax rate on their global income. Under the implementation regulations, the term &#8220;de facto management body&#8221; is defined as substantial and overall management and control over aspects such as the production and business, personnel, accounts and properties of an enterprise. Circular&#160;82 further provides certain specific criteria for determining whether the &#8220;de facto management body&#8221; of a PRC-controlled offshore incorporated enterprise is located in the PRC. The criteria include whether (a)&#160;the premises where the senior management and the senior management bodies responsible for the routine production and business management of the enterprise perform their functions are mainly located within the PRC, (b)&#160;decisions relating to the enterprise&#8217;s financial and human resource matters are made or subject to approval by organizations or personnel in the PRC, (c)&#160;the enterprise&#8217;s primary assets, accounting books and records, company seals, and board and shareholders&#8217; meeting minutes are located or maintained in the PRC and (d)&#160;50% or more of voting board members or senior executives of the enterprise habitually reside in the PRC. Although Circular&#160;82 only applies to offshore enterprises controlled by enterprises or enterprise groups located within the PRC, the determining criteria set forth in the Circular&#160;82 may reflect the tax authorities&#8217; general position on how the &#8220;de facto management body&#8221; test may be applied in determining the tax resident status of offshore enterprises. As the tax resident status of an enterprise is subject to the determination by the PRC tax authorities, uncertainties remain with respect to the interpretation of the term &#8220;de facto management body&#8221; as applicable to our offshore entities.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the EIT Law and implementing regulations issued by the State Council, the PRC withholding tax rate of 10% is generally applicable to interest and dividends payable to investors from companies that are not &#8220;resident enterprises&#8221; in the PRC, to the extent such interest or dividends have their sources within the PRC. If our Canadian parent entity is deemed a PRC tax resident under the EIT Law based on the location of our &#8220;de facto management body,&#8221; dividends distributed from our PRC subsidiaries to our Canadian parent entity could be exempt from Chinese dividend withholding tax. However, in that case, dividends from us to our shareholders may be regarded as China-sourced income and, consequently, be subject to Chinese withholding tax at the rate of 10%, or at a lower treaty rate if applicable. Similarly, if we are considered a PRC tax resident, any gain realized by our shareholders from the transfer of our common shares is also subject to Chinese withholding tax at the rate of 10% if such gain is regarded as income derived from sources within the PRC. It is unclear whether any dividends that we pay on our common shares or any gains that our shareholders may realize from the transfer of our common shares would be treated as income derived from sources within the PRC and subject to PRC&#160;tax.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the Provisional Regulation of the PRC on Value Added Tax amended in 2008, 2016 and 2017 and its implementation rules, which became effective in 2009 and were amended in 2011, all entities and individuals that are engaged in the sale of goods, processing, repairs and replacement services, the sales of services, intangible assets or real estate, and the importation of goods in China are required to pay VAT. Gross proceeds from sales and importation of goods and sales of labor services are generally subject to VAT at a rate of 17%, with exceptions for certain categories of goods that are taxed at a rate of 11%. Gross proceeds from sales of real estate are subject to VAT at a rate of 11%. Gross proceeds from sales of services and intangible assets are generally subject to VAT at a rate of 6%, with exceptions for certain categories of services or intangible assets that are taxed at a rate of 17% or 11%. When engaging in exportation of certain goods or cross-border sales of certain services or intangible assets, the exporter or the seller is entitled to a refund of a portion or all of the VAT that it has already paid or&#160;borne.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In April&#160;2018, Ministry of Finance and State Administration of Taxation jointly announced that as of May&#160;1, 2018, if the VAT taxpayer is subject to VAT taxable sales or imported goods, the original 17% tax rate or the original 11% tax rate shall be adjusted to 16% or 10%, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In March&#160;2019, Ministry of Finance, State Administration of Taxation and General Administration of Customs jointly announced that as of April&#160;1, 2019, if the VAT general taxpayer is subject to VAT taxable sales or imported goods, the original 16% tax rate shall be adjusted to 13%; if the original 10% tax rate is applied, the tax rate shall be adjusted to&#160;9%.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">56</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;">Foreign Currency Exchange</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Foreign currency exchange regulation in China is primarily governed by the Foreign Currency Administration Rules, which became effective in 1996 and were amended in 1997 and 2008, and the Settlement, Sale and Payment of Foreign Exchange Administration Rules (1996), or the Settlement Rules.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Currently, the Renminbi is convertible for current account items, including the distribution of dividends, interest payments, trade and service-related foreign exchange transactions. Conversion of the Renminbi for most capital account items, such as security investment and repatriation of investment, however, is still subject to limitation and requires the approval by or registration with&#160;SAFE.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">However, SAFE began to reform the foreign exchange administration system and issued the Notice on Reforming the Administrative Approach Regarding the Settlement of the Foreign Exchange Capitals of Foreign-invested Enterprises, or Circular&#160;19, on March&#160;30, 2015, which allows foreign invested enterprises to settle their foreign exchange capital on a discretionary basis according to the actual needs of their business operation and allows a foreign-invested enterprise with a business scope including &#8220;investment&#8221; to use the RMB capital converted from foreign currency registered capital for equity investments within the PRC. On June&#160;9, 2016, SAFE issued the Circular on Reforming and Regulating Policies on the Control over Foreign Exchange Settlement of Capital Accounts, or Circular&#160;16. Compared to Circular&#160;19, Circular&#160;16 provides that discretionary foreign exchange settlement applies to foreign exchange capital, foreign debt offering proceeds and remitted foreign listing proceeds, and the corresponding RMB obtained from foreign exchange settlement are not restricted from extending loans to related parties or repaying the inter-company loans (including advances by third&#160;parties).</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On February&#160;13, 2015, SAFE promulgated the Circular on Further Simplifying and Improving the Policies Concerning Foreign Exchange Control on Direct Investment, or SAFE Circular No.&#160;13, which delegates the authority to enforce the foreign exchange registration in connection with the inbound and outbound direct investment under relevant SAFE rules to certain banks and therefore further simplifies the foreign exchange registration procedures for inbound and outbound direct investment.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On January&#160;26, 2017, SAFE promulgated the Circular on Further Improving Reform of Foreign Exchange Administration and Optimizing Genuineness and Compliance Verification, which sets out various measures that relaxes the policy restriction on foreign exchange inflow to further enhance trade and investment facilitation and that tightens genuineness and compliance verification of cross-border transactions and cross-border capital&#160;flow.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;">Dividend Distribution</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The principal regulations governing distribution of dividends paid by wholly foreign owned enterprises include the Wholly Foreign-Owned Enterprise Law of the PRC, effective in 1986 and amended in 2000 and 2016, the Implementation Rules of the Wholly Foreign-Owned Enterprise Law of the PRC, effective in 1990 and amended in 2001 and 2014, the Company Law effective in 1994 and amended in 1999, 2004, 2005, 2013 and 2018 and the EIT Law and its implementation rules, both effective in&#160;2008.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Under these laws, foreign-invested enterprises in China may pay dividends only out of their accumulated profits, if any, determined in accordance with PRC accounting standards and regulations. In addition, a wholly foreign owned enterprise in China is required to set aside at least 10% of its after-tax profits determined in accordance with PRC accounting standards each year to its general reserves until the accumulative amount of such reserves reach 50% of its registered capital. These reserves are not distributable as cash dividends. The board of directors of a foreign-invested enterprise has the discretion to allocate a portion of its after-tax profits to staff welfare and bonus funds, which may not be distributed to equity owners except in the event of&#160;liquidation.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">57</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;">Employment</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The major laws and regulations governing the employment relationship, including wage and hour requirements, working and safety conditions, social insurance, housing funds and other welfare. The PRC Labor Law which became effective on January&#160;1, 1995 and amended on August&#160;27, 2009, and December&#160;29, 2018, the Labor Contract Law of the People&#8217;s Republic of China, which became effective on January&#160;1, 2008, and was later revised on December&#160;28, 2012, its Implementing Regulation and the amendment thereunder, which became effective on September&#160;18, 2008 and July&#160;1, 2013, respectively, permit workers in both state-owned and private enterprises in the PRC to bargain collectively. The PRC Labor Law and the PRC Labor Contract Law provide for collective contracts to be developed through collaboration between the labor unions (or&#160;worker representatives in the absence of a union) and management that specify such matters as working conditions, wage scales, and hours of work. The PRC Labor Contract Law and its Implementing Regulation impose certain requirements with respect to human resources management, including, among other things, signing labor contracts with employees, terminating labor contracts, paying remuneration and compensation and making social insurance contributions. In addition, the PRC Labor Contract Law requires employers to provide remuneration packages that meet the relevant local minimum standards. The PRC Labor Contract Law has enhanced rights for the nation&#8217;s workers, including permitting open-ended labor contracts and severance payments. It requires employers to provide written contracts to their workers, restricts the use of temporary labor and makes it harder for employers to lay off employees. It also requires that employees with fixed-term contracts be entitled to an indefinite-term contract after a fixed-term contract is renewed twice or the employee has worked for the employer for a consecutive ten-year period. According to the Interim Provisions on Labor Dispatching, which came into effect on January&#160;3, 2014, the number of dispatched workers used by an employer shall not exceed 10% of its total number of&#160;workers.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Under applicable PRC laws, rules and regulations, including the Social Insurance Law promulgated by the Standing Committee of the National People&#8217;s Congress and effective as of July 1, 2011 and amended on December 29, 2018, the Rules on Implementing the Social Insurance Law issued by Ministry of Human Resource and Social Security and effective as of July 1, 2011, the Interim Regulations on the Collection and Payment of Social Security Funds promulgated by the State Council and effective as of January 22, 1999, as amended, the Interim Measures Concerning Maternity Insurance promulgated by the Ministry of Labor and effective as of January 1, 1995, the Regulations on Occupational Injury Insurance promulgated by the State Council and effective as of January 1, 2004 and amended on December 20, 2010, and the Regulations on the Administration of Housing Accumulation Funds promulgated by the State Council and effective as of April 3, 1999, as amended, employers are required to contribute, on behalf of their employees, to a number of social security funds, including funds for basic pension insurance, unemployment insurance, basic medical insurance, occupational injury insurance, maternity leave insurance, and to housing accumulation funds. These payments are made to local administrative authorities and any employer who fails to contribute may be fined and ordered to remediate on payments within a stipulated time period.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">58</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">C. &#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Organizational Structure</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table sets out our major subsidiaries, including their place of incorporation and our ownership interest, as of March&#160;31,&#160;2020.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Place&#160;of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ownership</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Name of entity</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">incorporation</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">interest</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">CSI Solartronics (Changshu)&#160;Co.,&#160;Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">CSI Solar Technologies&#160;Inc.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">CSI New&#160;Energy Holding&#160;Co.,&#160;Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar Manufacturing (Luoyang)&#160;Inc.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar Manufacturing (Changshu)&#160;Inc.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">CSI Cells&#160;Co.,&#160;Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar (USA)&#160;Inc.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">USA</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar Japan K.K.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar Solutions&#160;Inc.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canada</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">CSI Solar Power Group&#160;Co.,&#160;Ltd. (formerly named/known as &#8220;CSI Solar Power (China)&#160;Inc.&#8221;)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar EMEA&#160;GmbH</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Germany</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar (Australia) Pty Limited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Australia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar International Limited</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Hong Kong</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar O and M (Ontario)&#160;Inc.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Suzhou Sanysolar Materials Technology&#160;Co.,&#160;Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 99.73</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar South East Asia Pte.&#160;Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Singapore</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar South Africa (Pty)&#160;Ltd</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">South Africa</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar Brazil Commerce, Import and Export of Solar Panels&#160;Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Brazil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar Construction (USA)&#160;LLC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">USA</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar Projects K.K.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">CSI&amp;GCL Solar Manufacturing (Yan&#160;Cheng)&#160;Inc.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar UK&#160;Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">United&#160;Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar UK Projects&#160;Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">United&#160;Kingdom</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Changshu Tegu New&#160;Material Technology&#160;Co.,&#160;Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Changshu Tlian&#160;Co.,&#160;Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Recurrent Energy Group&#160;Inc.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">USA</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Recurrent Energy,&#160;LLC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">USA</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">PT. Canadian Solar Indonesia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Indonesia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 67</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar Manufacturing Vietnam&#160;Co.,&#160;Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Vietnam</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar Energy Private Limited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">India</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar MSS (Australia) Pty&#160;Ltd (formerly named/known as &#8220;Canadian Solar Australia 1&#160;Pty&#160;Ltd.&#8221;)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Australia</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar Energy Holding Company Limited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Hong Kong</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar Energy Singapore Pte.&#160;Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Singapore</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar Manufacturing (Thailand)&#160;Co.,&#160;Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 99.99992</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar Sunenergy (Suzhou)&#160;Co.,&#160;Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar Sunenergy (Baotou)&#160;Co.,&#160;Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar Middle East DMCC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">United Arab Emirates</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">CSI Investment Management (SuZhou)&#160;Co.,&#160;Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Suzhou Gaochuangte New&#160;Energy Development&#160;Co.,&#160;Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 90</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">CSI Cells (Yancheng)&#160;Co.,&#160;Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">CSI Modules (Dafeng)&#160;Co.,&#160;Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">**</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar Construction (Australia) Pty&#160;Ltd</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Australia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">CSUK Energy Systems Construction and Generation JSC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Turkey</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">CSI Modules (JiaXing)&#160;Co.,&#160;Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">PRC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">CSI Wafer (LuoYang)&#160;Co.,&#160;Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar Manufacturing Taiwan&#160;Co.,&#160;Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar Argentina Investment Holding&#160;Ltd</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Argentina</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar New Energy Holding Company Limited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Hong Kong</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar Energy Holding Singapore Pte. Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Singapore</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar SSES (Canada) Inc.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar SSES (UK) Ltd</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">United Kingdom</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar SSES (US) Inc.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">USA</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar Asset Management LLC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">USA</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:71.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Canadian Solar Netherlands Cooperative U.A.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Netherland</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">59</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;">*&#160;&#160;&#160;&#160;&#160;CSI Cells Co., Ltd. holds 52% equity rights of CSI Cells (Yancheng)&#160;Co.,&#160;Ltd., a limited partnership fund, of which CSI Cells Co., Ltd. holds 37.33% shares as a limited partner and a wholly-owned subsidiary of CSI Solar Power Group&#160;Co.,&#160;Ltd. holds 0.17% shares as a general partner, holds 48% equity rights of CSI Cells (Yancheng)&#160;Co.,&#160;Ltd.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 0pt;">**&#160;&#160;&#160;Canadian Solar Manufacturing (Changshu) Inc. holds 3.12% equity rights of CSI Modules (DaFeng)&#160;Co.,&#160;Ltd., a limited partnership fund, of which Canadian Solar Manufacturing (Changshu) Inc. holds 20% shares as a limited partner and a wholly-owned subsidiary of CSI Solar Power Group&#160;Co.,&#160;Ltd. holds 0.067% shares as a general partner, holds 96.88% equity rights of CSI Modules (DaFeng)&#160;Co.,&#160;Ltd.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">D. &#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Property, Plant and Equipment</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The following is a summary of our material properties, including information on our manufacturing facilities and office buildings as of the date of this annual report on Form&#160;20-F:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">CSI Changshu Manufacturing has the land use right to two pieces of land of approximately 40,000&#160;square meters and 180,000&#160;square meters, respectively, in Changshu, on which we have built manufacturing facilities with a total floor area of approximately 164,817&#160;square meters. We have obtained certificates of property ownership for all of CSI Changshu Manufacturing&#8217;s facilities.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">CSI Luoyang Manufacturing has a land use right to a piece of land of approximately 35,345 square meters in Luoyang (Phase I), on which we have built manufacturing facilities of approximately 6,761 square meters. The certificates for property ownership were granted in June 2008. In the same year of 2008, CSI Luoyang Manufacturing obtained the land use right to a piece of land adjacent of approximately 79,685 square meters (Phase II), on which we have built manufacturing facilities of approximately 29,811 square meters. The floor area of Phase II is approximately 29,811 square meters. The certificates for property ownership were granted in September 2013. Subsequently in 2016, CSI Luoyang Manufacturing obtained the land use right to another piece of land of 159,961 square meters (Phase III), on which we have constructed manufacturing facilities with the floor area of approximately 38,955 square meters. We obtained the certificates for property ownership of Phase III in March 2018.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">CSI Cells has the land use right to a piece of land of approximately 65,661 square meters in Suzhou. We completed the construction of our first solar cell manufacturing facilities of 14,077 square meters (Phase I) on this site in the first quarter of 2007 and subsequently obtained the certificate of property ownership. The Phase II cell manufacturing facilities, with 30,102 square meters of workshop space, were completed in 2009. The Phase III cell manufacturing facilities, with a total floor area of approximately 21,448 square meters of manufacturing and office space, were completed in August 2011. We obtained the certificates of property ownership for Phase II and Phase III in September 2019. CSI Cells merged with CSI Solar New Energy (Suzhou) Co., Ltd. in 2012, and obtained the land use right to another piece of land of approximately 10,000 square meters in Suzhou and the certificate of property ownership for approximately 4,833 square meters of floor area.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">CSI&amp;GCL Solar Manufacturing (Yan Cheng) Inc., or CSI&amp;GCL Solar Manufacturing, has leased the cell manufacturing facilities of approximately 26,921 square meters on a piece of land of approximately 66,667 square meters (Phase I) since 2015. It has the right and expects to purchase these facilities and obtain the property ownership and land use right between 2021 and 2022. In 2016, CSI&amp;GCL Solar Manufacturing obtained the land use right to a piece of land of approximately 133,333 square meters (Phase II and Phase III), on which we have built cell manufacturing facilities with a total floor area of approximately 23,020 square meters. The commercial operations have commenced since then and we obtained the certificates for property ownership of Phase II and Phase III cell manufacturing facilities in August 2018. In 2017, CSI&amp;GCL Solar Manufacturing obtained the land use right of approximately 33,664 square meters for the construction of Phase IV facilities.</span></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">60</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">In Baotou of Inner Mongolia, we have obtained the land use right of a piece of land of approximately 224,997 square meters, on which we have built module manufacturing facilities with a floor area of approximately 18,000 square meters. The production of module manufacturing has commenced since May 2017. We have also started the construction of other facilities producing poly ingots and mono ingots with a floor area of approximately 61,728 square meters on the same land.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">In Suzhou, Canadian Solar Sunenergy (Suzhou)&#160;Co.,&#160;Ltd. has obtained the land use right to a piece of land of approximately 60,000&#160;square meters and owns the module manufacturing facility thereon with a floor area of 28,355&#160;square meters, which commenced production in the first quarter of&#160;2017.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">CSI Cells (Yancheng) Co., Ltd. has the land use right to a piece of land of approximately 133,857 square meters (Phase I) located in National Yancheng Economic Technical Development Zone of Yancheng City. The floor area of cell manufacturing facilities (Phase I) is approximately 63,496 square meters. A part of the cell manufacturing facilities has completed construction and commenced operations since September 2018 and the entire Phase I facilities commenced operations in May 2019. In the same year of 2019, we made an advanced payment to purchase the Phase II land of approximately 64,436 square meters and we are in the process of closing the purchase and obtaining the land use right certificate.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">CSI Modules (DaFeng) Co., Ltd. obtained the land use right to a piece of land of 200,006 square meters in Yan-Cheng Da-Feng Economic Development District in 2017. The module production facility of 78,133 square meters (Phase I) completed construction and the production began in September 2018. We obtained the certificate of property ownership for Phase I in March 2020.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">CSI Modules (JiaXing)&#160;Co.,&#160;Ltd. obtained the land use right to a piece of land of 165,057&#160;square meters in&#160;2018.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Suzhou Gaochuangte New Energy Development Co., Ltd. and its wholly-owned subsidiary obtained the land use right to a piece of land of 598 square meters in 2018 and own the office building thereon with a floor area of 1,972 square meters.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">In Taiwan, we lease a plant facility of approximately 20,262 square meters located in Hukou Township of Hsinchu City with a five-year term in December 2017. The production of 200 MW module manufacturing commenced in the third quarter of 2019.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">In Ontario, we lease approximately 14,851 square meters of manufacturing facilities in Guelph, Ontario, Canada for a term of ten years commencing September 1, 2010. We also lease a warehouse of 7,912 square meters and an office building of 1,146 square meters on the same premises as the Guelph, Ontario, Canada manufacturing facilities for the same term. In December 2019, we have renewed the leases for three years from 2020 to 2023.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">In Vietnam, we lease approximately 15,784&#160;square meters of manufacturing facilities in Haiphong City, Vietnam since 2015 and have renewed for another three years commencing August&#160;7, 2018. The production has begun since&#160;2016.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">In Thailand, Canadian Solar Manufacturing (Thailand) Co., Ltd. has a land of 179.2 Rai (286,732 square meters) with the ownership certificate obtained. A module manufacturing facility of 29,723 square meters and a cell manufacturing facility of 19,139 square meters were built and the production commenced in the third quarter of 2016 and in April 2017, respectively. The construction of another cell manufacturing facility with a floor area of 18,100 square meters and a module manufacturing facility with a floor area of 15,460 square meters were completed and the production commenced in the third quarter of 2019.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">In Indonesia, we lease a total floor area of approximately 8,000&#160;square meters for our module production facilities, through our 67% owned subsidiary, PT. Canadian Solar Indonesia, which was established under a strategic partnership agreement with PT Comtel Energi. Production commenced in the first quarter of&#160;2016.</span></td></tr></table><div style="margin-top:6pt;"></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">61</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Except as disclosed in the &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Doing Business in China,&#8221; we believe we have obtained the environmental permits necessary to conduct the business currently carried on by us at our existing manufacturing facilities. For more details, see&#160;&#8220;B.&#160;Business Overview&#8212;Environmental Matters.&#8221;</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_5df71b3e_d903_4434_95ed_d64dd48efb52"></a><a id="ITEM4AUNRESOLVEDSTAFFCOMMENTS_703349"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;4A.&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">UNRESOLVED STAFF COMMENTS</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">None.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_c304e880_475e_420a_bf2e_8b6bf25152e1"></a><a id="ITEM5OPERATINGANDFINANCIALREVIEWANDPROSP"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;5.&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">OPERATING AND FINANCIAL REVIEW AND PROSPECTS</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">The following discussion and analysis of our financial condition and results of operations should be read in conjunction with our consolidated financial statements and the related notes thereto included elsewhere in this annual report on Form&#160;20-F. This discussion may contain forward-looking statements based upon current expectations that involve risks and uncertainties. Our actual results may differ materially from those anticipated in these forward-looking statements as a result of various factors, including those set forth under &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8221; or in other parts of this annual report on Form&#160;20-F. For discussion of 2017 items and year-over-year comparisons between 2018 and 2017 that are not included in this annual report on Form 20-F, refer to &quot;Item 5. - Operating and Financial Review and Prospects&quot; found in our Form 20-F for the year ended December 31, 2018, that was filed with the Securities and Exchange Commission on April 25, 2019.</i></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">A. &#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Operating Results</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Factors Affecting Our Results of Operations</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The most significant factors that affect our financial performance and results of operations&#160;are:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">solar power products pricing;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">costs of silicon raw materials and solar ingots, wafers and cells relative to the selling prices of&#160;modules;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">government subsidies and the availability of financing for solar projects;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">industry and seasonal demand;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">impact of assets impairment;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">solar power project development and sale and EPC and development services;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">antidumping, countervailing and other duty costs and true-up charges; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">foreign exchange.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Solar Power Products Pricing</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Before 2004, all of our net revenues were generated from sales of specialty solar modules and products. In 2004, we began selling standard solar modules. In 2018, we generated 57.9% of our net revenues from our MSS segment, which primarily comprises the design, development, manufacture and sale of solar power products, solar system kits and the provision of EPC and O&amp;M services, and 42.1% from our energy segment, which primarily comprises solar power project development and sale, operating solar power projects and sales of electricity. In 2019, we generated 77.5% of our net revenues from our MSS segment and 22.5% from our energy segment.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our standard solar modules are priced based on the actual flash test result or the nameplate capacity of our modules, expressed in watts-peak. The actual price per watt is affected by overall demand for modules in the solar power market and increasingly by the total power of the module. Higher-powered modules usually command slightly higher prices per&#160;watt.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">62</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We price our standard solar modules based on the prevailing market price at the time we enter into sales contracts with our customers, taking into account the size of the contract, the strength and history of our relationship with the customer and the costs of silicon raw materials and solar ingots, wafers and cells. During the first few years of our operations, the average selling price for standard solar modules rose year-over-year across the industry, primarily because of high demand. During the period from 2004 to 2008, the average selling price of our standard solar modules ranged from $3.62 to $4.23. Following a price peak in the third quarter of 2008, the industry-wide average selling price of standard solar modules has declined sharply as competition increased. In 2016 and 2017, the average selling price of our standard solar modules was approximately $0.51 per watt and $0.40 per watt, respectively; and, in 2018 and 2019, it was approximately $0.34 per watt and $0.29 per watt, respectively. We expect the averaging selling price of our standard solar modules to continue to decline, albeit at a more moderate rate.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Costs of Silicon Raw Materials and Solar Ingots, Wafers and Cells Relative to the Selling Prices of&#160;Modules</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We produce solar modules, which are an array of interconnected solar cells encased in a weatherproof frame, and products that use solar modules. Solar cells are the most important component of solar modules. Our solar cells are currently made from mono-crystalline and multi-crystalline solar wafers through multiple manufacturing steps. Solar wafers are the most important material for making solar cells. Solar ingots are the most important material for making solar wafers. If we are unable to procure silicon raw materials and solar ingots, wafers and cells at reduced prices in line with the decreasing selling prices of our solar modules, our revenues and margins could be adversely impacted, either due to higher manufacturing costs than our competitors or write-downs of inventory, or both. Our market share could decline if our competitors are able to offer better pricing than we&#160;are.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Government Subsidies and the Availability of Financing for Solar Projects</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Over the past few years, the cost of solar energy has declined and the industry has become less dependent on government subsidies and economic incentives. However, some of our largest markets still rely on government subsidies and economic incentives. We believe that the near-term growth of the market still depends in large part on the availability and size of such government subsidies and economic incentives, and the availability and cost of financing for solar&#160;projects.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For a detailed discussion of the impact of government subsidies and incentives, possible changes in government policy and associated risks to our business, see &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Governments may revise, reduce or eliminate subsidies and economic incentives for solar energy, which could cause demand for our products to decline.&#8221; and &#8220;Item&#160;4. Information on the Company&#8212;B. Business Overview&#8212;Sales, Marketing and&#160;Customers.&#8221;</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For a detailed discussion of the impact of the availability and cost of debt or equity for solar power projects and our customers&#8217; ability to finance the purchase of our products or to construct solar power projects, see &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;The execution of our growth strategy depends upon the continued availability of third-party financing arrangements for our customers, which is affected by general economic conditions. Tight credit markets could depress demand or prices for solar power products and services, hamper our expansion and materially affect our results of&#160;operations.&#8221;</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">63</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Industry and Seasonal Demand</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our business and revenues depend on the demand for solar power. Although solar power technology has been used for several decades, the solar power market has only started to grow significantly in the past few years. See &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;We may be adversely affected by volatile solar power market and industry conditions; in particular, the demand for our solar power products and services may decline, which may reduce our revenues and earnings.&#8221; Industry demand is affected by seasonality. Demand tends to be lower in winter, when adverse weather conditions can complicate the installation of solar power systems, thereby decreasing demand for solar modules. See &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Seasonal variations in demand linked to construction cycles and weather conditions may influence our results of&#160;operations.&#8221;</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Impact of Assets Impairment</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For our property, plant and equipment, investments in affiliates, and project assets, if their fair value is less than their carrying value or their carrying value cannot be recoverable, we need to record an impairment loss. We had impairment loss of $45.7&#160;million and $42.1&#160;million for our property, plant and equipment, investments in affiliates, and project assets in 2018 and 2019, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our business development and operation involves numerous risks and uncertainties which could lead to the assets impairment. These risks and uncertainties include what have been discussed in &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;We may not continue to be successful in developing and maintaining a cost-effective solar cell, wafer and ingot manufacturing capability.&#8221; and &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Our project development and construction activities may not be successful, projects under development may not receive required permits, property rights, PPAs, interconnection and transmission arrangements, and financing or construction of projects may not commence or continue as scheduled, all of which could increase our costs, delay or cancel a project, and have a material adverse effect on our revenue and profitability.&#8221;</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Solar Power Project Development and Sale and EPC and Development Services</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Revenues generated from our energy segment accounted for 42.1% and 22.5% of our net revenues in 2018 and 2019, respectively. The majority of these revenues came from the sale of solar power projects and the provision of EPC and development services. We intend to monetize the majority of our current portfolio of solar power plants in operation that have an estimated resale value of approximately $1.0 billion as of January 31, 2020. We also intend to monetize certain of our projects before they reach COD. Our revenues from the energy segment are affected by the timing of the completion and sale of solar power projects. See &#8220;Item 4. Information on the Company&#8212;B. Business Overview&#8212;Sales, Marketing and Customers&#8212;Energy Segment&#8212;Solar Project Development and Sale&#8221; for a description of the status of our solar power projects.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Solar power project development and sale and EPC and development services involve numerous risks and uncertainties. For a detailed discussion of these risks and uncertainties, see &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Our future success depends partly on our ability to expand the pipeline of our energy segment in several key markets, which exposes us to a number of risks and uncertainties&#8221; and &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Our project development and construction activities may not be successful, projects under development may not receive required permits, property rights, PPAs, interconnection and transmission arrangements, and financing or construction of projects may not commence or continue as scheduled, all of which could increase our costs, delay or cancel a project, and have a material adverse effect on our revenue and profitability.&#8221;</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">64</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Antidumping,Countervailing and Other Duty Costs and True-up Charges</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2019, we booked the benefits of antidumping and countervailing duty provision reversals of $52.3&#160;million, primarily associated with prior years&#8217; module sales based on the updated rates arising from the administrative reviews carried out by the U.S.&#160;Department of&#160;Commerce.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have been in the past, and may be in the future, subject to antidumping and countervailing duty rulings and orders. In particular, we have been subject to antidumping and countervailing duty rulings in the U.S., the EU and Canada and have, as a result, been party to lengthy proceedings related thereto. See &#8220;Item&#160;8. Financial Information&#8212;A. Consolidated Statements and Other Financial Information&#8212;Legal and Administrative Proceedings.&#8221; The U.S., EU and Canada are important markets for us. Ongoing proceedings relating to, and the imposition of any new, antidumping and countervailing duty rulings and orders or safeguard measures in these markets may result in additional costs to us and/or our&#160;customers.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Foreign Exchange</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The majority of our sales in 2019 were denominated in U.S. dollars, Japanese yen and Euros, with the remainder in other currencies such as Renminbi, Australian dollars, Brazilian reals and South African rand. The majority of our costs and expenses in 2019 were denominated in Renminbi, primarily related to purchases of solar cells and wafers and silicon and other raw materials, toll manufacturing fees, labor costs and local overhead expenses within the PRC. From time to time, we enter into loan arrangements with commercial banks that are denominated primarily in Renminbi, U.S. dollars and Japanese yen. The majority of our cash and cash equivalents and restricted cash is denominated in Renminbi. See &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Fluctuations in exchange rates could adversely affect our business, including our financial condition and results of operations.&#8221;</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Segment Reporting</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We use the management approach to determine operating segments. The management approach considers the internal organization and reporting used by our chief operating decision maker for making decisions, allocating resources and assessing performance. We have identified our chief executive officer as our chief operating decision maker, since he reviews consolidated and segment results when making decisions about allocating resources and assessing performance for&#160;us.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have operated our business in two principal reportable business segments since&#160;2016:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:italic;font-weight:normal;text-align:left;">MSS Segment,</i><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"> which primarily comprises the design, development, manufacture and sale of solar power products and solar system kits. The MSS segment also provides EPC and O&amp;M&#160;services;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:italic;font-weight:normal;text-align:left;">Energy Segment,</i><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"> which primarily comprises solar power project development and sale, operating solar power projects and sales of&#160;electricity.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Impact of COVID-19</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The outbreak of COVID-19 posed significant challenges to many aspects of our business. Global commerce generally has been negatively affected due to travel restrictions, disruptions of global shipping and logistics systems, quarantines, and other measures taken by governments. Near-term global economic growth has also been adversely impacted. As a result, investors may have a reduced appetite for equity investment in the near term; credit markets may become unsettled in the near term; and project installation activities may see delays. In addition, lockdowns may impact the rooftop installation market. The COVID-19 situation remains fluid and we will continue to monitor it closely to assess the potential impacts.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">65</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are taking mitigation strategies to reduce the adverse impact of COVID-19 to our business. For our MSS segment, we closely monitor market changes; secure orders by leveraging our channel strength and brand loyalty; adjust production plans by, for example, increasing the amount of &quot;build-to-order&quot; production and reducing &quot;build-to-stock&quot; production; tightening credit controls to reduce potential bad debt losses; and accelerating R&amp;D and product development to improve our product offerings ahead of an eventual market recovery. For our energy segment, we intend to increase NTP and COD sales; renegotiate PPA execution dates; leverage our global footprint to ensure access to project finance; start construction on critical projects to sell later; and accelerate storage projects that do not require ITC.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We expect governments around the world will adopt various stimulus policies to curb the economic downturn resulting from the response to the outbreak of COVID-19. For example, a lower interest rate environment resulting from such stimulus policies around the world may facilitate capital partnerships to fund our energy segment development.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">See &#8220;Item 3. Key Information-D. Risk Factors-Risks Related to Our Company and Our Industry-We face risks related to natural disasters, health epidemics, such as COVID-19, and other catastrophes, which could significantly disrupt our operations.&#8221; for further discussion.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Overview of Financial Results</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We evaluate our business using a variety of key financial measures.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Net Revenues</i></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">MSS Segment</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Revenues generated from our MSS segment accounted for 57.9% and 77.5% of our net revenues in 2018 and 2019, respectively. Our revenues from our MSS segment are affected primarily by average selling prices per watt and unit volumes shipped, both of which depend on product supply and demand. Our revenues from sales to customers are recorded net of estimated returns.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Energy Segment</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Revenues generated from our energy segment accounted for 42.1% and 22.5% of our net revenues in 2018 and 2019, respectively. Our revenues from our energy segment are affected primarily by the timing of the completion and sale of solar power projects. See &#8220;Item 4. Information on the Company&#8212;B. Business Overview&#8212;Sales, Marketing and Customers&#8212;Energy Segment&#8212;Solar Project Development and Sale&#8221; for a description of the status of our solar power projects.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Revenue recognition for our energy segment is not necessarily linear in nature due to the timing of when all relevant revenue recognition criteria for the sale of our solar power projects have been met. During 2019, we recognized $668.5 million of revenue from the sale of solar power projects. Our revenue recognition policies for the solar power project development are described in &#8220;&#8212;Critical Accounting Policies&#8212;Revenue Recognition.&#8221;</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Cost of Revenues</i></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">MSS Segment</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The cost of revenues of our MSS segment consists primarily of the costs of:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">solar cells;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">silicon wafers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">high purity and solar grade silicon materials;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">materials used in solar cell production, such as metallic pastes;</span></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">66</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">other materials for the production of solar modules such as glass, aluminum frames, EVA (ethylene vinyl acetate, an encapsulant used to seal the module), junction boxes and polymer back&#160;sheets;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">production labor, including salaries and benefits for manufacturing personnel;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">warranty costs;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">overhead, including utilities, production equipment maintenance, share-based compensation expenses for restricted share units and options granted to employees in our manufacturing department and other support expenses associated with the manufacture of our solar power&#160;products;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">depreciation and amortization of manufacturing equipment and facilities, which are increasing as we expand our manufacturing capabilities;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">operation and maintenance costs;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">solar project EPC services; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">antidumping, countervailing and other duty costs and true-up charges.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Before June 2009, we typically sold our standard solar modules with a two-year guarantee for defects in materials and workmanship and a 10-year and 25-year warranty against declines of more than 10% and 20%, respectively, from the initial minimum power generation capacity at the time of delivery. In June 2009, we increased our guarantee for defects in materials and workmanship to six years. In August 2011, we increased our guarantee for defects in materials and workmanship to ten years. In 2019, we increased our guarantee for defects in materials and workmanship up to twelve years and we warrant that, for a period of 25 years, our standard polycrystalline modules will maintain the following performance levels:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">during the first year, the actual power output of the module will be no less than 97.5% of the labeled power output;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">from the second year to the 24th year, the actual annual power output decline of the module will be no more than 0.7%; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">by the end of the 25th year, the actual power output of the module will be no less than 80.7% of the labeled power output.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have lengthened the warranty against decline in performance for our bifacial module and double glass module products to 30 years.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In resolving claims under the workmanship guarantee, we have the option of remedying the defect through repair, refurbishment or replacement of equipment. In resolving claims under the performance warranty, we have the right to repair or replace solar modules at our&#160;option.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We believe our warranty periods are consistent with industry practice. Due to the long warranty period, we bear the risk of extensive warranty claims long after we have shipped our products and recognized revenue. See &#8220;Item&#160;3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;We may be subject to unexpected warranty expense that may not be adequately covered by our insurance policies.&#8221;</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We maintain warranty reserves to cover potential liabilities that could arise under these guarantees and warranties. We currently take a 1% warranty provision against our revenue for sales of solar power&#160;products.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">67</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have entered into agreements with a group of insurance companies with high credit ratings to back up our warranties. Under the terms of the insurance policies, which are designed to match the terms of our solar module product warranty policy, the insurance companies are obliged to reimburse us, subject to certain maximum claim limits and certain deductibles, for the actual product warranty costs that we incur under the terms of our solar module product warranty policy. We record the insurance premiums initially as prepaid expenses and amortize them over the respective policy period of one year. The warranty insurance is renewable annually. See &#8220;&#8212;Critical Accounting Policies&#8212;Warranty Costs.&#8221;</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2019, we booked the benefits of antidumping and countervailing duty provision reversals of $52.3&#160;million, primarily associated with prior years&#8217; module sales based on the updated rates arising from the administrative reviews carried out by the U.S.&#160;Department of&#160;Commerce.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Energy Segment</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The cost of revenues of our energy segment consists primarily of the costs of:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">acquiring solar power projects;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">acquiring and developing solar project sites, including interconnection fees and permitting costs;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">solar project EPC and development services;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">interest capitalized for solar power projects during construction period;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">operating and maintaining solar power plants, including depreciation of solar power plants;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">impairment of project assets.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For solar power projects built by us, we provide a limited workmanship or balance of system warranty against defects in engineering design, installation and construction under normal use, operation and service conditions for a period of up to ten years following the energizing of the solar power project. In resolving claims under the workmanship or balance of system warranty, we have the option of remedying through repair, refurbishment or replacement of equipment. We have entered into similar workmanship warranties with our suppliers to back up our warranties. We maintain warranty reserves to cover potential liabilities that could arise under these guarantees and&#160;warranties.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Before commissioning solar power projects, we conduct performance testing to confirm that the projects meet the operational and capacity expectations set forth in the agreements. In limited cases, we also provide for an energy generation performance test designed to demonstrate that the actual energy generation for up to the first three years meets or exceeds the modeled energy expectation (after adjusting for actual solar irradiation). In the event that the energy generation performance test performs below expectations, the appropriate party (EPC&#160;contractor or equipment provider) may incur liquidated damages capped at a percentage of the contract&#160;price.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Gross Profit/Gross Margin</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our gross profit is affected by a number of factors, including the success of and contribution from both of our operating segments, the average selling price of our solar power products, our product mix, loss on firm purchase commitments under long-term supply agreements, our ability to cost-effectively manage our supply chain, the timing of completion of construction of our solar power projects, the timing and pricing of project sales and project financing.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Operating Expenses</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our operating expenses include selling expenses, general and administrative expenses, research development expenses and other operating income, net. Our operating expenses increased in 2018, and further increased in 2019. We expect our operating expenses to increase as our net revenues grow in the future.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">68</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Selling Expenses</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Selling expenses consist primarily of salaries and benefits, transportation and customs expenses for delivery of our products, sales commissions for our sales agents, advertising, promotional and trade show expenses, and other sales and marketing expenses. Our selling expenses increased in 2018 and 2019. We expect that as we increase our sales volumes in the future, our selling expenses will increase as we hire additional sales personnel, target more markets and initiate additional marketing programs to reach our goal of continuing to be a leading global brand.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">General and Administrative Expenses</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">General and administrative expenses consist primarily of salaries and benefits for our administrative and finance personnel, consulting and professional service fees, government and administration fees, insurance fees and impairment of long-lived assets. Our general and administrative expenses increased in 2018 and decreased in 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Research and Development Expenses</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Research and development expenses consist primarily of costs of raw materials used in our research and development activities, salaries and benefits for research and development personnel and prototype and equipment costs related to the design, development, testing and enhancement of our products and our silicon reclamation program. In 2018 and 2019, our research and development expenses accounted for 1.2% and 1.5%, respectively, of our total net revenues. We expect that our research and development expenses will increase as we devote more efforts to research and development in the future.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Other Operating Income, Net</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Other operating income, net, primarily consists of gains or losses on disposal of solar power systems and property, plant and equipment, and government grants received.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Share-based Compensation Expenses</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under our share incentive plan, as of December&#160;31, 2019, we had outstanding:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">120,799&#160;stock options; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">116,500&#160;restricted shares; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">1,659,767&#160;restricted share units.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For a description of the stock options, restricted share units and restricted shares granted, including the exercise prices and vesting periods, see &#8220;Item&#160;6. Directors, Senior Management and Employees&#8212;B. Compensation of Directors and Executive Officers&#8212;Share-based Compensation&#8212;Share Incentive Plan.&#8221; We recognize share-based compensation to employees as expenses in our statement of operations based on the fair value of the equity awards on the date of the grant. The compensation expense is recognized over the period in which the recipient is required to provide services in exchange for the equity&#160;award.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have made an estimate of expected forfeitures and recognize compensation costs only for those equity awards that we expect to vest. We estimate our forfeitures based on past employee retention rates and our expectations of future retention rates. We prospectively revise our forfeiture rates based on actual history. Our share-based compensation expenses may change based on changes in actual forfeitures.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">69</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For the year ended December 31, 2019, we recorded share-based compensation expenses of $10.7 million, compared to $10.3 million for the year ended December 31, 2018. We have allocated these share-based compensation expenses to our cost of revenues, selling expenses, general and administrative expenses and research and development expenses, depending on the job functions of the individuals to whom we granted the options and restricted share units.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table sets forth, for the periods indicated, the allocation of our share-based compensation expenses both in absolute amounts and as a percentage of total share-based compensation expenses.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:61.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;thousands&#160;of&#160;$,&#160;except&#160;for&#160;percentages)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:61.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Share&#8209;based compensation expenses included in:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,053</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,196</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11.2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:61.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Selling expenses</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,370</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13.4</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,664</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15.6</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:61.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">General and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,040</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 68.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,991</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 65.4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:61.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Research and development expenses</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 795</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7.7</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 831</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7.8</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:61.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total share&#8209;based compensation expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10,258</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10,682</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We expect to incur additional share-based compensation expenses as we expand our&#160;operations.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Interest Expense</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Interest expense consists primarily of interest incurred with respect to our short and long-term borrowings from banks and other lenders, and the convertible senior notes issued by us in February 2014.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Gain (Loss) on Change in Fair Value of Derivatives</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">We have entered into foreign currency derivatives to hedge part of the risks of our expected cash flows, mainly in Renminbi, Canadian dollars, British pounds, and Japanese Yen, and interest rate swap to hedge the part of risks of floating interest rate.  In 2018, we had a loss on the change in fair value of derivatives of $19.2 million, which included an $18.4 million loss on change in fair value of foreign currency derivatives and a $0.8 million loss on change in fair value of interest rate swap contracts. In 2019, we had a loss on the change in fair value of derivatives of $22.2 million, which included a $21.3 million loss on change in fair value of foreign currency derivatives and a $0.9 million loss in change in fair value of interest rate swap.</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Income Tax Expense</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We recognize deferred tax assets and liabilities for temporary differences between the financial statement and income tax bases of assets and liabilities. Valuation allowances are provided against deferred tax assets when management cannot conclude that it is more likely than not that some portion or all deferred tax assets will be&#160;realized.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are governed by the CBCA, a federal statute of Canada and are registered to carry on business in Ontario. This subjects us to both Canadian federal and Ontario provincial corporate income taxes. Our combined tax rate was 26.5% for each of the years ended 2018 and 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">PRC enterprise income tax is calculated based on taxable income determined under PRC accounting principles with a uniform enterprise income tax rate of 25%. Certain of our PRC subsidiaries, such as CSI New&#160;Energy Holding and CSI Luoyang Manufacturing, once enjoyed preferential enterprise income tax rates. These benefits have, however, expired. In 2019, only Suzhou Sanysolar, CSI Cells, CSI Changshu Manufacturing, Changshu Tegu, Suzhou Gaochuangte New Energy Development, Canadian Solar Sunenergy (Suzhou) and Changshu Tlian enjoyed preferential enterprise income tax&#160;rates.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">70</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Under the EIT Law and implementing regulations issued by the State Council, the PRC withholding tax rate of 10% is generally applicable to interest and dividends payable to investors that are not &#8220;resident enterprises&#8221; in the PRC, to the extent such interest or dividends have their sources within the PRC. We consider the undistributed earnings of our PRC subsidiaries ($625.9&#160;million as of December&#160;31, 2019) to be indefinitely reinvested in China, and, consequently, we have made no provision for withholding taxes for those&#160;amounts.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Critical Accounting Policies</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We prepare financial statements in accordance with U.S.&#160;GAAP, which requires us to make judgments, estimates and assumptions that&#160;affect:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the reported amounts of our assets and liabilities;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the disclosure of our contingent assets and liabilities at the end of each fiscal period;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the reported amounts of revenues and expenses during each fiscal period.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We regularly evaluate these judgments, estimates and assumptions based on our own historical experience, knowledge and assessment of current business and other conditions, our expectations regarding the future based on available information and reasonable assumptions, which together form our basis for making judgments about matters that are not readily apparent from other sources. Since the use of estimates is an integral component of the financial reporting process, our actual results could differ from those estimates. Some of our accounting policies require a higher degree of judgment than others in their application.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">When reviewing our financial statements, the following should be considered:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our selection of critical accounting policies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the judgment and other uncertainties affecting the application of such policies;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the sensitivity of reported results to changes in conditions and assumptions.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We believe the following accounting policies involve the most significant judgments and estimates used in the preparation of our financial statements.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Revenue Recognition</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We recognize revenue when it satisfies a performance obligation by transferring a promised good or service to a&#160;customer.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Solar power products and materials</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Solar power products, including solar modules, other solar power products, solar system kits and materials related to solar power products are transferred at a point in time when the customer obtains control of the products, which is typically upon shipment or delivery depending on the contract terms. Revenues of solar product sales also include reimbursements received from customers for shipping and handling costs. Sales agreements typically contain the assurance-type customary product warranties but do not contain any post-shipment obligations nor any return or credit provisions, see our accounting policy for warranty.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We assessed whether it is probable that we will collect substantially all of the consideration to which it will be entitled in exchange for the products that will be transferred to the customer. As of December&#160;31, 2018 and 2019, we had inventories of $9.0&#160;million and $7.7&#160;million, respectively, relating to sales to customers where revenues were not recognized because the collection of payment was determined to be not probable. The delivered products remain as inventories on consolidated balance sheets, regardless of whether the control has been transferred. If the collection of payment becomes probable in the future, we would then recognize revenue, adjust inventories and recognize cost of revenues.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">71</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">O&amp;M services</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">O&amp;M services are transferred over time when customers receive and consume the benefits provided by our performance under the terms of service arrangements. Revenues from O&amp;M services are recognized overtime based on the work completed to date which does not require re-performances and the costs of O&amp;M services are expensed when incurred.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">EPC and development services</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We recognize revenue for sales of EPC and development services over time based on the estimated progress to completion using a cost-based input method. In applying the cost-based input method of revenue recognition, we use the actual costs incurred relative to the total estimated costs to determine our progress towards contract completion and to calculate the corresponding amount of revenue and gross profit to recognize. Cost based input method of revenue recognition is considered a faithful depiction of our efforts to satisfy EPC and development services contracts and therefore reflect the transfer of goods or services to a customer under such contracts. Costs incurred towards contract completion may include costs associated with direct materials, labor, subcontractors, and other indirect costs related to contract performance. The cost-based input method of revenue recognition requires us to make estimates of net contract revenues and costs to complete our projects. In making such estimates, significant judgment is required to evaluate assumptions related to the amount of net contract revenues, including the impact of any performance incentives, liquidated damages, and other payments to customers. Significant judgment is also required to evaluate assumptions related to the costs to complete our projects, including materials, labor, contingencies, and other system costs. If estimated total costs of any contract are greater than the estimated net revenues of the contract, we recognize the entire estimated loss in the period the loss becomes known. The cumulative effect of revisions to estimates related to net contract revenues and costs to complete contracts, including penalties, claims, change orders, performance incentives, anticipated losses, and others are recorded in the period in which revisions to estimates are identified and the amounts can be reasonably estimated.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Solar power projects</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Sales of solar power projects are recognized at a point in time when customers obtain control of solar power projects. For sales of solar power projects in which we obtain an interest in the project sold to the customer, we recognize all of the revenue for the consideration received, including the fair value of the non-controlling interest we obtained, and defer any profit associated with the interest obtained.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Electricity revenue</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Electricity revenue is generated primarily by our solar power plants under long-term PPAs and performance-&#8212;based energy incentives. For electricity sold under PPAs, we recognize electricity revenue based on the price stated in the PPAs when electricity has been generated and transmitted to the grid. Performance-based energy incentives are awarded under certain state programs for the delivery of renewable electricity when the conditions attached to it have been met and there is reasonable assurance that the incentives will be received. During the years ended December 31, 2018 and 2019, we recognized performance-based energy incentives of $4.7 million and $3.9 million, respectively, related to electricity generated and recognized in revenue.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><i style="font-style:italic;">Warranty Costs</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We warrant, for a period up to twelve years, that our solar products will be free from defects in materials and workmanship.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We also warrant that, for a period of 25 years, our standard polycrystallin modules will maintain the following performance levels:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">during the first year, the actual power output of the module will be no less than 97.5% of the labeled power output;</span></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">72</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">from the second year to the 24th year, the actual annual power output decline of the module will be no more than 0.7%; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">by the end of the 25th year, the actual power output of the module will be no less than 80.7% of the labeled power output.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have lengthened the warranty against decline in performance for our bifacial module and double glass module products to 30 years.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For solar power projects built by us, we provide a limited workmanship or balance of system warranty against defects in engineering design, installation and construction under normal use, operation and service conditions for a period of up to ten years following the energizing of the solar power project. In resolving claims under the workmanship or balance of system warranty, we have the option of remedying through repair, refurbishment or replacement of equipment. We have entered into similar workmanship warranties with our suppliers to back up our warranties.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We maintain warranty reserves to cover potential liabilities that could arise under these guarantees and warranties. Due to limited warranty claims to date, we accrue the estimated costs of warranties based on an assessment of our competitors&#8217; and our own actual claim history, industry-standard accelerated testing, estimates of failure rates from our quality review, and other assumptions that we believe to be reasonable under the circumstances. Actual warranty costs are accumulated and charged against the accrued warranty liability. To the extent that accrual for warranty costs differs from the estimates, we will prospectively revise our accrual rate. We currently record a 1.0% warranty provision against our revenue for sales of solar power products.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have entered into agreements with a group of insurance companies with high credit ratings to back up our warranties. Under the terms of the insurance policies, which are designed to match the terms of our solar module product warranty policy, the insurance companies are obliged to reimburse us, subject to certain maximum claim limits and certain deductibles, for the actual product warranty costs that we incur under the terms of our solar module product warranty policy. We record the insurance premiums initially as prepaid expenses and amortize them over the respective policy period of one&#160;year.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The warranty obligations that we record relate to defects that existed when a product was sold to the customer. The event that we are insured against under our insurance policies is the sale of a defective product. Accordingly, we view the insured loss attributable to the shipment of defective products covered under our warranty as analogous to potential claims, or claims that have been incurred as of the product shipment date, but not yet reported. We expect to recover all or part of the cost of our obligations with respect to the defective products through insurance claims. Therefore, our accounting policy is to record an asset for the amount determined to be probable of recovery from the insurance claims (not&#160;to exceed the amount of the total losses incurred), consistent with the guidance set forth at ASC&#160;410-30.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We consider the following factors in determining whether an insurance receivable that is probable and recoverability can be reasonably estimated:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">reputation and credit rating of the insurance company; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">comparison of the solar module product warranty policy against the terms of the insurance policies (to&#160;ensure valid warranty claims submitted by customers will be covered by the policy and therefore reimbursed by the insurance companies).</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">With respect to specific claims submitted, written communications with the insurance company are monitored to ensure the claim has been promptly submitted to and accepted by the insurance company, and reimbursements have been subsequently collected. The successfully processed claims provide further evidence that the insurance policies are functioning as&#160;anticipated.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">73</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">To the extent uncertainties regarding the solvency of insurance carriers or the legal sufficiency of insurance claims (including if they became subject to litigation) were to arise, we would establish a provision for uncollectible amounts based on the specific facts and circumstances. To date, no provision has been determined to be necessary. If an accrual for warranty costs differs from the estimates and we prospectively change our accrual rate, this may result in a change to the amount expected to be recovered from&#160;insurance.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As the warranty obligation and related recovery asset do not meet the criteria for offsetting, the gross amounts are reported in our consolidated balance sheets. The asset is expected to be realized over the life of the warranty obligation, which is 25 or 30 years and is treated as a non-current asset consistent with the underlying warranty obligation. When a specific claim is submitted, and the corresponding insurance proceeds will be collected within twelve months of the balance sheet date, we will reclassify that portion of the receivable as being current. The insurance receivable amounts were $75.6 million and $79.9 million at the end of 2018 and 2019, respectively, and were included as a component of other non-current assets.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We made downward adjustments to our accrued warranty costs of $9.3 million and $1.4 million and other non-current assets of $5.6 million and $0.8 million, for the years ended December 31, 2018 and 2019, respectively, to reflect the general declining trend of the average selling price of solar modules, which is a primary input into the estimated warranty costs. Accrued warranty costs (net effect of adjustments) of $13.2 million and $28.0 million are included in cost of revenues for the years ended December 31, 2018 and 2019, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Income Taxes</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Deferred income taxes are recognized for temporary differences between the tax basis of assets and liabilities and their reported amounts in the financial statements, net tax loss carry-forwards and credits using the enacted tax rates expected to apply to taxable income in the periods in which the deferred tax liability or asset is expected to be settled or realized. Deferred tax assets are reduced by a valuation allowance when it is more likely than not that some portion or all of the deferred tax assets will not be realized. The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during the periods in which those temporary differences become deductible for tax purposes. We have recognized a valuation allowance of $76.5 million and $70.6 million as of December 31, 2018 and 2019, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Current income taxes are provided for in accordance with the laws of the relevant taxing authorities.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Income tax expense includes (a)&#160;deferred tax expense, which generally represents the net change in the deferred tax asset or liability balance during the year plus any change in valuation allowances; (b)&#160;current tax expense, which represents the amount of tax currently payable to or receivable from a taxing authority; and (c)&#160;non-current tax expense, which represents the increases and decreases in amounts related to uncertain tax positions from prior periods and not settled with cash or other tax attributes. We only recognize tax benefits related to uncertain tax positions when such positions are more likely than not of being sustained upon examination. For such positions, the amount of tax benefit that we recognize is the largest amount of tax benefit that is more than fifty percent likely of being sustained upon the ultimate settlement of such uncertain tax position. We record penalties and interests associated with the uncertain tax positions as a component of income tax&#160;expense.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We use the flow-through method to account for investment tax credits earned on qualifying projects placed into service. Under this method the investment tax credits are recognized as a reduction to income tax expense in the year the credit arises. The use of the flow-through method also results in a basis difference from the recognition of a deferred tax liability and an immediate income tax expense for reduced future tax depreciation of the related assets. Such basis differences are accounted for pursuant to the income statement method.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Recently Issued Accounting Pronouncements</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">See note 2(aj) Recently issued accounting pronouncements in the notes to our consolidated financial statements, included herein.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">74</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Results of Operations</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table sets forth a summary, for the periods indicated, of our consolidated results of operations and each item expressed as a percentage of our total net revenues. Our historical results presented below are not necessarily indicative of the results that may be expected for any future&#160;period.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:39.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For&#160;the&#160;years&#160;ended&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="4" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:39.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(in&#160;thousands&#160;of&#160;$,&#160;except&#160;percentages)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,744,512</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100.0</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,200,583</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100.0</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">MSS segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,413,889</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 64.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,582,635</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 80.7</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Energy segment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,575,594</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 42.1</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 719,445</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 22.5</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Elimination</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (244,971)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (6.6)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (101,497)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (3.2)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,969,430</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 79.3</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,482,086</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 77.6</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">MSS segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,923,131</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 51.4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,934,062</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 60.4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Energy segment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,302,779</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 34.8</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 635,716</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 19.9</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Elimination</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (256,480)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (6.9)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (87,692)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (2.7)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 775,082</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20.7</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 718,497</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 22.4</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">MSS segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 490,758</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 648,573</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Energy segment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 272,815</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7.3</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 83,729</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2.6</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Elimination</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,509</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (13,805)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (0.4)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Operating expenses:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Selling expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 165,402</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4.4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 180,326</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">General and administrative expenses</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 245,376</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6.6</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 242,783</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7.6</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Research and development expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 44,193</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 47,045</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other operating income, net</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (44,546)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (1.2)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (10,536)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (0.3)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total operating expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 410,425</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 459,618</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14.4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Income from operations</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 364,657</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9.7</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 258,879</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8.1</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other income (expenses)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Interest expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (106,032)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (2.8)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (81,326)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (2.5)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Interest income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,207</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,039</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Loss on change in fair value of derivatives, net</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (19,230)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (0.5)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (22,218)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (0.7)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Foreign exchange gain</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,529</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10,370</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Investment income</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 41,361</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.1</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,929</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.1</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other income (expenses), net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (66,165)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (1.8)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (79,206)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (2.5)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Income before income taxes and equity in earnings of unconsolidated investees</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 298,492</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8.0</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 179,673</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5.6</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (61,969)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (1.7)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (42,066)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (1.3)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Equity in earnings of unconsolidated investees</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,908</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.2</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28,948</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.9</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 242,431</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 166,555</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5.2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Less: Net income (loss) attributable to non&#8209;controlling interests</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,361</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.2</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (5,030)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (0.2)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:56.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net income attributable to Canadian Solar&#160;Inc.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 237,070</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 171,585</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5.4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">75</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Year Ended December&#160;31, 2019 Compared to Year Ended December&#160;31, 2018</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Net Revenues. </i>Our total net revenues decreased by $543.9 million, or 14.5%, from $3,744.5 million for the year ended December 31, 2018 to $3,200.6 million for the year ended December 31, 2019. The decrease was primarily due to a decrease in revenue contribution from the sale of solar power projects and a decrease in the average selling price of our solar modules, partially offset by higher solar module shipments recognized in revenue from our MSS segment (from 5,916 MW to 7,980 MW), and increased revenue contribution from beyond-module sales. For the year ended December 31, 2019, Asia contributed 31.8%, the Americas contributed 43.8%, and Europe and others accounted for 24.4% of our net revenues. Our top five customers by revenues collectively accounted for 24.2% of our net revenues for the year ended December 31, 2019.</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:italic;font-weight:normal;text-align:left;text-decoration:underline;text-decoration-color:#000000;">MSS Segment</i><i style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:italic;font-weight:normal;text-align:left;">. </i><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Revenues generated by our MSS segment increased by $168.7 million, or 7.0%, from $2,413.9 million for the year ended December 31, 2018 to $2,582.6 million for the year ended December 31, 2019. $330.5 million of the increased revenues was attributable to a 15.2% increase in volume of shipments of our solar modules and offset by $352.8 million attributable to a 14.1% decline in the average selling price of our solar modules. In addition, our beyond-pure-module-sales revenues including sales of system kits, EPC services, inverters and O&amp;M services, generated by our MSS segment increased by 115.8% year-over-year, from $170.6 million in 2018 to $368.1 million in 2019. We see these beyond-pure-module-sales revenues as an important item for us going forward. They accounted for 14.3% of MSS revenues in 2019, up from 7.1% in 2018. We expect them to increase in the future.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 28.8pt;">Our total solar module shipments recognized in revenue at MSS segment for the year ended December 31, 2019 were 7,980 MW, an increase of 34.9% from 5,916 MW for the year ended December 31, 2018. The increase was primarily due to an increase in sales in our key geographical regions, particularly the American markets where sales increased by 1,202 MW from 1,271 MW for the year ended December 31, 2018 to 2,473 MW for the year ended December 31, 2019, mainly as a result of higher shipments to customers in Brazil and the U.S. markets. Shipments to European markets increased by 383 MW and shipments to other regions increased by 479 MW, principally as a result of increased sales to the Australia market. Shipments to Asian markets deceased by 121 MW, from 2,973 MW for the year ended December 31, 2018 to 2,852 MW for the year ended December 31, 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 28.8pt;">The average selling price of our solar modules declined from $0.34 for the year ended December 31, 2018 to $0.29 for the year ended December 31, 2019. The decline was primarily due to the supply of solar products exceeding demand and a change in the geographic mix of sales.</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:italic;font-weight:normal;text-align:left;text-decoration:underline;text-decoration-color:#000000;">Energy Segment</i><i style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:italic;font-weight:normal;text-align:left;">. </i><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;white-space:pre-wrap;">Revenues generated by our energy segment decreased by $856.1 million, or 54.3%, from $1,575.6 million for the year ended December 31, 2018 to $719.4 million for the year ended December 31, 2019. This decrease was primarily due to a decrease of $874.4 million in sales of solar power projects ( $418.4 million in the U.S., $213.2 million in China, $172.3 million in Japan,  and $64.6 million in the United Kingdom), partially offset by an increase of $73.1 in sales of solar power projects in Mexico.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Cost of Revenues.</i> Our total cost of revenues decreased by $487.3 million, or 16.4%, from $2,969.4 million for the year ended December 31, 2018 to $2,482.1 million for the year ended December 31, 2019. The decrease was primarily due to lower solar power project sales and lower solar module manufacturing costs, partially offset by an increased solar module shipments. Total cost of revenues as a percentage of total net revenues decreased from 79.3% for the year ended December 31, 2018 to 77.6% for the year ended December 31, 2019.</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:italic;font-weight:normal;text-align:left;text-decoration:underline;text-decoration-color:#000000;">MSS Segment</i><i style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:italic;font-weight:normal;text-align:left;">. </i><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Cost of revenues of our MSS segment increased by $10.9 million, or 0.6%, from $1,923.1 million for the year ended December 31, 2018 to $1,934.1 million for the year ended December 31, 2019. The increase was primarily due to increased solar module shipments, partially offset by lower module manufacturing costs. Our module manufacturing cost in China, including purchased polysilicon, wafers and cells, decreased to $0.19 per watt in December 2019.</span></td></tr></table><div style="margin-top:6pt;"></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">76</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 28.8pt;">For the year ended December 31, 2019, we booked the benefits of antidumping and countervailing duty provision reversals of $52.3 million, primarily associated with prior years&#8217; module sales based on the updated rates arising from the administrative reviews carried out by the U.S. Department of Commerce.</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:italic;font-weight:normal;text-align:left;text-decoration:underline;text-decoration-color:#000000;">Energy Segment</i><i style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:italic;font-weight:normal;text-align:left;">. </i><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Cost of revenues incurred by our energy segment decreased by $667.1 million, or 51.2%, from $1,302.8 million for the year ended December 31, 2018 to $635.7 million for the year ended December 31, 2019. The decrease was primarily due to lower solar power project sales.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Gross Profit.</i><span style="white-space:pre-wrap;">  As a result of the foregoing, our total gross profit decreased by $56.6 million, or 7.3%, from $775.1 million for the year ended December 31, 2018 to $718.5 million for the year ended December 31, 2019. Our total gross margin increased from 20.7% for the year ended December 31, 2018 to 22.4% for the year ended December 31, 2019.</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:italic;font-weight:normal;text-align:left;text-decoration:underline;text-decoration-color:#000000;">MSS Segment</i><i style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:italic;font-weight:normal;text-align:left;white-space:pre-wrap;">.  </i><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Gross profit for our MSS segment increased by $157.8 million, or 32.2%, from $490.8 million for the year ended December 31, 2018 to $648.6 million for the year ended December 31, 2019, primarily due to a decrease in our solar module manufacturing costs, an increase in solar module shipments and an increase in beyond-pure-module-sales revenues, partially offset by a decrease in the average selling price of our solar modules. Gross margin increased from 20.3% for the year ended December 31, 2018 to 25.1% for the year ended December 31, 2019, primarily due to a decrease in our solar module manufacturing cost and increased beyond-pure-module-sales revenues which have a higher gross margin, partially offset by a decrease in the average selling price of our solar modules.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:italic;font-weight:normal;text-align:left;text-decoration:underline;text-decoration-color:#000000;">Energy Segment</i><i style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:italic;font-weight:normal;text-align:left;white-space:pre-wrap;">.  </i><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Gross profit for our energy segment decreased by $189.1 million, or 69.3%, from $272.8 million for the year ended December 31, 2018 to $83.7 million for the year ended December 31, 2019, primarily due to a decrease in sales of solar power projects. Gross margin decreased from 17.3% for the year ended December 31, 2018 to 11.6% for the year ended December 31, 2019, primarily due to a higher proportion of sales of low margin solar power projects in 2019.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Operating Expenses.</i><span style="white-space:pre-wrap;">  Our operating expenses increased by $49.2 million, or 12.0%, from $410.4 million for the year ended December 31, 2018 to $459.6 million for the year ended December 31, 2019. Operating expenses as a percentage of our total net revenues increased from 11.0% for the year ended December 31, 2018 to 14.4% for the year ended December 31, 2019.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Selling Expenses.</i><span style="white-space:pre-wrap;">  Our selling expenses increased by $14.9 million, or 9.0%, from $165.4 million for the year ended December 31, 2018 to $180.3 million for the year ended December 31, 2019. The increase was primarily due to increase of $18.2 million in shipping and handling expenses which was in line with increase in our module shipments  and $1.2 million in labor cost, partially offset by a decrease of $2.4 million in various professional fees and $1.9 million decrease in external sales commission. Selling expenses as a percentage of our net total revenues increased from 4.4% for the year ended December 31, 2018 to 5.6% for the year ended December 31, 2019.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">General and Administrative Expenses.</i><span style="white-space:pre-wrap;">  Our general and administrative expenses decreased by $2.6 million, or 1.1%, from $245.4 million for the year ended December 31, 2018 to $242.8 million for the year ended December 31, 2019. The decrease was primarily due to a decrease of $9.7 million in impairment charge related to certain manufacturing assets, $2.2 million in labor cost and $1.6 million in bad debt provision, partially offset by an increase of $6 million settlement expense with one customer in U.S. and a reversal of $4.5 million in other payables in 2018. General and administrative expenses as a percentage of our total net revenues increased from 6.6% for the year ended December 31, 2018 to 7.6% for the year ended December 31, 2019.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Research and Development Expenses.</i><span style="white-space:pre-wrap;">  Our research and development expenses increased by $2.9 million, or 6.5%, from $44.2 million for the year ended December 31, 2018 to $47.0 million for the year ended December 31, 2019. Research and development expenses as a percentage of our total net revenues were 1.2% for the year ended December 31, 2018 and 1.5% for the year ended December 31, 2019.</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">77</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Other Operating Income, Net.</i><span style="white-space:pre-wrap;">  Our other operating income, net, decreased by $34.0 million, or 76.3%, from $44.5 million for the year ended December 31, 2018 to $10.5 million for the year ended December 31, 2019. The decrease was primarily due to a decrease of $34.4 million of net gain on disposal of solar power system, a decrease of $0.9 million in government grants, as well as an increase of $1.4 million of net loss on disposal of property, plant and equipment.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Income from Operations.</i><span style="white-space:pre-wrap;">  As a result of the foregoing, income from operations decreased by $105.8 million, or 29.0%, from $364.7 million for the year ended December 31, 2018 to $258.9 million for the year ended December 31, 2019.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Interest Expense, Net.</i><span style="white-space:pre-wrap;">  Our interest expense, net, decreased by $25.5 million, or 26.9%, from $94.8 million for the year ended December 31, 2018 to $69.3 million for the year ended December 31, 2019. Interest expense decreased by $24.7 million, or 23.3%, from $106.0 million for the year ended December 31, 2018 to $81.3 million for the year ended December 31, 2019. The decrease was primarily due to repayment of debt with relatively higher interest rates and significant decrease of borrowings in the fourth quarter of 2018. Interest income slightly increased by $0.8 million, or 7.4%, from $11.2 million for the year ended December 31, 2018 to $12.0 million for the year ended December 31, 2019.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Loss on Change in Fair Value of Derivatives, Net.</i><span style="white-space:pre-wrap;">  We recorded a loss of $22.2 million on change in fair value of derivatives for the year ended December 31, 2019, compared to a loss of $19.2 million for the year ended December 31, 2018. The loss recorded for the year ended December 31, 2019 was due to a loss of $21.3 million on change in fair value of foreign currency derivatives and a loss of $0.9 million on change in fair value of interest rate swap. The loss on change in fair value of foreign currency derivatives for the year ended December 31, 2019 was attributable to a loss on foreign currency forward and option contracts that we purchased to hedge part of the fluctuation of exchange rates for a variety of foreign currencies.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Foreign Exchange Gain/(Loss).</i><span style="white-space:pre-wrap;">  We recorded a foreign exchange gain of $10.4 million for the year ended December 31, 2019, compared to a foreign exchange gain of $6.5 million for the year ended December 31, 2018. The gain for the year ended December 31, 2019 was primarily due to the depreciation of Renminbi against the U.S. dollars, partially offset by appreciation of Canadian dollars and Thailand baht against U.S. dollars and depreciation of Euros against U.S. dollars.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Investment Income.</i><span style="white-space:pre-wrap;">  We recorded investment income of $1.9 million for the year ended December 31, 2019, compared to investment income of $41.4 million for the year ended December 31, 2018. We recorded investment income of $40.4 million from the sale of non-controlling interests in the Tranquillity and Garland projects in the U.S. and the Pirapora project portfolio in Brazil in 2018. We did not have similar transactions in 2019.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Income Tax Expense.</i><span style="white-space:pre-wrap;">  We recorded an income tax expense of $42.1 million for the year ended December 31, 2019, compared to an income tax expense of $62.0 million for the year ended December 31, 2018. The decrease of $19.9 million was primarily due to a decrease in the income before tax for the year ended December 31, 2019. Our effective tax rate, or ETR, was 20.2% in 2019.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Equity in Earnings of Unconsolidated Investees.</i><span style="white-space:pre-wrap;">  Our share of the earnings of unconsolidated investees was a net gain of $28.9 million for the year ended December 31, 2019, compared to a net gain of $5.9 million for the year ended December 31, 2018. The increase was primarily due to recognition of $23.3 million share of the equity income of the Roserock project in which we have 49% equity interest.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Net Income/(Loss) Attributable to Non-Controlling Interest.</i><span style="white-space:pre-wrap;">  The net income (loss) attributable to non-controlling interest is the share of net income (loss) attributable to the interests of non-controlling shareholders in certain of our subsidiaries in China, Indonesia and Australia.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Net Income Attributable to Canadian Solar&#160;Inc.</i><span style="white-space:pre-wrap;">  As a result of the foregoing, we recorded net income of $171.6 million for the year ended December 31, 2019, which was a decrease of $65.5 million, or 27.6%, compared to our net income of $237.1 million for the year ended December 31, 2018.</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">78</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">B.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Liquidity and Capital Resources</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Cash Flows and Working Capital</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are required to make prepayments to some suppliers, primarily suppliers of machinery, silicon raw materials, solar ingots, wafers and cells. Even though we require some customers to make partial prepayments, there is typically a lag between the time we make our prepayments for silicon raw materials and the time our customers make their prepayments.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our energy segment required significant working capital and capital expenditure financing in 2019 and is expected to continue to do so in the future. The time cycles of our solar power project development and operation can vary substantially and take many years. As a result, we may need to make significant up-front investments of resources before the collection of any cash from the sale or operation of these projects. These investments include payment of interconnection and other deposits, posting of letters of credit, and incurring engineering, permitting, legal and other expenses. We may have to use part of our existing bank facilities to finance the construction of these solar power projects. Depending on the size and number of solar power projects that we are developing and self-financing, our liquidity requirements could be significant. Delays in constructing or completing the sale of any of our solar power projects which we are self-financing could also impact our&#160;liquidity.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2019, we financed our operations primarily through short-term and long-term borrowings. As of December 31, 2019, we had $668.8&#160;million in cash and cash equivalents and $536.7&#160;million in restricted cash. Our cash and cash equivalents consist primarily of cash on hand, bank balances and demand deposits, which are unrestricted as to withdrawal and use, and have original maturities of three months or less. In 2019, our restricted cash was mainly used as collateral to secure bank acceptances and&#160;borrowings.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of March 31, 2020, we had contractual credit facilities with an aggregate limit of approximately $2,331.5 million. In addition, we had uncommitted credit facilities of approximately $545.5 million.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of March 31, 2020, we had approximately $665.8 million of long-term borrowings, of which $555.4 million was secured by restricted cash, equity, accounts receivable, inventories, project assets and property, plant and equipment; and $910.3 million of short-term borrowings, of which $691.2 million was secured by restricted cash, equity, accounts receivable, inventories, project assets, land use right, and property, plant and equipment; and $183.1 million of long-term borrowings on project assets-current, which was fully secured by project assets.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The long-term borrowings will mature during the period from the second quarter of 2021 to the first quarter of 2040 and bear interest ranging from 1.09% to 7.78% per annum.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The long-term borrowings on project assets - current have maturity dates ranging from the third quarter of 2030 to the fourth quarter of 2037, which are reclassified as current liabilities because these borrowings are associated with certain solar power projects that are expected to be sold in 2020, and bear interest ranging from 1.05% to 10.50% per annum.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The short-term borrowings will mature during the period from the second quarter of 2020 to the first quarter of 2021 and bear interest ranging from nil to 7.50% per annum. The credit facilities contain no specific extension terms but, historically, we have been able to obtain new short-term borrowings with similar terms shortly before they mature.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In January&#160;2016, we signed a $60.0&#160;million loan facility agreement with International Finance Corporation, or IFC, a member of World Bank Group to fund the construction of our solar cell and module production facilities in Vietnam and other countries approved by IFC. The loan facility expires in June&#160;2020. On the same day, we signed a subscription agreement with IFC pursuant to which IFC agreed to subscribe for 529,661 of our common shares at $18.88 per share. The subscription was completed in February&#160;2016 and the net proceeds of approximately $10.0&#160;million have been used for the construction, operation and general corporate purpose of our solar cell and module production facilities in countries approved by IFC. The facility has been fully drawn and the outstanding balance as of March&#160;31, 2020 was $17.5&#160;million.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">79</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2016, we entered into a financing agreement with the Export Development Canada, or EDC, pursuant to which EDC agreed to provide bank guarantees or letters of credit of up to $100&#160;million to support our global project development. Royal Bank of Canada and Toronto Branch of China Construction Bank Corporation serve as fronting banks for the facility. In September&#160;2018, we renewed the agreement with EDC and increased the facility amount to $125&#160;million with a more focused support for project development activities in North America, Latin America, Europe, Asia and&#160;Australia. In September 2019, Credit Agricole Corporate and Investment Bank (Canada Branch) agreed to join as one of the fronting banks of EDC guarantee and to offer an uncommitted line of credit not exceeding $15 million for general corporate purposes.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2016, we obtained a syndicated three-year loan facility of JPY9.6&#160;billion ($85.2&#160;million) with Sumitomo Mitsui Banking Corporation, or SMBC, acting as the lead arranger and 13&#160;other participating financial institutions. In September&#160;2018, the facility agreement was renewed and extended to JPY10.7&#160;billion ($97.5&#160;million) with 10&#160;participating financial institutions led by SMBC. In February 2020, the facility agreement was renewed to JPY11.0 billion ($101.2 million). The facility is unsecured and loan proceeds may be used to develop our solar project pipeline in Japan and for general corporate working capital purposes.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In December&#160;2016, we secured senior and subordinate non-recourse term loan facilities of JPY14.9&#160;billion ($132.2&#160;million) to finance the construction and operation of a 55&#160;MWp solar power plant in the Yamaguchi prefecture, Japan. The facilities were arranged by Hanwha Asset Management and have a maturity of 17&#160;years. The project reached COD in May&#160;2018. In February 2020, we completed the sale of project to Hana Financial Investment, a subsidiary of Hana Financial Group, and the loan was assumed by the buyer.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In January 2017, we obtained a five-year syndicated credit facility of $210 million with the Siam Commercial Bank Public Company Limited, or SCB, acting as the lead arranger and China Minsheng Banking Corporation Ltd, as one of the lenders. As of March 31, 2020, $122.9 million of the facility has been used to finance the construction of our solar cell and module manufacturing facilities in Thailand. Under the same facility agreement, we obtained a working capital facility of THB3.54 billion ($119.0 million) from SCB to support the operations of our manufacturing company in Thailand and $61.0 million was drawn as of March 31, 2020.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In March 2017, we entered into a three-year credit agreement of JPY4.0 billion ($35.5 million) with Sumitomo Mitsui Finance and Leasing Company, Limited, or SMFL, a member of Sumitomo Mitsui Financial Group. The facility received commitments from five finance leasing institutions. In April 2019, we renewed the agreement with a syndicate of four finance leasing institutions led by SMFL and expanded the facility to JPY5.35 billion ($48.0 million). In September 2019, we further expanded the facility to JPY6.85 billion ($63.0 million) and the facility will mature in March 2022. As of March 31, 2020, JPY4.4 billion ($40.7 million) was utilized in the development of our solar power projects in Japan.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In April&#160;2017, we completed our second non-recourse project bond placement of JPY5.4&#160;billion ($47.9&#160;million) with Goldman Sachs Japan&#160;Co.,&#160;Ltd. to finance the construction of the 19.05&#160;MWp Gunma Aramaki solar power project in Japan. The project bond has a dual-tenor maturity of 1.5&#160;years and 20.3&#160;years, representing the initial and extended tenor respectively, within a single-tranche of bond. The bond pays a fixed coupon of 1.2875% per annum during the initial tenor and, if extended at our option, 1.3588% per annum thereafter. The project reached COD in December&#160;2017.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In May 2017, we secured a five-year non-recourse project financing of AUD65 million ($50.8 million) with Bank of Tokyo-Mitsubishi UFJ, Ltd. and Clean Energy Finance Corporation for two solar farm power projects, the 17 MW Longreach project and the 30 MW Oakey 1 project, both in Queensland, Australia. In October 2017, we entered into a binding contract with Foresight Solar Fund Limited, or Foresight, pursuant to which Foresight agreed to acquire 49% interests in Longreach and Oakey. The sale of 49% interests was completed in the first quarter of 2018 and we have an option and intend to sell the remaining 51% interests to Foresight within three years after project COD. The Longreach project and the Oakey 1 project reached COD in November 2019 and February 2020, respectively.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">80</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In March 2018, we secured a non-recourse 18.5 year term facility of JPY16 billion ($142.0 million) from Shinsei Bank, Limited to finance the construction of our 53.4 MWp Oita Hijimachi solar power project in Japan. The project reached COD in October 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In December&#160;2018, we secured a non-recourse project financing of $50&#160;million for our 100.1&#160;MWp solar power project in Cafayate, Salta Province, Argentina. The financing package, arranged by CAF&#8212;Development Bank of Latin America, consists of CAF A-loan of $30&#160;million with a 15-year tenor, a parallel loan of $15&#160;million from the Argentinian Development Bank of Investment and Foreign Trade with a 15-year tenor, and another parallel loan of $5&#160;million from the Bank of the City of Buenos Aires (Banco de la Ciudad) with a 10-year&#160;tenor. The project reached COD in the third quarter of 2019 and $1 million was drawn as of March 31, 2020.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In January 2019, we secured a 295 million Brazilian reals ($76.0 million) financing from Banco do Nordeste S.A. or BNB, for the 112 MWp Salgueiro solar power project in the northeast state of Pernambuco, Brazil. The financing package provides comprehensive limited-recourse construction and non-recourse operations debt funding over a 20-year tenor based on the concessionary Constitutional Funds Interest Rate (TFC) in Brazil. In August 2019, we closed the sale of 80% interests in a 482.6 MWp portfolio of solar power projects in Brazil, including Salgueiro project, Francisco Sa project and Jaiba project and Lavras project, to Nebras Power Investment B.V., a Dutch affiliate of Nebras Q.P.S.C. As of March 31, 2020, we secured project financing and PPAs for all portfolio projects, which has commenced construction or will commence construction in the second quarter of 2020.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In April 2019, we secured a $50 million letter of credit facility from a multinational financial services firm, Natixis Bank, to support the development of our utility-scale solar projects across the U.S. and Canada. The facility size may be increased with participation from other banking partners that are commitment to the North American renewable energy market.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In May 2019, we secured a $50 million term loan from Credit Suisse AG, Singapore Branch, one of the world&#8217;s leading financial services providers, to support the development of international solar project pipeline and for general corporate purposes. In March 2020, we expanded the facility to $80 million. The term loan is expected to mature in April 2021. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In March 2020, we secured a bilateral Revolving Facility of Euro55.0 million ($61.7 million) with Intesa Sanpaolo to fund a 151 MWp portfolio of 12 solar projects in Italy, located across different municipalities in Sicily, Apulia and Lazio. The first project is expected to commence construction in the third quarter of 2020.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We often offer credit terms to our customers ranging from 30 days up to 90 days with small advance payments ranging from 5% to 20% of the sale prices. The prepayments are recorded as current liabilities under advances from customers, and amounted to $39.0 million and $134.8 million as of December 31, 2018 and 2019, respectively. As the market demand for our products has changed and as we have diversified our geographical markets, we have increased and may continue to increase our credit term sales to certain creditworthy customers after careful review of their credit standings and acceptance of export credit insurance by Sinosure, or other risk mitigation channels such as local credit insurance or factoring.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">81</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table sets forth a summary of our cash flows for the periods indicated:</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:75.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:75.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As&#160;of&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:75.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:75.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(in&#160;thousands&#160;of&#160;$)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net cash provided by operating activities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 216,280</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 600,111</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net cash provided by (used in) investing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 29,071</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (294,102)</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net cash used in financing activities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (463,613)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (34,614)</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net increase (decrease) in cash, cash equivalents and restricted cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (256,987)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 264,430</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Less: net decrease in cash and cash equivalents classified within assets held&#8209;for&#8209;sale</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (7,843)</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash, cash equivalents and restricted cash at the beginning of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,190,134</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 940,990</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:75.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash, cash equivalents and restricted cash at the end of the year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 940,990</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,205,420</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Operating Activities</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Net cash provided by operating activities was $600.1 million in 2019, compared to net cash provided by operating activities of $216.3 million in 2018. The improved operating cash flow in 2019 was primarily due to our enhanced working capital management with respect to accounts receivable and accounts payable, as well as increase in advance payments received from module customers, partially offset by increase in inventories.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Investing Activities</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Net cash used in investing activities was $294.1 million in 2019, compared to net cash provided by investing activities of $29.1 million in 2018. The change was primarily due to $336.1 million decrease in proceeds from disposal of investment in affiliates (i.e., our 49% shareholding in Tranquillity and Garland projects) and $17.7 million decrease in proceeds from disposal of solar power systems during 2019, partially offset by a decrease in payments of $25.1 million for purchase of property, plant and equipment.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Financing Activities</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Net cash used in financing activities was $34.6 million in 2019, compared to net cash used in financing activities of $463.6 million in 2018. The change was primarily due to $555.5 million net decrease in borrowings along with projects sold in 2018, partially offset by $127.5 million payments to repurchase of convertible notes in 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2019, we had total outstanding credit facilities of $2,838.3 million, of which $728.8 million were undrawn and available. We believe that our current cash and cash equivalents, anticipated cash flow from operations and existing banking facilities will be sufficient to meet our anticipated cash needs, including our cash needs for working capital and capital expenditures, for the 12 months ending December 31, 2020. We may, however, require additional cash due to changing business conditions or other future developments, including any investments or acquisitions we may decide to pursue.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">82</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2019, we had outstanding short-term borrowings of $754.6 million with Chinese banks. Between January 1, 2020 and March 31, 2020, we obtained new borrowings of $248.2 million from Chinese banks, including $91.4 million with due dates beyond December 31, 2020. Also, between January 1, 2020 and March 31, 2020, we renewed existing bank facilities of $400.4 million from Chinese banks with due dates beyond December 31, 2020. The availability of commercial loans from Chinese commercial banks may be affected by administrative policies of the PRC government, which in turn may affect our plans for business expansion. If our existing cash or the availability of commercial bank borrowings is insufficient to meet our requirements, we may seek to sell additional equity securities or debt securities or borrow from other sources. We cannot assure that financing will be available in the amounts we need or on terms acceptable to us, if at all. The issuance of additional equity securities, including convertible debt securities, would dilute the holdings of our shareholders. The incurrence of debt would divert cash for working capital and capital expenditures to service debt obligations and could result in operating and financial covenants that restrict our operations and our ability to pay dividends to our shareholders. If we are unable to obtain additional equity or debt financing as required, our business operations and prospects may suffer.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Capital Expenditures</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We made capital expenditures of $316.3 million and $291.2 million in 2018 and 2019, respectively. Our capital expenditures were primarily to maintain and increase our ingot, wafer, cell and module manufacturing capacity and to develop solar power systems. As of December 31, 2019, our commitments for the purchase of property, plant and equipment were $12.0 million.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Restricted Net Assets</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our PRC subsidiaries are required under PRC laws and regulations to make appropriations from net income as determined under accounting principles generally accepted in the PRC, or PRC GAAP, to non-distributable reserves, which include a general reserve, staff welfare and bonus reserve. The general reserve is required to be made at not less than 10% of the profit after tax as determined under PRC GAAP. The boards of directors of our PRC subsidiaries determine the staff welfare and bonus reserves. The general reserves are used to offset future extraordinary losses. Our PRC subsidiaries may, upon a resolution of their boards of directors, convert their general reserves into capital. The staff welfare and bonus reserves are used for the collective welfare of the employees of the PRC subsidiaries. In addition to their general reserves, our PRC subsidiaries are required to obtain approval from the local government authorities prior to decreasing and distributing any registered share capital to their shareholders. Accordingly, both the appropriations to general reserve and the registered share capital of our PRC subsidiaries are considered as restricted net assets. These restricted net assets amounted to $486.6 million and $497.2 million as of December 31, 2018 and 2019, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our operations in China are subject to certain restrictions on the transfer and use of cash within our company. Transfers of cash between our PRC subsidiaries and the Canadian parent company are restricted to normal trade business payments and any further capital contribution from the Canadian parent company may only be made under China&#8217;s existing foreign currency regulations. Foreign exchange transactions by our PRC subsidiaries under most capital accounts continue to be subject to significant foreign exchange controls and require the approval of or registration with PRC governmental authorities. In particular, if we finance our PRC subsidiaries by means of additional capital contributions, certain government authorities, including the Ministry of Commerce or its local counterparts, must approve these capital contributions. These limitations could affect the ability of our Chinese subsidiaries to obtain foreign exchange through equity financing.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2019, $625.9&#160;million of undistributed earnings in our PRC subsidiaries are considered to be indefinitely reinvested so that no provision of withholding taxes has been provided in our consolidated financial statements. Our PRC subsidiaries are required to make appropriations of at least 10% of net income, as determined under PRC GAAP, to a non-distributable general reserve. After making this appropriation, the balance of the undistributed earnings is distributable. Should our PRC subsidiaries subsequently distribute their distributable earnings, they are subject to applicable withholding taxes to the PRC State Administration of&#160;Tax.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">83</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">C.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Research and Development</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have four research and development centers with state-of-the-art equipment: the Center for Solar Cell Research, the Center for Module Development, the Center for System Product and the Center for Photovoltaic Testing and Reliability Analysis. The Center for Solar Cell Research is focused on developing new high efficiency solar cells and advanced solar cell processing technologies. The Center for Module Development is focused on module innovations, developing new module designs for different markets and application. The Center for System Product aims to develop high quality and low cost off-grid products like total kits, energy storage system, as well as smart grid. It also provides system performance evaluation and LCOE benchmarking. The Center for Photovoltaic Testing and Reliability Analysis has been accredited and operating according to ISO/IEC17025&#160;standard since 2009 and is focused on solar module and module components reliability testing and qualification, and solar module performance analysis. It actively participates in and contributes to IEC standard development on solar modules, such as IEC 62804&#160;test method on PID and has been qualified by VDE, CSA, Intertek and TUV Rheinland in their Test Data Acceptance Programs.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2019, we had approximately 515&#160;employees engaged in research, product development and engineering.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our research and development activities are generally focused on the following areas:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">developing novel multi crystalline casting and CZ mono pulling technologies to improve the ingot quality with reduced cost;</span></td></tr></table><div style="margin-top:6pt;"></div><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">continuously improving solar cell conversion efficiency and developing new structures and technologies for higher efficiencies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">developing modules with improved design and assembly methods to have higher power&#160;output;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">improving manufacturing yield and reliability of solar modules and reducing manufacturing costs;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">developing smart modules integrated with optimizer or micro-inverters;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">testing, data tracing and analysis for module performance and reliability;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">designing and developing customized solar modules and products to meet customer requirements;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">developing new methods and equipment for analysis and quality control of incoming materials (such as polysilicon, wafers, cells and other module components).</span></td></tr></table><div style="margin-top:6pt;"></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">84</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Going forward, we will focus on the following research and development initiatives which we believe will enhance our competitiveness:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:italic;font-weight:normal;text-align:left;white-space:pre-wrap;">High efficiency cells.  </i><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;white-space:pre-wrap;">Our R&amp;D efforts enabled us to upgrade all of its solar cell production capacity to PERC (passivated emitter and rear cell) technology by the end of August, 2019. Relative to the older aluminum BSF (Back Surface Field) cell technology, PERC improved the power conversion efficiency by more than one percentage point for all three main cell products, namely P4 (multi PERC), P5 (PERC with casted mono) and Mono PERC. We have completed commercializing our in-house developed black silicon technology on multi wafers. This self-developed wet chemical texturing is a unique, IP-protected and cost-effective technology and significantly increases solar cell efficiency due to advanced light absorption and surface passivation. All of the P4 and P5 production capacity is equipped with our black silicon technology. We also developed advanced LID (Light Induced Degradation) and LeTID (Light and elevated Temperature Induced Degradation) mitigation technologies which enhanced our cell and module performances and stability. We have focused our research and development initiatives on N-type PASSCon cell, heterojunction (HJT) cell, and other technologies such as Perovskite. Within a span of nine months in 2019, we set three world records on the conversion efficiency of large area multi-crystalline solar cells. The first two records, 22.28% in April and 22.80% in September, were P5 PERC cells while the third record, 23.81% in December, was n-type P5 PASSCon cells.  With these advanced technologies, we can significantly lower the LCOE on the system level and improve our products&#8217; market competitiveness.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:italic;font-weight:normal;text-align:left;white-space:pre-wrap;">Solar module manufacturing technologies.  </i><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">The continuous efforts from the two R&amp;D centers, Module Development and Photovoltaic Testing and Reliability Analysis, have moved us to the forefront of module technology innovation. Since the opening of our Center of Photovoltaic Testing and Reliability Analysis, we have focused on developing state-of-the-art testing and diagnostic techniques which can improve solar module production yield, efficiency and reliability. We were the first to convert all our production lines to five bus-bar cells and modules. We were also the first to develop and mass-produce multi bus-bar (9BB) half-cut (Ku) modules in GW-scale which were later widely adopted by other manufacturers. We were among the first to mass-produce bifacial modules with significant reduction in LCOE. We also pioneered the introduction and volume production of cells and modules using 166mm wafers, which enabled us to surpass 400 watts with our P4 HiKu and BiHiKu. We have developed new technologies for PID-resistant and PID/LeTID mitigated modules, which have received certification from the TUV SUD and the VDE testing and certification institutes. Our BiKu, HiKu, BiHiKu, HiDM and other module technologies have improved the output power and module efficiency, and more importantly, improved energy yield, system performance and reliability.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:italic;font-weight:normal;text-align:left;white-space:pre-wrap;">Power system integration and solar application products.  </i><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">We have begun to explore power system integration products and have expanded our research and development efforts in solar application products and commercial sales of such&#160;products.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:italic;font-weight:normal;text-align:left;">Solar power system development, energy storage system, off-</i><i style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:italic;font-weight:normal;text-align:left;white-space:pre-wrap;">grid power system, micro grid system and smart grid system.  </i><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">As we continue to move into the downstream energy segment, we have strengthened the capabilities of our engineering staff and increased investment in these&#160;areas.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">D.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Trend Information</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Other than as disclosed elsewhere in this annual report on Form&#160;20-F, we are not aware of any trends, uncertainties, demands, commitments or events 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></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">85</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">E.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Off Balance Sheet Arrangements</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have not entered into any derivative contracts that are indexed to our shares and classified as shareholder&#8217;s equity, or that are not reflected in our consolidated financial statements. Furthermore, 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 variable interest in any unconsolidated entity that provides financing, liquidity, market risk or credit support to us or that engages in leasing, hedging or research and development services with&#160;us.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">F.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Tabular Disclosure of Contractual Obligations</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Contractual Obligations and Commercial Commitments</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table sets forth our contractual obligations and commercial commitments as of December 31, 2019:</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:46.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:46.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="9" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:52.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Payment&#160;Due&#160;by&#160;Period</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:46.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Less&#160;Than</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">More&#160;Than</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:46.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">1&#160;Year</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">1</b><b style="font-weight:bold;">&#8209;</b><b style="font-weight:bold;">3&#160;Years</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">3</b><b style="font-weight:bold;">&#8209;</b><b style="font-weight:bold;">5&#160;Years</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">5&#160;Years</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:46.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="9" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:52.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;thousands&#160;of&#160;$)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Short&#8209;term debt obligations</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,219,293</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,219,293</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Interest related to short&#8209;term debt obligations<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 22,316</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 22,316</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Operating lease obligations</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 40,911</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,143</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 17,646</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,618</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,504</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Financing lease obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 41,130</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 27,439</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,691</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Purchase obligations<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,800</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,600</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,200</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Long&#8209;term debt obligations<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 619,477</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 522,602</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 55,837</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 41,038</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Interest related to long&#8209;term debt obligations<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(4)</sup></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 79,982</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28,395</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 39,248</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,155</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,184</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Financing liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 76,575</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 22,935</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 53,640</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:46.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Interest related to financing liability</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20,919</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,844</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,483</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,592</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td></tr><tr><td style="vertical-align:bottom;width:46.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,133,403</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,330,030</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 628,805</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 124,842</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 49,726</span></p></td></tr></table><div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Interest rates range from 0% to 10.5% per annum for short-term debt obligations.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Includes commitments to purchase property, plant and equipment of $12.0 million, and service for solar power system of $0.8 million.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">The maturity dates of long-term debt obligations are based on our estimate timing of the monetization of related projects.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(4)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Interest rates range from 0.95% to 7.78% per annum for long-term debt obligations.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The above table excludes accrued warranty costs of $55.9 million, liability for uncertain tax positions of $15.4 million, deferred tax liabilities&#8212;non-current of $56.5 million and loss contingency accruals of $28.5 million as we are unable to reasonably estimate the timing of future payments of these liabilities. Other long-term liabilities of $62.3 million were also excluded in the above table. For additional information, see the notes to our consolidated financial statements, included herein.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">86</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">G.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Safe Harbor</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">This annual report on Form&#160;20-F contains forward-looking statements that relate to future events, including our future operating results, our prospects and our future financial performance and condition, results of operations, business strategy and financial needs, all of which are largely based on our current expectations and projections. These statements are made under the &#8220;safe harbor&#8221; provisions of the U.S.&#160;Private Securities Litigation Reform Act of 1995. You can identify these forward-looking statements by terminology such as &#8220;may,&#8221; &#8220;will,&#8221; &#8220;expect,&#8221; &#8220;anticipate,&#8221; &#8220;future,&#8221; &#8220;intend,&#8221; &#8220;plan,&#8221; &#8220;believe,&#8221; &#8220;estimate,&#8221; &#8220;is/are likely to&#8221; or similar expressions. Forward-looking statements involve inherent risks and uncertainties. These forward-looking statements include, among other things, statements relating&#160;to:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our expectations regarding the worldwide supply and demand for solar power products and the market demand for our&#160;products;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our beliefs regarding the importance of environmentally friendly power generation;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our beliefs regarding the value of and ability to monetize our portfolio of solar power&#160;projects;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our expectations regarding governmental support for solar power;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our beliefs regarding the fluctuation in availability of silicon, solar wafers and solar&#160;cells;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our beliefs regarding our ability to resolve our disputes with suppliers with respect to our long-term supply agreements;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our beliefs regarding the continued growth of the solar power industry;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our beliefs regarding the competitiveness of our solar module products;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our expectations with respect to increased revenue growth and improved profitability;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our expectations regarding the benefits to be derived from our supply chain management and vertical integration manufacturing strategy;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our ability to continue developing our in-house solar components production capabilities and our expectations regarding the timing and production capacity of our internal manufacturing programs;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our ability to secure adequate silicon and solar cells to support our solar module production;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our beliefs regarding the effects of environmental regulation;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our beliefs regarding the changing competitive landscape in the solar power&#160;industry;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our future business development, results of operations and financial condition;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">competition from other manufacturers of solar power products and conventional energy suppliers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our ability to expand our products and services and to successfully execute plans for our energy&#160;segment;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our ability to develop, build and sell solar power projects in Canada, the U.S., Japan, China, Brazil, Mexico, the United&#160;Kingdom, Australia and elsewhere;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">our beliefs with respect to the outcome of the investigations and litigation to which we are a&#160;party.</span></td></tr></table><div style="margin-top:6pt;"></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">87</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Known and unknown risks, uncertainties and other factors may cause our actual results, performance or achievements to be materially different from any future results, performance or achievements expressed or implied by forward-looking statements. See &#8220;Item&#160;3. Key Information&#8212;D.&#160;Risk Factors&#8221; for a discussion of some risk factors that may affect our business and results of operations. These risks are not exhaustive. Other sections of this annual report may include additional factors that could adversely influence our business and financial performance. Moreover, because we operate in an emerging and evolving industry, new risk factors may emerge from time to time. We cannot predict all risk factors, nor can we assess the impact of these factors on our business or the extent to which any factor, or combination of factors, may cause actual result to differ materially from those expressed or implied in any forward-looking statement. We do not undertake any obligation to update or revise the forward-looking statements except as required under applicable&#160;law.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_8a509c87_a9f3_4d64_ac67_4040025baebe"></a><a id="ITEM6DIRECTORSSENIORMANAGEMENTANDEMPLOYE"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;6.&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">DIRECTORS, SENIOR MANAGEMENT AND EMPLOYEES</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">A.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Directors and Senior Management</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table sets forth information regarding our directors, strategic advisor and executive officers as of the date of this annual report on Form&#160;20-F.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:56.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:32.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Name</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Age</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:56.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Position/Title</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:32.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Shawn (Xiaohua) Qu</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:7.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">56</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:top;width:56.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Chairman of the Board, President and Chief Executive Officer</p></td></tr><tr><td style="vertical-align:top;width:32.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Robert McDermott</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;white-space:nowrap;width:7.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">78</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:56.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Lead Independent Director</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:32.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Harry E. Ruda</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:7.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">61</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:top;width:56.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Independent Director</p></td></tr><tr><td style="vertical-align:top;width:32.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Andrew (Luen Cheung) Wong</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;white-space:nowrap;width:7.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">62</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:56.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Independent Director</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:32.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Arthur (Lap&#160;Tat) Wong</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:7.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">60</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:top;width:56.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Independent Director</p></td></tr><tr><td style="vertical-align:top;width:32.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Lauren C. Templeton</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:7.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">44</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:56.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Independent Director</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:32.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Karl E. Olsoni</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:7.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">62</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:top;width:56.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Strategic Advisor</p></td></tr><tr><td style="vertical-align:top;width:32.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Yan Zhuang</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;white-space:nowrap;width:7.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">56</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:56.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Acting Chief Executive Officer, Senior Vice President, Chief Commercial Officer and President of Modules and Systems Solutions Business</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:32.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Huifeng Chang</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:7.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">54</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:top;width:56.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Senior Vice President and Chief Financial Officer</p></td></tr><tr><td style="vertical-align:top;width:32.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Guangchun Zhang</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;white-space:nowrap;width:7.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">62</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:56.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Senior Vice President and Chief Operations Officer</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:32.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Jianyi Zhang</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:top;white-space:nowrap;width:7.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">62</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:top;width:56.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Senior Vice President, General Counsel and Chief Compliance Officer</p></td></tr><tr><td style="vertical-align:top;width:32.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Guoqiang Xing</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;white-space:nowrap;width:7.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">56</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:56.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Senior Vice President and Chief Technology Officer</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Directors</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Dr.&#160;Shawn (Xiaohua) Qu</i> has served as our chairman, president and chief executive officer since founding our company in October&#160;2001. Through his leadership, we became a public listed company on the Nasdaq in 2006 and have since firmly established ourselves among the top ranked manufacturers of solar PV products globally. Prior to founding Canadian Solar, Dr.&#160;Shawn Qu held various positions in product engineering, business development and strategic planning at ATS Automation Tooling Systems,&#160;Inc., or ATS, and its solar subsidiary Photowatt International&#160;S.A. Prior to ATS, Dr.&#160;Shawn Qu was a research scientist at Ontario Power Generation where he worked as a process leader in its solar product commercialization team. In 2011, Dr.&#160;Shawn Qu became a visiting professor at Tsinghua University, one of the most prestigious universities in China. Dr.&#160;Shawn Qu has published research articles in academic journals including IEEE Quantum Electronics, Applied Physics Letter and Physical Review. He received a Ph.D. in material sciences in 1995 from the University of Toronto, focusing on semiconductor super lattice and optical effects. He also holds a Master of Science in physics from University of Manitoba and a Bachelor of Science in applied physics from Tsinghua University in&#160;Beijing.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">88</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Mr.&#160;Robert McDermott</i> has served as lead independent director of our company since August&#160;2006. Mr.&#160;McDermott is a corporate director and consultant. Before July&#160;2011, he was a partner with McMillan&#160;LLP, a business law firm based in Canada, where he practiced business law, with an emphasis on mergers and acquisitions, securities and corporate finance, and advised boards and special committees of public companies on corporate governance matters. Mr.&#160;McDermott was admitted to the Ontario Bar in Canada in 1968. He has a Juris Doctor degree from the University of Toronto in 1966 and a Bachelor of Arts degree from the University of Western Ontario in&#160;1963.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Dr. Harry E. Ruda</i> has served as an independent director of our company since July 2011. He is the Director of the Centre for Advanced Nanotechnology, the Stanley Meek Chair in Nanotechnology and Professor of Applied Science and Engineering at the University of Toronto, Canada. From 1982 to 1984, he developed one of the first theories for electron transport in selectively doped two-dimensional electron gas heterostructures, while working as an IBM post-doctoral fellow. From 1984 to 1989, he was a senior scientist at 3M Corporation, developing some of the first models for electronic transport and optical properties of wide bandgap II-VI semiconductors. Dr. Ruda joined the faculty of the University of Toronto in 1989 in the Materials Science and Engineering and Electrical and Computer Engineering Departments. His research interests focus on the fabrication and modeling of semiconductor nanostructures with applications in the fields of optoelectronics, energy and sensing. Dr. Ruda was one of the founders of a Canadian National Centre of Excellence in Photonics. He has served on the National Science and Engineering Council of Canada and on other government panels, including those of the Department of Energy, Environmental Protection Agency, National Science Foundation in the U.S. and the Royal Academy of Engineering and Engineering Physical Sciences Research Council in the United Kingdom. Dr. Ruda is a Fellow of the Royal Society of Canada, a Fellow of the Institute of Physics, a Fellow of the Institute of Nanotechnology, and a Fellow of the Canadian Academy of Engineering. He obtained his Ph.D. in semiconductor physics from the Massachusetts Institute of Technology in 1982.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Mr.&#160;Andrew (Luen Cheung) Wong</i> has served as an independent director of our company since August 2014. He has also served as a director of Chubb Life Insurance Company Ltd. since 2008, and is an independent director and the vice-chairman of Huazhong In-vehicle Holdings Company Limited, which is listed in Hong Kong Stock Exchange. Previously, Mr. Wong served as a director and a member of the audit committee, nomination and remuneration committee of China CITIC Bank Corporation Limited, a company listed on The Stock Exchange of Hong Kong, between 2013 and 2018. Mr. Wong was the director of Intime Retail (Group) Co. Ltd., a company listed on The Stock Exchange of Hong Kong, between 2013 and 2014, and was the director and a member of audit committee, risk management committee, nomination and remuneration committee of China Minseng Bank, a company listed on The Stock Exchange of Hong Kong, from 2006 to 2012. From 1982 to 2006, Mr. Wong held senior positions at the Royal Bank of Canada, the Union Bank of Switzerland, Citicorp International Limited, a merchant banking arm of Citibank, Hang Seng Bank Limited and DBS Bank Limited, Hong Kong. Mr. Wong was awarded the National Excellent Independent Director by the Shanghai Stock Exchange in 2010 and received the Medal of Honour (Hong Kong SAR) from the Hong Kong SAR Government in 2011. Mr. Wong obtained his Bachelor of Social Sciences (Honours) degree from the University of Hong Kong in 1980 and a Master of Philosophy degree from Hong Kong Buddhist College in 1982.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">89</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Mr. Arthur (Lap Tat) Wong </i>has served as an independent director of our company since March, 2019. Mr. Wong currently serves as an independent director and chair of the audit committee of the following companies: Tarena International, Inc., an provider of professional education services in China (NASDAQ: TEDU); Daqo New Energy Corp., a polysilicon manufacturer (NYSE: DQ); and China Maple Leaf Educational Systems Limited, an operator of international schools in China (HKSE: 1317). From 1982 to 2008, Mr. Wong held various positions with Deloitte Touche Tohmatsu (Deloitte) in Hong Kong, San Jose and Beijing, with his last position as a partner in Deloitte&#8217;s Beijing office. He subsequently served as the Chief Financial Officer of the following companies: Asia New Energy Holdings Pte. Ltd, a manufacturer of fertilizer, chemicals and new energy products, from June 2008 to December 2009; Nobao Renewable Energy Holding Ltd., a renewable energy company, from March 2010 to November 2010; GreenTree Inns Hotel Management Group, Inc., an economy hotel chain, from March 2011 to May 2012; and Beijing Radio Cultural Transmission Company Limited, a music production and music data management service company, from January 2013 to November 2018. Mr. Wong received a Higher Diploma in Accountancy from Hong Kong Polytechnic University in November 1982 and a Bachelor of Science degree in Applied Economics from University of San Francisco in December 1988. He is a fellow of the Hong Kong Institute of Certified Public Accountants; a fellow of the Association of Chartered Certified Accountants; and a member of the American Institute of Certified Public Accountants.</p><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Ms. Lauren C. Templeton</i> has served as an independent director of our company since January 2020. Ms. Templeton is the founder and President of Templeton &amp; Phillips Capital Management, LLC, a global investing boutique located in Chattanooga, Tennessee. She is also an independent director and member of the Audit Committee of Fairfax Financial Holdings Limited, a financial holding company engaged in property and casualty insurance and reinsurance and associated investment management, and its publicly-traded subsidiary, Fairfax India Holdings Corporation. Ms. Templeton serves on a number of non-profit organizations, including the John Templeton Foundation, the Templeton World Charities Foundation and the Templeton Religion Trust. She also serves on the Board of Trustees at the Baylor School, the Board of Trustees at the Bright School and the Board of Overseers at the Atlas Economic Research Foundation. Ms. Templeton is the former President of the Southeastern Hedge Fund Association, based in Atlanta, Georgia. She is also the co-author of &quot;Investing the Templeton Way: The Market Beating Strategies of Value Investing&#39;s Legendary Bargain Hunter&quot;, which has been translated into nine languages. Ms. Templeton holds a Bachelor of Arts Degree in Economics from the University of the South, Sewanee.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Mr. Karl E. Olsoni</i> has served as a strategic advisor to board of directors of our company since January 2020. Mr. Olsoni is currently an Operating Partner with Quinbrook Infrastructure Partners, an infrastructure fund manager investing in clean energy infrastructure in the United States, the United Kingdom and Australia. He is also a Partner with the kRoad group of companies which invest in battery storage, waste transformation and e-mobility. He previously served as Managing Director of the Clean Energy and Infrastructure team at Capital Dynamics where he and his partners raised and invested approximately $1 billion in clean energy infrastructure projects in the United States, the United Kingdom and Australia. Mr. Olsoni has more than 30 years of international energy sector experience. He was formerly Chief Financial Officer and Senior Vice President of PPM Energy Inc. (now Iberdrola Renewables/Avangrid), a US-based energy company, and Chief Financial Officer of Koch Materials, Inc., a unit of the Koch Industries, Inc., which marketed heavy petroleum products in the United States, China, Mexico and Brazil. Before that, he spent 16 years with the Southern Company where, among other things, he was part of the original management team that built the Southern Company&#39;s independent power and merchant energy business (Southern Energy, Inc., later Mirant, Inc.) into one of the largest independent power producers in the world. Mr. Olsoni holds a Bachelor of Arts degree in Economics from George Washington University and an MBA from the College of William and Mary.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">90</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Executive Officers</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Mr. Yan Zhuang </i>has served as our acting Chief Executive Officer since May 2019. He also served as our chief commercial officer since May 2012 and our senior vice president of global sales and marketing since July 2011, and prior to that as our vice president of global sales and marketing since June 2009. He was an independent director of our company from September 2007 to June 2009. Mr. Zhuang has worked in corporate branding, sales and marketing positions with, or provided consulting services to, a variety of multinational companies for over 15 years. In 2008, he founded and became a director of INS Research and Consulting. Mr. Zhuang was the head of Asia for Hands-on Mobile, Inc., a global media and entertainment company with operations in China, South Korea and India, from 2006 to 2007. He previously served as our senior vice president of business operations and marketing in Asia. Before joining Hands-on Mobile, Inc., he held various marketing and business operation positions with Motorola Inc., including as its Asia Pacific regional director of marketing planning and consumer insight. Prior to that, he was a marketing consultant in Canada and China. Mr. Zhuang holds a bachelor&#8217;s degree in electrical engineering from Northern Jiaotong University, China, a Master of Science degree in applied statistics from the University of Alberta, Canada and a Master of Science degree in marketing management from the University of Guelph, Canada.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Dr.&#160;Huifeng Chang</i> has served as our senior vice president and chief financial officer in May&#160;2016. He has 17&#160;years of experience in capital markets, financial investment and risk management. Before joining us, Dr.&#160;Chang was the co-head of Sales&#160;&amp; Trading at the U.S.&#160;subsidiary of China International Capital Corp (CICC) from 2010 to 2015. Prior to that, he was the CEO of CSOP Asset Management based in Hong Kong from early 2008 to 2010, investing funds from China in the international markets. From 2000 to 2008, Dr.&#160;Chang was vice president and an equity proprietary trader at Citigroup Equity Proprietary Investments in New&#160;York. Before going to New&#160;York, Dr.&#160;Chang worked at Kamakura Corp in Hawaii as a risk consultant to banks in Asia. He received a Ph.D. in soil physics and MBA from University of Hawaii in the early 1990s, M.S. degree from Academia Sinica in 1987 and B.S. degree from Nanjing Agricultural University in&#160;1984.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Mr.&#160;Guangchun Zhang</i> has served as our chief operations officer since December&#160;2012 and has over 18&#160;years of experience in the PV industry. Prior to joining us, Mr.&#160;Zhang worked for Suntech Power Holdings&#160;Co.,&#160;Ltd, as senior vice president for research and development and industrialization of manufacturing technology since December&#160;2005. Prior to joining Suntech, Mr.&#160;Zhang previously worked at the Centre for Photovoltaic Engineering at the University of New&#160;South Wales in Australia and Pacific Solar Pty. Limited from June&#160;1994 to November&#160;2005. Mr.&#160;Zhang was an associate professor in Shandong Technology University in China from February&#160;1982 to May&#160;1994. Mr.&#160;Zhang received his bachelor degree in 1982 from the School of Electronic Engineering at Shandong Industrial Institute.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Mr.&#160;Jianyi Zhang</i> joined us at the end of February&#160;2016 as senior vice president and chief legal officer, and was appointed as chief compliance officer in May&#160;2016. After graduation from Washington University School of Law, Mr.&#160;Zhang worked at Troutman Sanders&#160;LLP as an associate from June&#160;1993 to September&#160;1994. Thereafter, he formed a law firm Su&#160;&amp; Zhang in Los Angeles, California. He rejoined Troutman Sanders&#160;LLP as an associate in April&#160;1995, became a partner in September of 1999 and worked in that position until December&#160;2001. From January&#160;2002 to June&#160;2005, Mr.&#160;Zhang worked at Walmart Stores,&#160;Inc. first as a senior corporate counsel II and then as senior assistant general counsel. From July&#160;2005 to February&#160;2016, he served, consecutively, as senior advisor to Chinese law firms of Jingtian&#160;&amp; Gongcheng Law Firm, Runbo Law Firm, East Associates Law Firm and East&#160;&amp; Concord Partners in Beijing. Mr.&#160;Jianyi Zhang received his B.A. degree and M.A. degree from the University of Helsinki, Finland in 1982 and 1983, respectively. After graduation from the University of Helsinki in 1983, Mr.&#160;Zhang worked at the Chinese Foreign Ministry until September&#160;1989. Thereafter, he went to study at Washington University School of Law in St.&#160;Louis, Missouri and received his J.D.&#160;degree in&#160;1992.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">91</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Dr.&#160;Guoqiang Xing</i> serves as senior vice president and chief technology officer. He joined us in November&#160;2014 as corporate vice president of technology. He has over 22&#160;years of research and development experience in photovoltaic and semiconductor industries. From September&#160;2009 to October&#160;2014, he was the chief technology officer of Hareon Solar, a company listed on the Shanghai Stock Exchange. He was also employed by JA Solar, a company listed on the NASDAQ Stock Market, as the R&amp;D director from January&#160;2008 to August&#160;2009. His experience in the semiconductor industry includes serving as (a)&#160;a R&amp;D advanced process director at HHNEC, a company based in Shanghai, from 2005 to 2008, (b)&#160;a R&amp;D advanced process director at Semiconductor Manufacturing International, a company listed on the Hong Kong Stock Exchange, from 2002 to 2005, and (c)&#160;a member of technical staff at Kilby Center, Texas Instruments, a company listed on the New&#160;York Stock Exchange, in Dallas, Texas from 1995 to 2002. He received his Bachelor of Science degree in Physics from Peking University in 1984 and his Ph.D. in Physical Chemistry from Rice University, Houston, Texas in 1993. He was a postdoctoral research scientist in the Chemistry Department at Columbia University from 1993 to&#160;1995.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Duties of Directors</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the CBCA, our directors are required to manage, or to supervise the management of, the business and affairs of our company. They have a duty of loyalty to act honestly and in good faith with a view to our best interests. They also have a duty to exercise the care, diligence and skill that a reasonably prudent person would exercise in comparable circumstances. A shareholder has the right to seek damages if a duty owed by our directors is&#160;breached.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The functions and powers of our board of directors include:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">convening shareholder meetings and reporting to shareholders at such meetings;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">declaring dividends and authorizing other distributions to shareholders;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">appointing officers and determining the term of office of officers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">exercising the borrowing powers of our company and mortgaging the property of our company;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">approving the issuance of shares.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">B.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Compensation of Directors and Executive Officers</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Cash Compensation</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We paid our directors and executive officers aggregate cash remuneration, including salaries, bonuses and benefits in kind, of approximately $7.2 million for 2019. Of this amount, we paid approximately $0.6 million to our five independent directors and approximately $6.6 million to our executive officers. The total amount set aside or accrued by us and our subsidiaries to provide pension, retirement or similar benefits for our directors and executive officers was approximately $0.1 million in 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Share Incentive Plan</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In March&#160;2006, we adopted a share incentive plan, or the Plan.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The purpose of the Plan is to promote the success and enhance the value of our company by linking the personal interests of the directors, employees and consultants to those of the shareholders and providing the directors, employees and consultants with an incentive for outstanding performance to generate superior returns to the shareholders. The Plan is also intended to motivate, attract and retain the services of the directors, employees and consultants upon whose judgment, interest and effort the successful conduct of our operations is largely dependent.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">92</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In September 2010, the shareholders approved an amendment to the Plan to increase the maximum number of common shares which may be issued pursuant to all awards of restricted shares, options and restricted share units under the Plan to the sum of (i) 2,330,000 plus (ii) the sum of (a) 1% of the number of our outstanding common shares on the first day of each of 2007, 2008 and 2009 plus (b) 2.5% of our outstanding common shares on the first day of each calendar year after 2009. As of March 31, 2020, the maximum number of common shares which may be issued pursuant to all awards of restricted shares, options and restricted share units under the Plan was 17,453,000 common shares, of which 566,190 restricted shares, 3,284,393 options, and 6,114,136 restricted share units (in each case net of forfeitures) have been awarded, leaving 7,488,281 common shares available to be issued.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The following describes the principal terms of the Plan.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Types of Awards.</i><span style="white-space:pre-wrap;">  We may make the following types of awards under the Plan:</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">restricted shares, which are common shares that are subject to certain restrictions and may be subject to risk of forfeiture or&#160;repurchase;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">options, which entitle the holder to purchase our common shares; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">restricted share units, which entitle the holder to receive our common shares.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Plan Administration.</i><span style="white-space:pre-wrap;">  The Compensation Committee of our board of directors administers the Plan, except with respect to awards made to our non-employee directors, where the entire board of directors administers the Plan. The Compensation Committee or the full board of directors, as appropriate, determines the provisions, terms, and conditions of each&#160;award.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Award Agreement.</i><span style="white-space:pre-wrap;">  Awards are evidenced by an award agreement that sets forth the terms, conditions and limitations for each&#160;award.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Eligibility.</i><span style="white-space:pre-wrap;">  We may grant awards to employees, directors and consultants of our company or any of our related entities, which include our subsidiaries and any entities in which we hold a substantial ownership interest. We may, however, grant options that are intended to qualify as incentive share options only to our&#160;employees.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Acceleration of Awards upon Corporate Transactions.</i><span style="white-space:pre-wrap;">  Outstanding awards will accelerate upon a change-of-control where the successor entity does not assume our outstanding awards. In such event, each outstanding award will become fully vested and immediately exercisable, the transfer restrictions on the awards will be released and the repurchase or forfeiture rights will terminate immediately before the date of the change-of-control transaction.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Exercise Price and Term of Options.</i><span style="white-space:pre-wrap;">  In general, the Compensation Committee determines the exercise price of an option and sets out the price in the award agreement. The exercise price may be a fixed or variable price related to the fair market value of our common shares. If we grant an incentive share option to an employee who, at the time of that grant, owns shares representing more than 10% of the voting power of all classes of our share capital, the exercise price cannot be less than 110% of the fair market value of our common shares on the date of that grant and the share option is exercisable for no more than five years from the date of that&#160;grant.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The term of an award may not exceed ten years from the date of the grant.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Vesting Schedule.</i><span style="white-space:pre-wrap;">  In general, the Compensation Committee determines the vesting schedule.</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">93</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Restricted Shares</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes, as of March 31, 2020, the restricted shares that we had granted under the Plan to our employees and certain individuals as a group. We have not granted any restricted shares to our directors and executive officers. The restricted shares granted in May 2006 vested over a two-year period beginning in March 2006. The vesting periods for all other restricted shares are indicated in the notes below.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:55.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:55.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:55.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Name</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Granted</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Vested</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Forfeited</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date&#160;of&#160;Grant</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Employees</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:55.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Twelve individuals as a group</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 330,860</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 330,860</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">May&#160;30, 2006</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Hanbing Zhang<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 116,500</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)&#160;&#160;</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 116,500</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">July&#160;28, 2006</p></td></tr><tr><td style="vertical-align:bottom;width:55.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Employees as a group</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 447,360</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 447,360</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> &#8212;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Other Individuals</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:55.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">One individual</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,330</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(3)&#160;&#160;</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,330</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">May&#160;30, 2006</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">One individual</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 116,500</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(4)&#160;&#160;</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 116,500</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">June&#160;30, 2006</p></td></tr><tr><td style="vertical-align:bottom;width:55.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Other Individuals as a group</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 118,830</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 118,830</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> &#8212;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total Restricted Shares</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 566,190</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 566,190</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> &#8212;</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td></tr></table><div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">The wife of Dr. Shawn Qu.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Vest over a four-year period from the date of grant.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Vest on accelerated termination.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(4)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Vest over a two-year period from the date of grant.</span></td></tr></table><div style="margin-top:12pt;"></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">94</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Options</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;">The following table summarizes, as of March 31, 2020, the options that we had granted under the Plan to our directors and certain other individuals. The options granted to our independent directors vest immediately. Unless otherwise noted, all other options granted vest over a four-year period (one-quarter on each anniversary date) from the date of grant, and exercise prices are equal to the average of the trading prices of the common shares for the five trading days preceding the date of grant.</p><table style="border-collapse:collapse;font-size:16pt;margin-left:-0.010955811%;padding-left:0pt;padding-right:0pt;width:100.02%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:14.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Common</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Common</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Common</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Common</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Underlying</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Underlying</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Underlying</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Underlying</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">($&#160;per</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date&#160;of</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:14.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Name</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Granted</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercised</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Forfeited</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Outstanding</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date&#160;of&#160;Grant</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Expiration</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Directors:</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Shawn (Xiaohua) Qu</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3.18</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">March&#160;12, 2009</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 25,000</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 25,000</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11.33</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">August&#160;27, 2010</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">August&#160;26, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,779</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,779</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9.33</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;20, 2011</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;19, 2021</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Robert McDermott</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 46,600</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 46,600</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15.00</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">August&#160;8, 2006</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9.88</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">July&#160;1, 2007</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 41.75</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(4)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">June&#160;26, 2008</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13.75</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(4)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">June&#160;29, 2009</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12.09</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(4)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">September&#160;20, 2010</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">September&#160;19, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9.81</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(4)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">June&#160;27, 2011</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3.03</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(4)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">June&#160;11, 2012</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8.29</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(4)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">June&#160;7, 2013</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Harry E. Ruda</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8.31</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(4)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">August&#160;14, 2011</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3.03</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(4)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">June&#160;11, 2012</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8.29</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(4)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">June&#160;7, 2013</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Directors as a Group</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 343,379</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 253,000</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 23,300</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 67,079</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Executive Officers:</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Yan Zhuang</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7.36</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">September&#160;24, 2007</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,300</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 41.75</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">June&#160;26, 2008</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 80,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 80,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9.37</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;23, 2009</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15,000</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15,000</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11.33</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">August&#160;27, 2010</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,268</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,268</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9.33</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;20, 2011</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Executive Officers as a Group</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 152,868</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 129,568</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 23,300</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> &#8212;</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Employees:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Hanbing Zhang</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 46,600</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 46,600</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4.29</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">July 28, 2006</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3.18</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">March 12, 2009</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,000</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,000</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11.33</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">August 27, 2010</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">August 26, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,512</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,512</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9.33</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May 20, 2011</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May 19, 2021</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Other employees and certain individuals as a group</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,160,031</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,728,446</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,397,397</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 34,188</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">2.12 to 46.28</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">Various dates from May 30, 2006 to June 7, 2013</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">Various dates from May 29, 2016 to June 6, 2023 </p></td></tr><tr><td style="vertical-align:bottom;width:14.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Total Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 4,728,390</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 3,163,614</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 1,443,997</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 120,779</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;margin-right:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr></table><div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:8pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:8pt;font-style:normal;font-weight:normal;text-align:left;">Vest in two equal installments, the first upon the date of grant and the second upon the first year anniversary of the date of grant as long as the director remains in&#160;service.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:8pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:8pt;font-style:normal;font-weight:normal;text-align:left;">Vest immediately upon the date of grant.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:8pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:8pt;font-style:normal;font-weight:normal;text-align:left;">The initial public offering price of the common shares.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:8pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(4)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:8pt;font-style:normal;font-weight:normal;text-align:left;">Exercise price equal to the average of the trading prices of the common shares for the 20&#160;trading days preceding the date of&#160;grant.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">95</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Restricted Share Units</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes, as of March 31, 2020, the restricted share units that we had granted under the Plan to our directors, executive officers and certain other individuals.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:52.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share&#160;Units</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share&#160;Units</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share&#160;Units</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:52.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Name</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Granted</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Vested</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Forfeited</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date&#160;of&#160;Grant</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Directors:</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Shawn (Xiaohua) Qu</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,154</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,154</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;8, 2011</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,706</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,706</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;20, 2011</p></td></tr><tr><td style="vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 75,075</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 75,075</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">March&#160;16, 2012</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 67,024</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 67,024</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">March&#160;9, 2013</p></td></tr><tr><td style="vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,983</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,983</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;4, 2014</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,274</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,274</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;3, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 20,216</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15,162</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">July&#160;8, 2016</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 121,951</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 121,951</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">November&#160;6, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 22,607</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,303</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;17, 2017</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 77,289</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 77,289</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">November&#160;5, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,018</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,504</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May 13, 2018</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 83,805</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 52,378</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">November&#160;10, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15,690</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;13, 2019</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 26,691</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,336</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">November&#160;9, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Robert McDermott</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,020</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,020</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">July&#160;1, 2014</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 800</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 800</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">October&#160;1, 2014</p></td></tr><tr><td style="vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,274</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,274</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">January&#160;1, 2015</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 880</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 880</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">April&#160;1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 993</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 993</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">July&#160;1, 2015</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,820</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,820</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">October&#160;1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,033</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,033</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">January&#160;1, 2016</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,572</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,572</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">April&#160;1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,051</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,051</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">July&#160;1, 2016</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,228</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,228</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">October&#160;1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,411</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,411</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">January&#160;1, 2017</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,562</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">April&#160;1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,901</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">July&#160;1, 2017</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,818</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">October&#160;1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,767</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">January&#160;1, 2018</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,802</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">April&#160;1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,458</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">July&#160;1, 2018</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,056</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">October&#160;1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,096</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">January&#160;1, 2019</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,623</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">April&#160;1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,381</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">July&#160;1, 2019</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,486</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">October&#160;1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:52.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,361</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">January&#160;1, 2020</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">96</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:55.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share&#160;Units</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share&#160;Units</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share&#160;Units</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:55.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Name</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Granted</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Vested</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Forfeited</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date&#160;of&#160;Grant</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Harry E. Ruda</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,020</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,020</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">July&#160;1, 2014</p></td></tr><tr><td style="vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 800</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 800</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">October&#160;1, 2014</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,274</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,274</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">January&#160;1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 880</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 880</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">April&#160;1, 2015</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 993</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 993</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">July&#160;1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,820</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,820</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">October&#160;1, 2015</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,033</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,033</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">January&#160;1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,572</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,572</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">April&#160;1, 2016</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,051</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,051</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">July&#160;1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,228</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,228</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">October&#160;1, 2016</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,411</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,411</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">January&#160;1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,562</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">April&#160;1, 2017</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,901</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">July&#160;1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,818</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">October&#160;1, 2017</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,767</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">January&#160;1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,802</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">April&#160;1, 2018</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,458</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">July&#160;1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,056</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">October&#160;1, 2018</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,096</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">January&#160;1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,623</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">April&#160;1, 2019</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,381</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">July&#160;1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,486</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">October&#160;1, 2019</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,361</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">January&#160;1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Andrew (Luen Cheung) Wong</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 610</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 610</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">August&#160;7, 2014</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 800</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 800</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">October&#160;1, 2014</p></td></tr><tr><td style="vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,274</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,274</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">January&#160;1, 2015</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 880</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 880</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">April&#160;1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 993</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 993</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">July&#160;1, 2015</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,820</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,820</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">October&#160;1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,033</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,033</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">January&#160;1, 2016</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,572</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,572</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">April&#160;1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,051</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,051</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">July&#160;1, 2016</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,228</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,228</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">October&#160;1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,411</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,411</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">January&#160;1, 2017</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,562</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">April&#160;1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,901</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">July&#160;1, 2017</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,818</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">October&#160;1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,767</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">January&#160;1, 2018</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,802</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">April&#160;1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,458</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">July&#160;1, 2018</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,056</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">October&#160;1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,096</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">January&#160;1, 2019</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,623</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">April&#160;1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,381</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">July&#160;1, 2019</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,486</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">October&#160;1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,361</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">January&#160;1, 2020</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Arthur (Lap Tat) Wong</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 559</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">March&#160;8, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,623</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">April&#160;1, 2019</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,381</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">July&#160;1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,486</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">October&#160;1, 2019</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,361</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">January&#160;1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Lauren C. Templeton</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,361</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">January&#160;1, 2020</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Karl E. Olsoni</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,021</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">January&#160;1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:55.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Directors as a group</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 692,044</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 515,975</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">&#8212;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:11.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">97</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:52.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share&#160;Units</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share&#160;Units</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share&#160;Units</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:52.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Name</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Granted</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Vested</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Forfeited</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date&#160;of&#160;Grant</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Executive Officers</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Huifeng Chang</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,340</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23,340</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;8, 2016</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,477</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10,108</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">July&#160;8, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15,072</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,536</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;17, 2017</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,012</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,003</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;13, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10,460</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;13, 2019</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,923</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (1)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;13, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Guangchun Zhang</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 80,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 80,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">March&#160;9, 2013</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,262</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,262</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;4, 2014</p></td></tr><tr><td style="vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,516</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,516</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;3, 2015</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,477</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10,108</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">July&#160;8, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15,072</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,536</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;17, 2017</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,012</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,003</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;13, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10,460</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;13, 2019</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Yan Zhuang</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,564</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (1)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,564</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;8, 2011</p></td></tr><tr><td style="vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,224</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,224</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;20, 2011</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 45,045</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 45,045</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">March&#160;16, 2012</p></td></tr><tr><td style="vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 40,214</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 40,214</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">March&#160;9, 2013</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,988</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,988</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;4, 2014</p></td></tr><tr><td style="vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,516</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,516</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;3, 2015</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,477</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10,108</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">July&#160;8, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15,072</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,536</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;17, 2017</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,012</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,003</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;13, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10,460</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;13, 2019</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,230</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (1)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;13, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Jianyi Zhang</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 25,934</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 25,934</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;8, 2016</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,477</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10,108</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">July&#160;8, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15,072</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,536</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;17, 2017</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,012</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,003</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;13, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10,460</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;13, 2019</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Guoqiang Xing</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,717</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,717</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">December&#160;26, 2014</p></td></tr><tr><td style="vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,758</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,758</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;3, 2015</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,739</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,054</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">July&#160;8, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,586</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,689</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;17, 2017</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 15,072</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,536</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;17, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 12,012</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,003</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;13, 2018</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 10,460</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;white-space:pre-wrap;"> (2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">&#8212;</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;13, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:52.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Executive Officers as a group</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 521,184</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 360,948</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;">&#8212;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">98</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:27.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:38.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:38.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:27.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share&#160;Units</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share&#160;Units</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Share&#160;Units</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:38.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:27.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Name</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Granted</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Vested</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Forfeited</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:38.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date&#160;of&#160;Grant</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:27.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Employees</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:38.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:27.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Hanbing Zhang</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">1,538</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,538</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:38.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;8, 2011</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:27.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">5,482</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,482</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:38.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;20, 2011</p></td></tr><tr><td style="vertical-align:bottom;width:27.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">21,021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21,021</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:38.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">March&#160;16, 2012</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:27.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">18,767</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 18,767</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:38.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">March&#160;9, 2013</p></td></tr><tr><td style="vertical-align:bottom;width:27.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">2,796</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,796</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:38.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;4, 2014</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:27.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">2,344</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,344</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:38.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;3, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:27.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">4,717</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,538</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:38.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">July&#160;8, 2016</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:27.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">5,275</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,637</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:38.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;17, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:27.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">4,204</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,051</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:38.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;13, 2018</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:27.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">3,661</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> &#8212;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;white-space:nowrap;width:38.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">May&#160;13, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:27.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Other employees and certain individuals as a group</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,662,642</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(4)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,573,858</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,372,709</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:38.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">Various dates from May 8, 2011 to November 10, 2018 </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:27.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 580,135</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(4)</sup><span style="vertical-align:top;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11,013</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 38,965</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:38.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">Various dates from January 1, 2019 to March 21, 2020 </p></td></tr><tr><td style="vertical-align:bottom;width:27.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Total Restricted Share Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 7,525,810</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 4,520,968</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 1,411,674</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:38.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr></table><div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:8pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:8pt;font-style:normal;font-weight:normal;text-align:left;">Vest over a one-year period from the date of grant.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:8pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:8pt;font-style:normal;font-weight:normal;text-align:left;">Vest over a four-year period from the date of grant.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:8pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:8pt;font-style:normal;font-weight:normal;text-align:left;">Vest over an eight-quarter period from date of grant.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:8pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(4)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:8pt;font-style:normal;font-weight:normal;text-align:left;">13,844 restricted share units granted on May 8, 2011 vested over one-year period from the date of grant. 126,036 restricted share units granted on August 11, 2013 vested immediately upon the date of grant. The other restricted share units granted vest over a four-year period from the date of grant.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We grant each of our independent directors restricted share units quarterly in advance on the first day of July, October, January and April in each year of service. The number of restricted share units granted quarterly is determined by dividing $30,000 by the average of the closing price of our common shares on each of the five trading days preceding the date of the grant. Each restricted share unit will entitle those directors to receive one of our common shares upon vesting. These restricted share units vest on the earlier of the date that the director ceases to be a member of our board of directors for any reason and three years after the grant date. We agree to issue common shares to those directors as soon as practicable, and in any event within 60 days, after the granted restricted share units vested.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">C.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Board Practices</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2019, our board of directors held seven meetings and passed 40 resolutions by unanimous written consent.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Terms of Directors and Executive Officers</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our officers are appointed by and serve at the discretion of our board of directors. Our current directors have not been elected to serve for a specific term and, unless re-elected, hold office until the close of our next annual meeting of shareholders or until such time as their successors are elected or&#160;appointed.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Committees of the Board of Directors</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our board of directors has established an audit committee, a compensation committee, a nominating and corporate governance committee and a research and development committee. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">99</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Audit Committee</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our audit committee consists of Messrs. McDermott, Ruda, Andrew (Luen Cheung) Wong, Arthur (Lap Tat) Wong and Ms. Templeton and is chaired by Mr. Arthur (Lap Tat) Wong. Mr. Arthur (Lap Tat) Wong qualifies as an &#8220;audit committee financial expert&#8221; as required by the SEC. Each of Messrs. McDermott, Ruda and Andrew (Leun Cheung) Wong and Ms. Templeton is &#8220;financially literate&#8221; as required by the Nasdaq rules. Each of the members of our audit committee satisfies the &#8220;independence&#8221; requirements of the Nasdaq corporate governance rules. The audit committee oversees our accounting and financial reporting processes and the audits of the financial statements of our company.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The audit committee is responsible for, among other things:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">selecting our independent auditors and pre-approving all auditing and non-auditing services permitted to be performed by our independent auditors;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">reviewing with our independent auditors any audit problems or difficulties and management&#8217;s responses;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">reviewing and approving all proposed related-party transactions, as defined in Item&#160;404 of Regulation&#160;S-K under the Securities&#160;Act;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">discussing the annual audited financial statements with management and our independent auditors;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">reviewing major issues as to the adequacy of our internal controls and any special audit steps adopted in light of material control deficiencies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">annually reviewing and reassessing the adequacy of our audit committee charter;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">such other matters that are specifically delegated to our audit committee by our board of directors from time to&#160;time;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">meeting separately and periodically with management and our internal and independent auditors;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">reporting regularly to the full board of directors.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2019, our audit committee held five meetings, and did not pass any resolution by unanimous written consent.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Compensation Committee</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our compensation committee consists of Messrs. McDermott, Ruda, Andrew (Luen Cheung) Wong and Arthur (Lap&#160;Tat) Wong and Ms. Templeton and is chaired by Mr.&#160;Andrew (Leun Cheung) Wong. Each of the members of our compensation committee satisfies the &#8220;independence&#8221; requirements of the Nasdaq corporate governance rules. The compensation committee assists the board in reviewing and approving the compensation structure for our directors and executive officers, including all forms of compensation to be provided to our directors and executive officers. Members of the compensation committee are not prohibited from direct involvement in determining their own compensation. Our chief executive officer may not be present at any committee meeting during which his compensation is deliberated. The compensation committee is responsible for, among other&#160;things:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">reviewing and approving corporate goals and objectives relevant to the compensation of our chief executive officer, evaluating the performance of our chief executive officer in light of those goals and objectives, and setting the compensation level of our chief executive officer based on this evaluation;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">reviewing and approving the compensation arrangements for our other executive officers and our directors;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">overseeing and periodically reviewing the operation of our employee benefits plans, including bonus, incentive compensation, stock option, pension and welfare&#160;plans.</span></td></tr></table><div style="margin-top:6pt;"></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">100</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2019, our compensation committee held six meetings and passed five resolutions by unanimous written consent.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Nominating and Corporate Governance Committee</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our nominating and corporate governance committee consists of Messrs. McDermott, Ruda, Andrew (Luen Cheung) Wong and Arthur (Lap Tat) Wong and Ms. Templeton and is chaired by Mr. McDermott. Each of the members of our nominating and corporate governance committee satisfies the &#8220;independence&#8221; requirements of the Nasdaq corporate governance rules. The nominating and corporate governance committee assists the board of directors in identifying individuals qualified to become our directors and in determining the composition of the board and its committees. The nominating and corporate governance committee is responsible for, among other things:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">identifying and recommending to the board nominees for election or re-election to the board, or for appointment to fill any&#160;vacancy;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">reviewing annually with the board the current composition of the board in light of the characteristics of independence, age, skills, experience and availability of service to&#160;us;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">identifying and recommending to the board the directors to serve as members of the board&#8217;s committees;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">advising the board periodically with respect to significant developments in the law and practice of corporate governance as well as our compliance with applicable laws and regulations, and making recommendations to the board on all matters of corporate governance and on any corrective action to be taken;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">monitoring compliance with our code of business conduct and ethics, including reviewing the adequacy and effectiveness of our procedures to ensure proper compliance.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2019, our nominating and corporate governance committee held four meetings and did not pass any resolution by unanimous written consent.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Research and Development Committee</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our research and development committee consists of Dr. Harry E. Ruda and Dr. Shawn Qu and is chaired by Dr. Ruda. Dr. Guoqiang Xing, our senior vice president and chief technical officer, is an advisory member of the committee. The research and development committee advises and assists the board of directors and management on matters relating to technology and technological innovation and development as it relates to our solar power business. The research and development committee is responsible for, among other things:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">reviewing, evaluating and advising the board of directors and management regarding the quality, scope, direction and effectiveness of our research and development programs and&#160;activities;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">reviewing, evaluating and advising the board of directors and management regarding our progress in achieving our research and development goals and&#160;objectives;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">reviewing, evaluating and making recommendations to the board of directors and management on our internal and external investments in science and&#160;technology;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">monitoring, identifying, evaluating and advising the board of directors and management regarding competing solar power technologies and new and emerging developments in solar power science and&#160;technology;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">reviewing, evaluating and advising the board of directors and our chief executive officer regarding the composition and quality of the research and development team;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">providing general oversight of matters relating to the protection of our intellectual property.</span></td></tr></table><div style="margin-top:6pt;"></div></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">101</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2019, our research and development committee held four meetings and did not pass any resolution by unanimous written consent.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Interested Transactions</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the CBCA, a director or officer of a corporation who is a party to a material contract or transaction or proposed material contract or transaction with the corporation, or is a director or officer (or&#160;an individual acting in a similar capacity) of, or has a material interest in, any person who is party to such a contract or transaction, is required to disclose to the corporation in writing or request to have entered into the minutes of meetings of directors the nature and extent of his or her interest in accordance with the requirements of the CBCA. A director may vote on any resolution in respect of such contract or transaction only if the contract or transaction is: (a)&#160;one relating primarily to remuneration as a director, officer, employee or agent of the corporation or an affiliate; (b)&#160;one for indemnity or insurance in favor of directors and officers in compliance with the CBCA; or (c)&#160;one with an&#160;affiliate.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2019, we did not enter into any interested transactions other than those described in this &#8220;Item&#160;6. Directors, Senior Management and Employees&#8221; and &#8220;Item&#160;7. Major Shareholders and Related Party Transactions&#8212;B. Related Party Transactions.&#8221;</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Remuneration and Borrowing</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our directors may determine the remuneration to be paid to them. The compensation committee will assist the directors in reviewing and approving the compensation structure for our directors. Our directors may, without authorization of the shareholders (a)&#160;borrow money on our credit, (b)&#160;issue, reissue, sell, pledge or hypothecate debt obligations of ours, (c)&#160;give a guarantee on our behalf to secure performance of an obligation of any person, and (d)&#160;mortgage, hypothecate, pledge or otherwise create a security interest in all or any property of ours, owned or subsequently acquired, to secure any obligation of&#160;ours.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Qualification</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Each of our independent directors is asked to hold common shares and/or restricted share units having a value which is at least five times the director&#8217;s annual cash retainer and to satisfy this requirement before the later of July&#160;1, 2017 and three years after he or she becomes a&#160;director.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Employment Agreements</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have entered into employment agreements with each of our executive officers.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">All of the employment agreements with our executive officers are for an indefinite term. Under the employment agreements, we may terminate the employment of an executive officer at any time by giving written notice of termination to the executive officer. An executive officer may terminate his employment at any time by giving 30 days&#8217; written notice of termination to us.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we terminate the employment of an executive officer for any reason other than cause or disability, or the executive officer terminates his employment for good reason, in both cases other than within 12 months after a change of control, (a) the unvested RSUs held by the executive officer immediately before the date of termination of the employment that would otherwise vest within 12 months after the date of termination of the employment will be deemed to have vested immediately before the date of termination of the employment; (b) the executive officer is entitled to receive his target bonus for the year in which the date of termination of the employment occurs; and (c) the executive officer is entitled to continue to receive his base salary and benefits for a period of six plus N months following the date of termination of the employment provided that he continues to comply with his confidentiality, inventions, non-competition, non-solicitation and assistance obligations described below. &#8220;N&#8221; is the number of years (including part years) that the executive officer was employed by us and our subsidiaries during the period beginning on January 1, 2007 and ending on the date of termination of the Employment but not exceeding 12.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">102</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we terminate the employment of an executive officer for any reason other than cause or disability, or the executive officer terminates his employment for good reason, in both cases within 12 months after a change of control, (a) all unvested RSUs held by the executive officer immediately before the date of termination of the employment will be deemed to have vested immediately before the date of termination of the employment; (b) the executive officer is entitled to receive an lump sum amount equal to the sum of: (1) his target bonus for the year in which the date of termination of the employment occurs, (2) his annual base salary and (3) the estimated annual cost of his providing his benefits multiplied by a fraction, the numerator of which is 12 plus N and the denominator of which is 12.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="white-space:pre-wrap;">Each executive officer has agreed: (a) not to disclose or use any of our confidential information, including trade secrets and information concerning our finances, employees, technology, processes, facilities, products, suppliers, customers and markets, except in the performance of his duties and responsibilities or as required pursuant to applicable law; (b)  to disclose in confidence to us all inventions, designs and trade secrets which he may conceive, develop or reduce to practice during his employment and to assign all right, title and interest in them to us; (c) during and within one year after the termination of his employment, (1) not to communicate or have any other dealings with our customers or suppliers that would be likely to harm the business relationship between us and our suppliers; (2) not to provide services, whether as a director, officer, employee, independent contractor or otherwise, to a competitor; and (3) not to solicit, whether by offer of employment or otherwise, the services of any of our employees; and (d) at our request, to answer our requests for information about those aspects of our business and affairs in which he was involved and assist us in prosecuting or defending claims or responding to investigations or reviews by any regulatory authority or stock exchange in relation to events or occurrences that took place during the employment. &#8220;Competitor&#8221; is a person that, directly or indirectly, carries on business in any jurisdiction where we and our subsidiaries carry on business if that person or any subsidiary or division of that person generates more than 10% of its revenues from solar power products and services similar to those provided by the us and our subsidiaries.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our compensation committee is required to approve the employment agreements entered into by us with our executive officers.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Director Agreements</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have entered into director agreements with our independent directors, pursuant to which we make payments in the form of an annual cash retainer, payable quarterly, and quarterly grants of restricted share units to our independent directors for their services. See &#8220;&#8212;B. Compensation of Directors and Executive Officers.&#8221;</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Indemnification of Directors and Officers</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the CBCA and pursuant to our by-laws, we may indemnify any present or former director or officer or an individual who acts or has acted at our request as a director or officer, or an individual acting in a similar capacity, of another corporation or entity, against all costs, charges and expenses, including an amount paid to settle an action or satisfy a judgment, reasonably incurred by such individual in respect of any civil, criminal, administrative, investigative or other proceeding in which the individual is involved because of that association with us or other entity, provided that the director or officer acted honestly and in good faith with a view to our best interests, or, as the case may be, to the best interests of the other entity for which he or she acted as a director or officer or in a similar capacity at our request, and, in the case of a criminal or administrative action or proceeding that is enforced by a monetary penalty, had reasonable grounds for believing that his or her conduct was lawful. Such indemnification may be made in connection with a derivative action only with court approval. A director or officer is entitled to indemnification from us as a matter of right if the court or other competent authority has judged that he or she has not committed any fault or omitted to do anything that the individual ought to have done and fulfilled the conditions set forth&#160;above.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">103</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have entered into indemnity agreements with each of our directors agreeing to indemnify them, to the fullest extent permitted by law, against all liability, loss, harm damage cost or expense, reasonably incurred by the director in respect of any threatened, pending, ongoing or completed claim or civil, criminal, administrative, investigative or other action or proceeding made or commenced against him or in which he is or was involved by reason of the fact that he is or was a director of our&#160;company.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our directors and officers are covered by directors&#8217; and officers&#8217; insurance policies.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">D.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Employees</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">As of December&#160;31, 2017, 2018 and 2019, we had 12,129, 12,442 and 13,478&#160;full-time employees, respectively. The following table sets forth the number of our employees categorized by our areas of operations and as a percentage of our workforce as of December 31, 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:63.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As&#160;of&#160;December&#160;31,&#160;2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:63.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:16.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of&#160;Employees</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percentage&#160;of&#160;Total</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:63.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Manufacturing</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10,733</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 79.6</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:63.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">General and administrative</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,390</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10.4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:63.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Research and development</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 515</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3.8</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:63.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Sales and marketing</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 840</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6.2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:63.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:16.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,478</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2019, we had 2,708 employees at our facilities in Suzhou, 2,564 employees at our facilities in Changshu, 2,106 employees at our facilities in Luoyang, 2,560 employees at our facilities in Yancheng, 364 employees at our facilities in Baotou and 3,176 employees based in our facilities and offices in Canada, Japan, Australia, Singapore, South Korea, Hong Kong, Taiwan, India, Indonesia, Thailand, Vietnam, Brazil, United Arab Emirates, South Africa, the Americas and the EU (which includes Germany, Italy, Netherlands, Israel, United Kingdom and Spain ). Our employees are not covered by any collective bargaining agreement. We consider our relations with our employees to be good. From time to time, we also employ or engage part-time employees or independent contractors to support our manufacturing, research and development and sales and marketing activities. We plan to hire additional employees as we expand.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="white-space:pre-wrap;">Continuous learning is the cornerstone of our human capital development strategy. Employees across all functions and levels of us are offered participation in the CSI University program, which is designed to support their career development through an extensive suite of resources including classroom training, e-learning, coaching, mentoring and on-the-job training. We partner with professional consultants such as Development Dimensions International (&#8220;DDI&#8221;) for establishing leadership standards and creating tailor-made development programs.   </span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Training programs for junior positions are focused on developing technical and professional skills, including but not limited to areas such as project development, permitting, asset management, project finance, sales management, order management and operations, supply chain management, marketing, technical services and support, etc. This is complemented by a CSI Boot Camp, which is designed to develop soft skills and nurture a culture of continuous self and mutual learning.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For more senior-level employees, our in-house training program is more targeted on developing leadership and managerial skills. The Leadership Foundation Program focuses on executive strategy, effective decision-making, coaching for peak performance, delegation, and other leadership skills. Global workshops on key business topics such as PPA and storage are organized to help our leaders continue to learn. We also selectively sponsor key talents to attend top MBA programs. We regularly carry out global succession planning reviews to identify the high-potential talents and follows up with individual development plans for them.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We strive to create a culture of openness and transparency which values and promotes two-way communication between management and team members. Feedback is both encouraged and appreciated, as we consider it a key driver for employee engagement.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">104</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">E.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Share Ownership</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The following table sets forth information with respect to the beneficial ownership of our common shares as of March 31, 2020, the latest practicable date, by:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">each of our directors and executive officers; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">each person known to us to own beneficially more than 5% of our common shares.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The calculations in the table below are based on the 59,041,687 common shares outstanding, as of March 31, 2020.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Beneficial ownership is determined in accordance with the rules and regulations of the SEC. 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 from March 31, 2020, including through the vesting of any restricted share unit, the exercise of any option, warrant 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.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares&#160;Beneficially</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:21.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Owned</b><sup style="font-size:6pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Directors and Executive Officers: </b><sup style="font-size:7.5pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Shawn (Xiaohua) Qu (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,964,711</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Robert McDermott (4)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 42,484</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Harry E. Ruda (5)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 37,484</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Andrew Wong (6)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,243</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Yan Zhuang (7)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 17,985</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Huifeng Chang (8)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 17,641</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Guangchun Zhang (9)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 12,755</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Jianyi Zhang (10)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 30,951</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Guoqiang Xing (11)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 22,027</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">All Directors and Executive Officers as a Group</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14,155,281</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 23.9</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Principal Shareholders</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Lion Point Capital, L.P. (12)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,388,709</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7.4</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Schroder Investment Management Hong Kong (13)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,294,748</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:74.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Morgan Stanley and Morgan Stanley Capital services LLC (14)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,528,037</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6.0</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr></table><div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;">*&#160;&#160;&#160;&#160;&#160;The person beneficially owns less than 1% of our outstanding shares.</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Beneficial ownership is determined in accordance with Rule 13d-3 of the General Rules and Regulations under the Exchange Act, and includes voting or investment power with respect to the securities.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">The business address of our directors and executive officers is 545 Speedvale Avenue West, Guelph, Ontario, Canada N1K 1E6.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Comprises 13,877,824 common shares directly held by Dr. Shawn Qu and Hanbing Zhang, the wife of Dr. Shawn Qu, 63,291 common shares issuable upon the exercise of options held by Dr. Shawn Qu and Ms. Zhang within 60 days from March 31, 2020 and 23,596 shares issuable upon vesting of restricted share units held by Dr. Shawn Qu and Ms. Zhang within 60 days from March 31, 2020.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(4)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Comprises 16,622 common shares directly held by Mr. McDermott, 23,300 common shares issuable upon exercise of options held by Mr. McDermott within 60 days from March 31, 2020 and 2,562 shares issuable upon vesting of restricted share units held by Mr. McDermott within 60 days from March 31, 2020.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(5)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Comprises 34,922 common shares directly held by Mr. Ruda and 2,562 common shares issuable upon vesting of restricted share units held by Mr. Ruda within 60 days from March 31, 2020.</span></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">105</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(6)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Comprises 6,681 common shares directly held by Mr. Wong and 2,562 shares issuable upon vesting of restricted share units held by Mr. Wong within 60 days from March 31, 2020.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(7)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Comprises 17,985 common shares issuable upon vesting of restricted share units held by Mr. Zhuang within 60 days from March 31, 2020.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(8)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Comprises 3,905 common shares directly held by Mr. Chang and 13,736 shares issuable upon vesting of restricted share units held by Mr. Chang within 60 days from March 31, 2020.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(9)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Comprises 12,755 common shares issuable upon vesting of restricted shares units held by Mr. Zhang within 60 days from March 31, 2020.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(10)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Comprises 18,196 common shares directly held by Mr. Zhang and 12,755 shares issuable upon vesting of restricted share units held by Mr. Zhang within 60 days from March 31, 2020.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(11)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Comprises 10,956 shares directly held by Mr. Xing and 11,071 shares issuable upon vesting of restricted share units held by Mr. Xing within 60 days from March 31, 2020.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(12)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Represents 4,388,709 common shares owned by Lion Point Capital, L.P. as reported in Form 13F-HR filed by Lion Point Capital, L.P. on February 14, 2020. The percentage of beneficial ownership was calculated based on the total number of our common shares as of March 31, 2020. Lion Point Capital, L.P. is a Delaware limited partnership with its business address at 250 West 55th Street, 33rd Floor, New York, New York 10019.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(13)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Represents 4,294,748 common shares held by Schroder Investment Management Hong Kong, as reported on Schedule 13G filed by Schroder Investment Management Hong Kong on February 13, 2020. The percentage of beneficial ownership was calculated based on the total number of our common shares as of March 31, 2020. The principal business address of Schroder Investment Management Hong Kong is Level 22, Two Pacific Place, 88 Queensway, Hong Kong.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(14)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Represents 3,528,037 common shares owned by Morgan Stanley and Morgan Stanley Capital services LLC as reported in Form 13G/A filed by Morgan Stanley and Morgan Stanley Capital services LLC on February 12, 2020. The percentage of beneficial ownership was calculated based on the total number of our common shares as of March 31, 2020. The principal business address of Morgan Stanley and Morgan Stanley Capital services LLC is 1585 Broadway New York, NY 10036.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">None of our shareholders have different voting rights from other shareholders as of the date of this annual report on Form 20-F. We are currently not aware that we are directly or indirectly owned or controlled by another corporation, by any foreign government or by any other natural or legal person severally or jointly and we are currently not aware of any arrangement that may, at a subsequent date, result in a change of control of our company.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_5f29ef8b_6d9e_42bf_b26a_38c6a3732af6"></a></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">106</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="ITEM7MAJORSHAREHOLDERSANDRELATEDPARTYTRA"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;7.&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">MAJOR SHAREHOLDERS AND RELATED PARTY TRANSACTIONS</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">A.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Major Shareholders</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Please refer to &#8220;Item 6. Directors, Senior Management and Employees&#8212;E. Share Ownership.&#8221;</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">B.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Related Party Transactions</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Guarantees and Loans</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Dr. Shawn Qu fully guaranteed one-year loan facilities from Chinese commercial banks of RMB1,346 million ($206 million), RMB1,270 million ($185 million) and RMB1,420 million ($204 million) in 2017, 2018 and 2019, respectively. Amounts drawn down under the facilities as at December 31, 2017, 2018 and 2019 were $135.2 million, $156.0 million and $82.9 million, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We granted 77,289, 83,805 and 26,691 restricted share units to Dr. Shawn Qu in 2017, 2018 and 2019, respectively, on account of his having guaranteed these loan facilities.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Sales and purchase contracts with affiliates</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2019, we sold three solar power projects to CSIF, our 14.66% owned affiliate in Japan, in the amount of JPY5,889.0 million ($53.9 million) recorded in revenue.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2019, we provided asset management services to CSIF in the amount of JPY281.1 million ($2.6 million).</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2019, we provided O&amp;M services to CSIF in the amount of JPY223.6 million ($2.1 million).</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2019, we sold solar power products to ET Solutions South Africa 1 Pty, our 49% owned affiliate in South Africa, in the amount of ZAR586.8 million ($41.0 million).</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2019, we purchased raw materials from Suzhou iSilver Materials Co., Ltd., our 14.63% owned affiliate in China, in the amount of RMB350.6 million ($50.4 million).</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2019, we purchased equipment from Suzhou Kzone Equipment Technology Co., Ltd., our 32% owned affiliate in China, in the amount of RMB61.2 million ($8.9 million).</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Employment Agreements</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">See &#8220;Item&#160;6. Directors, Senior Management and Employees&#8212;C. Board Practices&#8212;Employment Agreements.&#8221;</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Share Incentive Plan</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">See &#8220;Item&#160;6. Directors, Senior Management and Employees&#8212;B. Compensation of Directors and Executive Officers&#8212;Share-based Compensation&#8212;Share Incentive Plan.&#8221;</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">C.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Interests of Experts and Counsel</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_a126cf43_587d_4d11_b9ec_a4367bb3cb96"></a></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">107</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="ITEM8FINANCIALINFORMATION_288618"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;8.&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">FINANCIAL INFORMATION</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">A.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Consolidated Statements and Other Financial Information</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have appended audited consolidated financial statements filed as part of this annual&#160;report.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Legal and Administrative Proceedings</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Class Action Lawsuits</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In January&#160;2015, the plaintiff in a class action lawsuit filed against us and certain of our executive officers in the Ontario Superior Court of Justice obtained an order for class certification in respect of certain claims for which he had obtained leave in September&#160;2014 to assert the statutory cause of action for misrepresentation under the Ontario Securities Act, for certain negligent misrepresentation claims and for oppression remedy claims advanced under the CBCA. The Court dismissed our application for leave to appeal and the class action is at the merits stage. The common issues trial is scheduled for November 2020. We believe the Ontario action is without merit and we are defending it&#160;vigorously.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Solar 1</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On October&#160;17, 2012, the United&#160;States Department of Commerce, or USDOC, issued final affirmative determinations with respect to its antidumping and countervailing duty investigations on crystalline silicon photovoltaic, or CSPV, cells, whether or not incorporated into modules, from China. On November&#160;30, 2012, the U.S.&#160;International Trade Commission, or USITC, determined that imports of CSPV cells had caused material injury to the U.S.&#160;CSPV industry. The USITC&#8217;s determination was subsequently affirmed by the U.S.&#160;Court of International Trade, or CIT, and the U.S.&#160;Court of Appeals for the Federal Circuit, or Federal Circuit.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As a result of these determinations, we were required to pay cash deposits on Chinese-origin CSPV cells imported into the U.S., whether or not incorporated into modules. The rates applicable to our company were 13.94% (antidumping duty) and 15.24% (countervailing duty). We paid all the cash deposits due under these determinations. Several parties challenged the determinations of the USITC in appeals to the CIT. On August&#160;7, 2015, the CIT sustained the USITC&#8217;s final determination and on January&#160;22, 2018, the Federal Circuit upheld the CIT&#8217;s decision. There was no further appeal to the U.S.&#160;Supreme Court and, therefore, this decision is&#160;final.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The rates at which duties will be assessed and payable are subject to administrative reviews.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the first administrative reviews in July&#160;2015. As a result of these decisions, the duty rates applicable to us were revised to 9.67% (antidumping duty) and 20.94% (countervailing duty). The assessed rates were appealed to the CIT. The CIT affirmed the USDOC&#8217;s countervailing duty rates, and no change was made to our countervailing duty rate. This decision by the CIT was not appealed to the Federal Circuit. The CIT likewise affirmed USDOC&#8217;s antidumping duty rates, and no change was made to our antidumping duty rate. This decision by the CIT was, however, appealed to the Federal Circuit, which upheld the CIT&#8217;s decision. There was no further appeal to the U.S.&#160;Supreme Court and, therefore, this decision is&#160;final.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the second administrative reviews in June&#160;2016 (antidumping duty) and July&#160;2016 (countervailing duty). As a result of these decisions, the antidumping duty rate applicable to us was reduced to 8.52% (from 9.67%) and then to 3.96% (from 8.52%). Because we were not subject to the second administrative review of the countervailing duty order, our countervailing duty rate remained at 20.94%. The antidumping duty rates were appealed to the CIT. The CIT affirmed the USDOC&#8217;s second antidumping duty rate. This decision by the CIT was appealed to the Federal Circuit, with a decision expected in mid-2020.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">108</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the third administrative reviews in June 2017 (antidumping duty) and July 2017 (countervailing duty), and later amended in October 2017. As result of these decisions, the duty rates applicable to us were changed to 13.07% (from 8.52%) (antidumping duty) and 18.16% (from 20.94%) (countervailing duty). The assessed rates were appealed to the CIT. The CIT has twice remanded the countervailing duty appeal to the USDOC to consider adjustments to our rate. The CIT will review any adjustments made by the USDOC to our rate and issue a ruling, which is expected later in 2020. The CIT has likewise twice remanded the antidumping duty appeal to the USDOC to consider adjustments to our rate. Pursuant to CIT&#8217;s remand orders, the USDOC made redetermination. The antidumping duty rate applicable to our company was reduced to 4.12% (from 13.07%) and then further to 3.19% (from 4.12%). The countervailing duty rate was reduced to 7.36% (from 18.16%). These rates could be subject to additional judicial review.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the fourth administrative reviews in July 2018 (both antidumping duty and countervailing duty), with the countervailing duty rate later amended in October 2018. Because we were not subject to the fourth administrative review of the antidumping duty order, our antidumping duty rate remains at 13.07%. Because of these decisions, the countervailing duty rate applicable to us was reduced to 11.59% (from 18.16%). The countervailing duty rates were appealed to the CIT. The CIT has remanded the countervailing duty appeal to the USDOC to consider adjustments to our rate.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the fifth administrative reviews in July and August 2019. The antidumping duty rate applicable to us was lowered to 4.06% (from 13.07%). USDOC assessed a countervailing duty rate of 9.70% (from 11.59%). The countervailing duty final results were amended to correct ministerial errors in December 2019, but they resulted in no change to our 9.70% rate. The countervailing duty and antidumping duty rates were appealed to the CIT, which is likely to issue decisions in late 2020 or 2021.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="white-space:pre-wrap;">The sixth administrative reviews are ongoing and are expected to conclude in mid-2020.  The USDOC has assessed our company a preliminary antidumping duty rate of 60.94% (up from 4.06%). In the countervailing duty review, the USDOC has assessed our company a preliminary rate of 17.25% (up from 9.70%). The seventh antidumping duty and countervailing duty administrative reviews were initiated in February 2020 and are currently underway. The USDOC is likely to publish final results in these reviews in 2021. The final results of the sixth and seventh administrative reviews may result in duty rates that differ from the previous duty rates and cash deposit rates applicable to us. These duty rates could materially and adversely affect our U.S. import operations and increase our cost of selling into the U.S. market.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Between 2017 and 2019, the USDOC and USITC conducted five-year sunset reviews and determined to continue the Solar 1 antidumping and countervailing duty orders. In March 2018, the USDOC published the results of its expedited first sunset reviews and concluded that revocation of the Solar 1 orders would likely lead to a continuation or recurrence of dumping and a countervailable subsidy. We did not participate in USDOC&#8217;s first sunset review. We did, however, participate in the USITC&#8217;s first sunset review and requested that the Solar 1 duties be revoked. The USITC issued an affirmative determination in March 2019 declining to revoke the Solar 1 orders and finding that such revocation would be likely to lead to a continuation or recurrence of material injury to the U.S. industry within a reasonably foreseeable time. As a result, the Solar 1 orders remain in effect.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Solar 2</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On December 31, 2013, SolarWorld Industries America, Inc. filed a new trade action with the USDOC and the USITC accusing Chinese producers of certain CSPV modules of dumping their products into the U.S. and of receiving countervailable subsidies from the Chinese authorities. This trade action also alleged that Taiwanese producers of certain CSPV cells and modules dumped their products into the U.S. Excluded from these new actions were those Chinese-origin solar products covered by the Solar 1 orders described above. We were identified as one of a number of Chinese producers exporting the Solar 2 subject goods to the U.S. market.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">109</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">&#8220;Chinese CSPV products subject to Solar 2 orders&#8221; refers to CSPV products manufactured in mainland China using non-Chinese (e.g., Taiwanese) CSPV cells and imported into the U.S. during the investigation or administrative review periods of Solar 2. &#8220;Taiwanese CSPV products subject to Solar 2 orders&#8221; refer to CSPV products manufactured outside of mainland China using Taiwanese CSPV cells and imported into the U.S. during the investigation or review periods of Solar 2.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On December 23, 2014, the USDOC issued final affirmative determinations with respect to its antidumping and countervailing duty investigation on these CSPV products. On January 21, 2015, the USITC determined that imports of these CSPV products had caused material injury to the U.S. CSPV industry. As a result of these determinations, we are required to pay cash deposits on these CSPV products, the rates of which applicable to our Chinese CSPV products were 30.06% (antidumping duty) and 38.43% (countervailing duty). The antidumping cash deposit rate applicable to our Taiwanese CSPV products subject to Solar 2 orders varied by solar cell producer. We paid all the cash deposits due under these determinations.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC&#8217;s determination and the assessed countervailing duty rates were appealed to the CIT and the Federal Circuit. In March 2019, the Federal Circuit affirmed the CIT&#8217;s decision confirming the USDOC&#8217;s determination but reduced our countervailing duty rate to 33.58% (from 38.43%). There was no further appeal to the U.S. Supreme Court and, therefore, this decision is final.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The rates at which duties will be assessed and payable are subject to administrative reviews.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC published the final results of the first administrative reviews in July 2017 (China and Taiwan antidumping duty orders) and September 2017 (China-only countervailing duty order). Because we were not subject to the first administrative reviews of the Chinese orders of Solar 2, our duty rates will remain at 30.06% (antidumping duty) and 33.58% (countervailing duty) for our Chinese CSPV products. Our antidumping duty rates for our Taiwanese CSPV products had ranged from3.56% to 4.20%, until they were changed to 1.52% to 3.78% in June 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The second administrative reviews for the Chinese antidumping and countervailing duty orders were rescinded, meaning that there is no change in the Chinese antidumping and countervailing duty rates applicable to our Chinese CSPV products 30.06% (antidumping duty) and 33.58% (countervailing duty). There is no countervailing duty order on Taiwan Solar 2 products. The USDOC published the final results of the second administrative review for the Taiwanese antidumping duty order (there is no countervailing duty order) in June 2018. The rate applicable to us is 1.33%. There is no ongoing litigation related to the Taiwanese antidumping duty rate.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We were not subject to the third administrative reviews of the Chinese orders and, therefore, our duty rates remained unchanged at 30.06% (antidumping duty) and 33.58% (countervailing duty) for our Chinese CSPV products. There is no countervailing duty order on Taiwan Solar 2 products. The third administrative review of the Taiwanese antidumping order concluded in mid-2019. The rate assessed to us was 4.39% (from 1.33%). There is no ongoing litigation related to the Taiwanese antidumping duty rate.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC rescinded the fourth administrative reviews of the Chinese antidumping duty and countervailing duty orders in late 2019. Our duty rates will remain unchanged at 30.06% (antidumping duty) and 33.58% (countervailing duty) for our Chinese CSPV products. The rate assessed to us in the fourth administrative review of the Taiwanese antidumping order was 2.57% (from 4.39%). The USDOC also found that certain Canadian Solar entities had no shipments during this period of this review.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We will not be subject to the fifth administrative review of the Chinese orders and, therefore, our duty rates will remain unchanged at 30.06% (antidumping duty) and 33.58% (countervailing duty) for our Chinese CSPV products. The USDOC is expected to initiate the fifth administrative review of the Taiwanese orders soon.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">110</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The USDOC and USITC are currently conducting five-year sunset reviews to determine whether to continue the Solar 2 orders on CSPV products from China and Taiwan. The USDOC is conducting an expedited review, with its final results expected in May 2020. The USITC is currently assessing whether it will conduct an expedited or full sunset review, with a decision due on this issue in spring 2020. The USITC&#8217;s sunset review will follow this preliminary decision</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Section&#160;201</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On May&#160;17, 2017, following receipt of a petition from Suniva,&#160;Inc., which was later joined by SolarWorld Americas,&#160;Inc., the USITC instituted a safeguard investigation to determine whether there were increased imports of CSPV products in such quantities as to be a substantial cause of serious injury, or the threat thereof, to the domestic industry producing like or directly competitive products. On September&#160;22, 2017, the USITC determined that CSPV products are being imported into the United&#160;States in such increased quantities as to be a substantial cause of serious injury to the domestic industry.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On January 23, 2018, the President of the United States imposed a safeguard measure on imports of CSPV cells, whether or not partially or fully assembled into other products such as modules, consisting of (1) a tariff-rate quota for four years on imports of CSPV cells not partially or fully assembled into other products, with (a) an in-quota quantity of 2.5 gigawatts, and (b) a tariff rate applicable to over-quota CSPV cells of 30%, declining annually by five percentage points to 25% in the second year, 20% in the third year, and 15% in the fourth year; and (2) a 30% tariff for four years on CSPV modules, declining annually by five percentage points to 25% in the second year, 20% in the third year, and 15% in the fourth year. This safeguard measure, which became effective on February 7, 2018, applies to CSPV products imported from all countries, except for certain developing country members of the World Trade Organization.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USITC conducted a midterm review of the safeguard order in early 2020, issuing its monitoring report in February 2020. Additionally, in March 2020, at the request of the Office of the U.S. Trade Representative (USTR), the USITC released a report regarding the probable economic effect on the domestic CSPV cell and module manufacturing industry of modifying the safeguard measure on CSPV products. The USITC found that increasing the tariff-rate quota on CSPV cells (an integral component of CSPV modules) would likely result in a substantial increase in U.S. module producers&#8217; production, capacity utilization, and employment. The President is required to consider the USITC&#8217;s views but is not required to take any action. The President has the authority to reduce, modify, or terminate the safeguard measures if the President determines that (1) the effectiveness of the safeguard action has been impaired by changed economic circumstances, or (2) the domestic industry has not made adequate efforts to make a positive adjustment to import competition. Alternatively, if a majority of the domestic industry petitions the President that the domestic industry has made a positive adjustment to import competition, then the President may likewise reduce, modify, or terminate the safeguard measures. The President has not yet taken action following receipt of the USITC reports.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">In addition, on June 13, 2019 and following an abbreviated public comment period, USTR granted an exclusion from the safeguard measure for bifacial solar panels comprising solely bifacial solar cells.  On October 9, 2019, USTR determined to withdraw this exclusion, effective October 28, 2019.  Invenergy Renewables LLC contested USTR&#8217;s withdrawal determination at the CIT and persuaded the Court to enjoin USTR&#8217;s withdrawal due to procedural deficiencies.  In early 2020, USTR conducted a renewed notice-and-comment process in order to withdraw the exclusion for bifacial solar panels.  Suject to the CIT&#8217;s further review, the exclusion could be terminated as soon as May 18, 2020.</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">111</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">European Antidumping and Anti-Subsidy Investigations</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On September 6, 2012, following a complaint lodged by EU ProSun, an ad-hoc industry association of EU CSPV module, cell and wafer manufacturers, the European Commission initiated an antidumping investigation concerning EU imports of CSPV modules and key components (i.e., cells and wafers) originating in China. On November 8, 2012, following a complaint lodged by the same parties, the European Commission initiated an anti-subsidy investigation on these same products. On December 6, 2013, the EU imposed definitive antidumping and countervailing measures on imports of CSPV modules and key components (i.e., cells and wafers) originating in or consigned from China. On March 3, 2017, the European Commission extended the antidumping and countervailing measures for 18 months on imports of CSPV modules and key components (i.e., cells and wafers) originating in or consigned from China. On September 16, 2017, the European Commission amended the form of the antidumping and countervailing measures for certain Chinese exporters (but not for Canadian Solar). On March 9, 2018, the antidumping and countervailing measures expired. As a result, since then, our CSPV modules and cells that originate in, or are consigned from, China, are no longer subject to antidumping or countervailing measures.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On February 28, 2014, we filed separate actions with the General Court of the EU for annulment of the regulation imposing the definitive antidumping measures and of the regulation imposing the definitive countervailing measures (case T-162/14 and joined cases T-158/14, T-161/14, and T-163/14). The General Court rejected these actions for annulment. On May 8, 2017, we appealed the judgements of the General Court before the Court of Justice of the EU (cases C-236/17 and C-237/17). On March 27, 2019, the Court of Justice rejected the appeals. There is no further action with regard to these matters.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Canadian Antidumping and Countervailing Duties Expiry Review</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Background: On June 3, 2015, the Canada Border Services Agency (CBSA) released final determinations regarding the dumping and subsidization of solar modules and laminates originating from China. The CBSA determined that such goods were dumped and subsidized. The CBSA found Canadian Solar to be a &#8220;cooperative exporter&#8221; and, as such, ascertained a low (relative to other Chinese exporters) Canadian Solar-specific subsidies rate of RMB0.014 per Watt. On July 3, 2015 the Canadian International Trade Tribunal (CITT) determined that the Canadian industry was not negatively affected as a result of imported modules but was threatened with such negative impact. As a result of these findings, definitive duties were imposed on imports of Chinese solar modules into Canada starting on July 3, 2015. The CITT is required by law to review such finding every five (5) years) lest the finding expire. The CITT&#8217;s finding expires on July 2, 2020.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Current Expiry Review: On April 1, 2020, the CITT initiated the preliminary stage of the expiry review regarding the above finding. Canadian Solar has responded to the CITT with its intent to participate in such review. The CITT will decide by May 21, 2020 based on responses to be received from domestic and Chinese producers whether the expiry review is warranted.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Regardless of the outcome, we do not believe there will be a material negative effect upon our results of operations because we have module manufacturing capacity in Ontario and do not rely on Chinese solar modules to serve our Canadian business.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Dividend Policy</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have never declared or paid any dividends on our common shares, nor do we have any present plan to declare or pay any dividends on our common shares in the foreseeable future. We currently intend to retain our available funds and any future earnings to operate and expand our business.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our board of directors has complete discretion on whether to pay dividends, subject only to the requirements of the CBCA. Even if our board of directors decides to pay dividends, the form, frequency and amount will depend upon our future operations, earnings, capital requirements, surplus, general financial condition, contractual restrictions, and other factors that our board of directors may deem relevant.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">112</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">B.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Significant Changes</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">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-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_b03c2fac_0cf7_4af6_9233_cdbfcc135cb2"></a><a id="ITEM9THEOFFERANDLISTING_523589"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;9.&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">THE OFFER AND LISTING</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">A.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Offering and Listing Details</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">B.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Plan of Distribution</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">C.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Markets</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our common shares have been listed on the Nasdaq since November&#160;9, 2006 under the symbol&#160;&#8220;CSIQ.&#8221;</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">D.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Selling Shareholders</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">E.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Dilution</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">F.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Expenses of the Issue</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_5382ebd3_ed88_4e5f_a694_660a29949290"></a><a id="ITEM10ADDITIONALINFORMATION_800687"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;10.&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">ADDITIONAL INFORMATION</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">A.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Share Capital</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">B.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Memorandum and Articles of Association</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We incorporate by reference into this annual report the description of our Amended Articles of Continuance, as amended, contained in our F-1&#160;registration statement (File No.&#160;333-138144), as amended, initially filed with the SEC on October&#160;23,&#160;2006.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">C.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Material Contracts</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have not entered into any material contracts other than in the ordinary course of business and other than those described in &#8220;Item&#160;4. Information on the Company&#8221; or elsewhere in this annual report on Form&#160;20-F.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">D.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Exchange Controls</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">See &#8220;Item&#160;4. Information on the Company&#8212;B. Business Overview&#8212;Government Regulations&#8212;Foreign Currency Exchange&#8221; and &#8220;Item&#160;4. Information on the Company&#8212;B. Business Overview&#8212;Government Regulations&#8212;Dividend Distribution.&#8221;</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">113</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">E.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Taxation</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Principal Canadian Federal Tax Considerations</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">General</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The following is a summary of the principal Canadian federal income tax implications generally applicable to a U.S.&#160;Holder (defined below), who holds or acquires our common shares, or the Common Shares, and who, at all relevant times, for purposes of the Income Tax&#160;Act (Canada), or the Canadian Tax&#160;Act, (i)&#160;is the beneficial owner of such Common Shares; (ii)&#160;has not been, is not and will not be resident (or&#160;deemed to be resident) in Canada at any time while such U.S.&#160;Holder has held or holds the Common Shares; (iii)&#160;holds the Common Shares as capital property; (iv)&#160;deals at arm&#8217;s length with and is not affiliated with us; (v)&#160;does not use or hold, and is not deemed to use or hold, the Common Shares in the course of carrying on a business in Canada; (vi)&#160;is not part of a transaction or event or series of transactions or events that includes the acquisition or holding of Common Shares so as to cause the foreign affiliate dumping rules in section&#160;212.3 of the Canadian Tax&#160;Act to apply; (vii)&#160;is not a &#8220;specified shareholder&#8221; of us as defined subsection&#160;18(5) of the Canadian Tax&#160;Act; (viii)&#160;is not a financial institution, specified financial institution, partnership or trust as defined in the Canadian Tax&#160;Act; (ix)&#160;is a resident of the United&#160;States for purposes of the Canada&#8212;United&#160;States Income Tax Convention (1980), or the Convention, and is fully entitled to the benefits of the Convention; and (x)&#160;has not, does not and will not have a fixed base or permanent establishment in Canada within the meaning of the Convention at any time when such U.S.&#160;Holder has held or holds the Common Shares, or a U.S.&#160;Holder. Special rules that are not addressed in this summary may apply to a U.S.&#160;Holder that is an insurer that carries on, or is deemed to carry on, an insurance business in Canada and elsewhere or that is an authorized foreign bank as defined in the Canadian Tax&#160;Act and such U.S.&#160;Holders should consult their own tax&#160;advisers.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">This summary assumes that we are a resident of Canada for the purposes of the Canadian Tax&#160;Act. Should it be determined that we are not a resident of Canada for the purposes of the Canadian Tax&#160;Act by virtue of being resident in another country (such as the PRC) by virtue of the application of an income tax convention between Canada and that other country, the Canadian income tax consequences to a U.S.&#160;Holder will differ from those described herein and U.S.&#160;Holders should consult their own tax&#160;advisors.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">This summary is based on the current provisions of the Canadian Tax&#160;Act, and the regulations thereunder, the Convention, and our counsel&#8217;s understanding of the published administrative practices and policies of the Canada Revenue Agency, all in effect as of the date of this annual report on Form&#160;20-F. This summary takes into account all specific proposals to amend the Canadian Tax&#160;Act or the regulations thereunder publicly announced by or on behalf of the Minister of Finance (Canada) prior to the date of this annual report on Form&#160;20-F. No assurances can be given that such proposed amendments will be enacted in the form proposed, or at all. This is not an exhaustive summary of all potential Canadian federal income tax consequences to a U.S.&#160;Holder and this summary does not take into account or anticipate any other changes in law or administrative practices, whether by judicial, governmental or legislative action or decision, nor does it take into account provincial, territorial or foreign tax legislation or considerations, which may differ from the Canadian federal income tax considerations described herein.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Canadian federal income tax consequences of purchasing, owning and disposing of Common Shares will depend on each U.S.&#160;Holder&#8217;s particular situation. This summary is not intended to be a complete analysis of or description of all potential Canadian federal income tax consequences, and should not be construed to be, legal, business or tax advice directed at any particular U.S.&#160;Holder or prospective purchaser of Common Shares. Accordingly, U.S.&#160;Holders or prospective purchasers of Common Shares should consult their own tax advisors for advice with respect to the Canadian federal income tax consequences of an investment in Common Shares based on their own particular circumstances.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">114</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Dividends</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Amounts paid or credited, or deemed under the Canadian Tax&#160;Act to be paid or credited, on account or in lieu of payment of, or in satisfaction of, dividends to a U.S.&#160;Holder that has provided the requisite documentation regarding its entitlement to benefits under the Convention will be subject to Canadian non-resident withholding tax at the reduced rate of 15% under the Convention. This rate is further reduced to 5% in the case of a U.S.&#160;Holder that is a company for purposes of the Convention that owns at least 10% of our voting shares at the time the dividend is paid or deemed to be&#160;paid.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Disposition of Our Common Shares</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">A U.S.&#160;Holder will not be subject to income tax under the Canadian Tax&#160;Act in respect of any capital gain realized on a disposition or deemed disposition of its Common Shares unless, at the time of disposition, the Common Shares constitute &#8220;taxable Canadian property&#8221; of the U.S.&#160;Holder for the purposes of the Canadian Tax&#160;Act and the U.S.&#160;Holder is not otherwise entitled to an exemption under the&#160;Convention.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Generally, a Common Share owned by a U.S.&#160;Holder will not be taxable Canadian property of the U.S.&#160;Holder at a particular time provided that, at that time, the common shares of our company are listed on a designated stock exchange (which currently includes the Nasdaq), unless at any time in the previous 60&#160;month&#160;period:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the U.S.&#160;Holder and persons with whom the U.S.&#160;Holder does not deal at arm&#8217;s length alone or in any combination has owned 25% or more of the shares of any class or series of shares in the capital of our company,&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">more than 50% of the fair market value of the Common Shares is derived directly or indirectly from one or any combination of real or immovable property situated in Canada, Canadian resource properties, timber resource properties, and options in respect of, or interest in or rights in any such properties, whether or not such property exists;&#160;or</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the Common Shares are otherwise deemed under the Canadian Tax&#160;Act to be taxable Canadian property.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">U.S.&#160;Holders for whom the Common Shares are, or may be, taxable Canadian property should consult their own tax&#160;advisors.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Canada&#8212;United&#160;States Income Tax Convention</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Convention includes a complex limitation on benefits provision. U.S.&#160;Holders are urged to consult their own tax advisors to determine their entitlement to benefits under the&#160;Convention.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">United&#160;States Federal Income Taxation</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The following discussion describes the material United&#160;States federal income tax consequences to a United&#160;States Holder (as&#160;defined below), under current law, of an investment in our common shares. This discussion is based on the federal income tax laws of the United&#160;States as of the date of this annual report on Form&#160;20-F, including the United&#160;States Internal Revenue Code of 1986, as amended, or the Code, existing and proposed Treasury Regulations promulgated thereunder, judicial authority, published administrative positions of the United&#160;States Internal Revenue Service, or IRS, and other applicable authorities, all as of the date of this annual report on Form&#160;20-F. All of the foregoing authorities are subject to change, which change could apply retroactively and could significantly affect the tax consequences described below. We have not sought any ruling from the IRS with respect to the statements made and the conclusions reached in the following discussion and there can be no assurance that the IRS or a court will agree with our statements and conclusions. Except as explicitly described below, this discussion does not address any reporting obligations that may be applicable to persons holding common shares through a bank, financial institution or other entity, or a branch thereof located, organized or resident outside the United&#160;States.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">115</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">This discussion applies only to a United&#160;States Holder (as&#160;defined below) that holds common shares as capital assets for United&#160;States federal income tax purposes (generally, property held for investment). The discussion neither addresses the tax consequences to any particular investor nor describes all of the tax consequences applicable to persons in special tax situations such&#160;as:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">banks and certain other financial institutions;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">insurance companies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">regulated investment companies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">real estate investment trusts;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">brokers or dealers in stocks and securities, or currencies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">persons who use or are required to use a mark-to-market method of accounting;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">certain former citizens or residents of the United&#160;States subject to Section&#160;877 of the&#160;Code;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">entities subject to the United&#160;States anti-inversion rules;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">tax-exempt organizations and entities;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">persons subject to the alternative minimum tax provisions of the Code;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">persons whose functional currency is other than the United&#160;States dollar;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">persons holding common shares as part of a straddle, hedging, conversion or integrated transaction;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">persons that actually or constructively own common shares representing 10% or more of our voting power or&#160;value;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">persons who acquired common shares pursuant to the exercise of an employee stock option or otherwise as compensation;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">partnerships or other pass-through entities, or persons holding common shares through such&#160;entities;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">persons required to accelerate the recognition of any item of gross income with respect to our common shares as a result of such income being recognized on an applicable financial statement;&#160;or</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">persons that held, directly, indirectly or by attribution, common shares or other ownership interest in us prior to our initial public offering.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">This discussion, moreover, does not address the United States federal estate, gift, Medicare, and alternative minimum tax considerations, or any state, local and non-United States tax considerations, relating to the ownership and disposition of our common shares. Except as specifically described below, this discussion does not address any tax consequences or reporting obligations that may be applicable to persons holding common shares through a bank, financial institution or other entity, or a branch thereof, located, organized or resident outside the United States.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">If a partnership (including an entity or arrangement treated as a partnership for United&#160;States federal income tax purposes) holds the common shares, the tax treatment of a partner in the partnership generally will depend upon the status of the partner and the activities of the partnership. A partnership or partner in a partnership holding common shares should consult its own tax advisors regarding the tax consequences of investing in and holding the common&#160;shares.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">116</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">THE FOLLOWING DISCUSSION IS FOR INFORMATIONAL PURPOSES ONLY AND IS NOT A SUBSTITUTE FOR CAREFUL TAX PLANNING AND ADVICE. HOLDERS SHOULD CONSULT THEIR OWN TAX ADVISORS WITH RESPECT TO THE APPLICATION OF THE UNITED STATES FEDERAL INCOME TAX LAWS TO THEIR PARTICULAR SITUATIONS, AS WELL AS ANY TAX CONSEQUENCES ARISING UNDER THE FEDERAL ESTATE OR GIFT TAX LAWS OR THE LAWS OF ANY STATE, LOCAL OR NON-UNITED STATES TAXING JURISDICTION OR UNDER ANY APPLICABLE TAX&#160;TREATY.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For purposes of the discussion below, a &#8220;United&#160;States Holder&#8221; is a beneficial owner of the common shares that is, for United&#160;States federal income tax&#160;purposes:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">an individual who is a citizen or resident of the United&#160;States;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">a corporation (or&#160;other entity treated as a corporation for United&#160;States federal income tax purposes) created or organized in or under the laws of the United&#160;States, any state thereof or the District of&#160;Columbia;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">an estate, the income of which is subject to United&#160;States federal income taxation regardless of its source;&#160;or</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">a trust, if (i)&#160;a court within the United&#160;States is able to exercise primary jurisdiction over its administration and one or more United&#160;States persons have the authority to control all of its substantial decisions or (ii)&#160;in the case of a trust that was treated as a domestic trust under the law in effect before 1997, a valid election is in place under applicable Treasury Regulations to treat such trust as a domestic&#160;trust.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Dividends and Other Distributions on the Common Shares</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Subject to the passive foreign investment company rules discussed below, the gross amount of any distribution that we make to you with respect to the common shares (including any amounts withheld to reflect Canadian or PRC withholding taxes) will be taxable as a dividend, to the extent paid out of our current or accumulated earnings and profits, as determined under United&#160;States federal income tax principles. Such income (including any withheld taxes) will be includable in your gross income on the day actually or constructively received by you. Because we do not intend to determine our earnings and profits on the basis of United&#160;States federal income tax principles, any distribution paid generally will be reported as a &#8220;dividend&#8221; for United&#160;States federal income tax purposes. Such dividends will not be eligible for the dividends-received deduction allowed to qualifying corporations under the&#160;Code.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Dividends received by a non-corporate United&#160;States Holder may qualify for the lower rates of tax applicable to &#8220;qualified dividend income,&#8221; if the dividends are paid by a &#8220;qualified foreign corporation&#8221; and other conditions discussed below are met. A non-United&#160;States corporation is treated as a qualified foreign corporation (a)&#160;with respect to dividends paid by that corporation on shares that are readily tradable on an established securities market in the United&#160;States or (b)&#160;if such non-United&#160;States corporation is eligible for the benefits of a qualifying income tax treaty with the United&#160;States that includes an exchange of information program. However, we will not be treated as a qualified foreign corporation if we are a passive foreign investment company in the taxable year in which the dividend is paid or the preceding taxable&#160;year.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under a published IRS Notice, common shares are considered to be readily tradable on an established securities market in the United&#160;States if they are listed on the Nasdaq, as our common shares are. In addition, we may be eligible for the benefits of the income tax treaty between the United&#160;States and Canada, or, if we are treated as a PRC resident enterprise under the PRC tax law (see&#160;&#8220;&#8212;People&#8217;s Republic of China Taxation&#8221;) then we may be eligible for the benefits of the income tax treaty between the United&#160;States and the PRC. If we are eligible for such benefits, then dividends that we pay on our common shares would, subject to applicable limitations, be eligible for the reduced rates of&#160;taxation.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">117</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Even if dividends would be treated as paid by a qualified foreign corporation, a non-corporate United&#160;States Holder will not be eligible for reduced rates of taxation if it does not hold our common shares for more than 60&#160;days during the 121-day period beginning 60&#160;days before the ex-dividend date or if the United&#160;States Holder elects to treat the dividend income as &#8220;investment income&#8221; pursuant to Section&#160;163(d)(4) of the Code. In addition, the rate reduction will not apply to dividends of a qualified foreign corporation if the non-corporate United&#160;States Holder receiving the dividend is obligated to make related payments with respect to positions in substantially similar or related property.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">You should consult your own tax advisors regarding the availability of the lower tax rates applicable to qualified dividend income for any dividends that we pay with respect to the common shares, as well as the effect of any change in applicable law after the date of this annual report on Form&#160;20-F.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Any Canadian or PRC withholding taxes imposed on dividends paid to you with respect to the common shares generally will be treated as foreign taxes eligible for credit against your United&#160;States federal income tax liability, subject to the various limitations and disallowance rules that apply to foreign tax credits generally. For purposes of calculating the foreign tax credit, dividends paid to you with respect to the common shares will be treated as income from sources outside the United&#160;States and generally will constitute passive category income. The rules relating to the determination of the foreign tax credit are complex, and you should consult your tax advisors regarding the availability of a foreign tax credit in your particular circumstances.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The amount of any dividend paid in currency other than the United&#160;States dollar will be the dividend&#8217;s United&#160;States dollar value calculated by reference to the exchange rate in effect on the date of receipt, regardless of whether the payment is in fact converted into United&#160;States dollars. A United&#160;States Holder may have foreign currency gain or loss, which will be ordinary gain or loss, if any dividend is converted into United&#160;States dollars after the date of&#160;receipt.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Disposition of the Common Shares</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">You will recognize gain or loss on a sale or exchange of the common shares in an amount equal to the difference between the amount realized on the sale or exchange and your tax basis in the common shares. Subject to the discussion under &#8220;&#8212;Passive Foreign Investment Company&#8221; below, such gain or loss generally will be capital gain or loss. Capital gains of a non-corporate United&#160;States Holder, including an individual that has held the common share for more than one year, currently are eligible for reduced tax rates. The deductibility of capital losses is subject to&#160;limitations.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Any gain or loss that you recognize on a disposition of the common shares generally will be treated as United&#160;States-source income or loss for foreign tax credit limitation purposes. However, if we are treated as a PRC resident enterprise for PRC tax purposes and PRC tax is imposed on gain from the disposition of the common shares (see&#160;&#8220;&#8212;People&#8217;s Republic of China Taxation&#8221;) then a United&#160;States Holder that is eligible for the benefits of the income tax treaty between the United&#160;States and the PRC may elect to treat the gain as PRC-source income for foreign tax credit purposes. If such an election is made, the gain so treated will be treated as a separate class or &#8220;basket&#8221; of income for foreign tax credit purposes. You should consult your tax advisors regarding the proper treatment of gain or loss, as well as the availability of a foreign tax credit, in your particular circumstances.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">118</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">A United&#160;States Holder that receives currency other than the United&#160;States dollar upon the sale or other disposition of common shares will realize an amount equal to the United&#160;States dollar value of the foreign currency on the date of such sale or other disposition or, if the common shares are traded on an established securities market, in the case of cash basis and electing accrual basis taxpayers, the settlement date. If a United&#160;States Holder is not able to treat the settlement date as the realization date, the United&#160;States Holder will recognize currency gain or loss if the United&#160;States dollar value of the currency received on the settlement date differs from the amount realized. A United&#160;States Holder will have a tax basis in the currency received equal to the United&#160;States dollar amount at the spot rate on the settlement date. Generally, any gain or loss realized by a United&#160;States Holder on a subsequent conversion or disposition of such currency will be United&#160;States source ordinary income or&#160;loss.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Passive Foreign Investment Company</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Based on the current value of our assets and the composition of our income and assets, we do not believe we were a passive foreign investment company, or PFIC, for United&#160;States federal income tax purposes for our taxable year ended December 31, 2019. However, because our PFIC status for our current taxable year ending December&#160;31, 2020 or any future taxable year may depend, in part, on the manner in which we operate our renewable energy generation assets, we cannot assure you that we will not be a PFIC for our current taxable year ending December&#160;31, 2020 or any future taxable year. The determination of PFIC status is based on an annual determination that cannot be made until the close of a taxable year, involves extensive factual investigation, including ascertaining the fair market value of all of our assets on a quarterly basis and the character of each item of income that we earn, and is subject to uncertainty in several respects. In particular, the application of the PFIC rules to certain of our business lines is complex and unclear, and we cannot guarantee that the United&#160;States Internal Revenue Service, or IRS, will agree with any positions that we ultimately take. Accordingly, we cannot assure you that we will not be treated as a PFIC for any taxable year or that the IRS will not take a contrary position.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">A non-United&#160;States corporation such as ourselves will be treated as a PFIC, for United&#160;States federal income tax purposes for any taxable year if, applying applicable look-through rules,&#160;either:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">at least 75% of its gross income for such year is passive income; or</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">at least 50% of the value of its assets (determined based on a quarterly average) during such year is attributable to assets that produce or are held for the production of passive&#160;income.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">For this purpose, passive income generally includes dividends, interest, royalties, rents (other than certain royalties and rents derived in the active conduct of a trade or business and not derived from a related person) and net gains from transactions involving commodities. There are exceptions for income derived in the conduct of certain active businesses, including for income earned from commodities transactions. There is authority to suggest that income earned from our electricity generation business may qualify under the active business exception, but this authority is unclear. We will be treated as owning a proportionate share of the assets and earning a proportionate share of the income of any other corporation in which we own, directly or indirectly, more than 25% by value of the stock. If the percentage of our assets treated as producing passive income increases, we may be more likely to be a PFIC for the current or one or more future taxable&#160;years.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Changes in the composition of our income or composition of our assets may cause us to be more likely to be a PFIC. The determination of whether we will be a PFIC for any taxable year also may depend in part upon the value of our goodwill and other unbooked intangibles not reflected on our balance sheet (which may be determined based upon the market value of the common shares from time to time, which may be volatile). Among other matters, if our market capitalization declines, we may be a PFIC because our liquid assets and cash (which are for this purpose considered assets that produce passive income) may then represent a greater percentage of our overall assets. Further, while we believe our classification methodology and valuation approach (including, if relevant, any approach taken with respect to our market capitalization) is reasonable, it is possible that the IRS may challenge our classification or valuation of our goodwill and other unbooked intangibles.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">119</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we are a PFIC for any taxable year during which you hold common shares, we will continue to be treated as a PFIC with respect to you for all succeeding years during which you hold common shares, unless we were to cease to be a PFIC and you make a &#8220;deemed sale&#8221; election with respect to the common shares. If such election is made, you will be deemed to have sold the common shares you hold at their fair market value and any gain from such deemed sale would be subject to the rules described in the following two paragraphs. After the deemed sale election, so long as we do not become a PFIC in a subsequent taxable year, your common shares with respect to which such election was made will not be treated as shares in a PFIC and, as a result, you will not be subject to the rules described below with respect to any &#8220;excess distribution&#8221; you receive from us or any gain from an actual sale or other disposition of the common shares. You are strongly urged to consult your tax advisors as to the possibility and consequences of making a deemed sale election if we are and then cease to be a PFIC and such an election becomes available to&#160;you.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we are a PFIC for any taxable year during which you hold common shares, then, unless you make a &#8220;mark-to-market&#8221; election (as&#160;discussed below), you generally will be subject to special and adverse tax rules with respect to any &#8220;excess distribution&#8221; that you receive from us and any gain that you recognize from a sale or other disposition, including a pledge, of the common shares. For this purpose, distributions that you receive in a taxable year that are greater than 125% of the average annual distributions that you received during the shorter of the three preceding taxable years or your holding period for the common shares will be treated as an excess distribution. Under these&#160;rules:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the excess distribution or recognized gain will be allocated ratably over your holding period for the common&#160;shares;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the amount of the excess distribution or recognized gain allocated to the taxable year of distribution or gain, and to any taxable years in your holding period prior to the first taxable year in which we were treated as a PFIC, will be treated as ordinary income;&#160;and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">the amount of the excess distribution or recognized gain allocated to each other taxable year will be subject to the highest tax rate in effect for individuals or corporations, as applicable, for each such year and the resulting tax will be subject to the interest charge generally applicable to underpayments of&#160;tax.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we are a PFIC for any taxable year during which you hold common shares and any of our non-United&#160;States subsidiaries or other corporate entities in which we directly or indirectly own equity interests is also a PFIC, you would be treated as owning a proportionate amount (by&#160;value) of the shares of each such non-United&#160;States entity classified as a PFIC (each such entity, a lower-tier PFIC) for purposes of the application of these rules. You should consult your own tax advisor regarding the application of the PFIC rules to any of our lower tier&#160;PFICs.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">If we are a PFIC for any taxable year during which you hold common shares, then in lieu of being subject to the tax and interest-charge rules discussed above, you may make an election to include gain on the common shares as ordinary income under a mark-to-market method, provided that the common shares constitute &#8220;marketable stock.&#8221; Marketable stock is stock that is regularly traded on a qualified exchange or other market, as defined in applicable Treasury regulations. Our common shares are listed on the Nasdaq, which is a qualified exchange or other market for these purposes. Consequently, as long as the common shares are regularly traded, and you are a holder of common shares, we expect that the mark-to-market election would be available to you, if we became a PFIC but no assurances are given in this&#160;regard.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Because a mark-to-market election cannot be made for any lower-tier PFICs that we may own, if we were a PFIC for any taxable year, a United&#160;States Holder that makes the mark-to-market election may continue to be subject to the tax and interest charges under the general PFIC rules with respect to such United&#160;States Holder&#8217;s indirect interest in any investments held by us that are treated as an equity interest in a PFIC for United&#160;States federal income tax&#160;purposes.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">120</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In certain circumstances, a shareholder in a PFIC may avoid the adverse tax and interest-charge regime described above by making a &#8220;qualified electing fund&#8221; election to include in income its share of the corporation&#8217;s income on a current basis. However, you may make a qualified electing fund election with respect to your common shares only if we agree to furnish you annually with a PFIC annual information statement as specified in the applicable Treasury regulations. We currently do not intend to prepare or provide the information that would enable you to make a qualified electing fund&#160;election.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">A United&#160;States Holder that holds the common shares in any year in which we are classified as a PFIC will be required to file an annual report containing such information as the United&#160;States Treasury Department may require. You should consult your own tax advisor regarding the application of the PFIC rules to your ownership and disposition of the common shares and the availability, application and consequences of the active business exception and the elections discussed above.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Information Reporting and Backup Withholding</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Information reporting to the IRS and backup withholding generally will apply to dividends in respect of our common shares, and the proceeds from the sale or exchange of our common shares, that are paid to you within the United&#160;States (and&#160;in certain cases, outside the United&#160;States), unless you furnish a correct taxpayer identification number and make any other required certification, generally on IRS Form&#160;W-9 or&#160;you otherwise establish an exemption from information reporting and backup withholding. Backup withholding is not an additional tax. Amounts withheld as backup withholding generally are allowed as a credit against your United&#160;States federal income tax liability, and you may be entitled to obtain a refund of any excess amounts withheld under the backup withholding rules if you file an appropriate claim for refund with the IRS and furnish any required information in a timely&#160;manner.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">United&#160;States Holders should consult their tax advisors regarding the application of the information reporting and backup withholding rules.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Information with Respect to Foreign Financial Assets</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">United&#160;States Holders who are individuals (and&#160;certain entities closely held by individuals) generally will be required to report our name, address and such information relating to an interest in the common shares as is necessary to identify the class or issue of which your common shares are a part. These requirements are subject to exceptions, including an exception for common shares held in accounts maintained by certain financial institutions and an exception applicable if the aggregate value of all &#8220;specified foreign financial assets&#8221; (as&#160;defined in the Code) does not exceed&#160;$50,000.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">United&#160;States Holders should consult their tax advisors regarding the application of these information reporting rules.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">121</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">People&#8217;s Republic of China Taxation</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the EIT Law, which took effect as of January&#160;1, 2008 and amended on February&#160;24, 2017 and December&#160;29, 2018, enterprises established under the laws of non-PRC jurisdictions but whose &#8220;de&#160;facto management body&#8221; is located in China are considered &#8220;resident enterprises&#8221; for PRC tax purposes. Under the implementation regulations issued by the State Council relating to the EIT Law, &#8220;de facto management bodies&#8221; are defined as the bodies that have material and overall management and control over the business, personnel, accounts and properties of an enterprise. The Circular on Identification of China-controlled Overseas-registered Enterprises as Resident Enterprises on the Basis of Actual Management Organization, or Circular&#160;82, further provides certain specific criteria for determining whether the &#8220;de facto management body&#8221; of a PRC-controlled offshore incorporated enterprise is located in the PRC. The criteria include whether (a)&#160;the premises where the senior management and the senior management bodies responsible for the routine production and business management of the enterprise perform their functions are mainly located within the PRC, (b)&#160;decisions relating to the enterprise&#8217;s financial and human resource matters are made or subject to approval by organizations or personnel in the PRC, (c)&#160;the enterprise&#8217;s primary assets, accounting books and records, company seals, and board and shareholders&#8217; meeting minutes are located or maintained in the PRC and (d)&#160;50% or more of voting board members or senior executives of the enterprise habitually reside in the PRC. Although the Circular&#160;82 only applies to offshore enterprises controlled by enterprises or enterprise group located within the PRC, the determining criteria set forth in the Circular&#160;82 may reflect the tax authorities&#8217; general position on how the &#8220;de facto management body&#8221; test may be applied in determining the tax resident status of offshore enterprises. As the tax resident status of an enterprise is subject to the determination by the PRC tax authorities, uncertainties remain with respect to the interpretation of the term &#8220;de facto management body&#8221; as applicable to us.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the EIT Law and its implementation regulations, dividends paid to a non-PRC investor are generally subject to a 10% PRC withholding tax, if such dividends are derived from sources within China and the non-PRC investor is considered to be a non-resident enterprise without any establishment or place within China or if the dividends paid have no connection with the non-PRC investor&#8217;s establishment or place within China, unless such tax is eliminated or reduced under an applicable tax treaty. Similarly, any gain realized on the transfer of shares or convertible notes by such investor is also subject to a 10% PRC withholding tax if such gain is regarded as income derived from sources within China, unless such tax is eliminated or reduced under an applicable tax&#160;treaty.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The implementation regulations of the EIT Law provide that (a)&#160;if the enterprise that distributes dividends is domiciled in the PRC, or (b)&#160;if gains are realized from transferring equity interests of enterprises domiciled in the PRC, then such dividends or capital gains shall be treated as China-sourced income. Currently there are no detailed rules applicable to us that govern the procedures and specific criteria for determining the meaning of being &#8220;domiciled&#8221; in the PRC. As such, it is not clear how the concept of domicile will be interpreted under the EIT Law. Domicile may be interpreted as the jurisdiction where the enterprise is incorporated or where the enterprise is a tax&#160;resident.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As a result, if we are considered a PRC &#8220;resident enterprise&#8221; for tax purpose, it is possible that the dividends we pay with respect to our common shares to non-PRC enterprises, or the gain non-PRC enterprises may realize from the transfer of our common shares or our convertible notes, would be treated as income derived from sources within China and be subject to the PRC withholding tax at a rate of 10% or a lower applicable treaty rate for enterprises.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">122</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Under the IIT Law, individual income tax is payable on PRC-source dividend income. The implementation regulations of the IIT Law provide that income from dividends derived from companies, enterprises and other economic organizations in China as well as income realized from transfer of properties in China is considered derived from sources inside China, regardless of whether the place of payment was inside China. Therefore, if we are treated as a company in China for tax purposes, any dividends we pay to our non-PRC individual shareholders as well as any gains realized by our non-PRC individual shareholders or our non-PRC individual note holders from the transfer of our common shares or our convertible notes may be regarded as China-sourced income and, consequently, be subject to PRC withholding tax at a rate of up to 20% or a lower applicable treaty rate for individuals.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">F.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Dividends and Paying Agents</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">G.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Statement by Experts</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">H.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Documents on Display</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We previously filed with the SEC our registration statements on Form&#160;F-1 (File Number&#160;333-138144), initially filed on October&#160;23, 2006, and registration statements on Form&#160;F-3 (File Number&#160;333-208828), initially filed on January&#160;4,&#160;2016.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We are subject to the periodic reporting and other informational requirements of the Exchange Act. Under the Exchange Act, we are required to file reports and other information with the SEC. Specifically, we are required to file annually a Form&#160;20-F within four months after the end of each fiscal year for fiscal years ending on or after December&#160;15, 2011. Copies of reports and other information, when so filed, may be inspected without charge and may be obtained at prescribed rates at the public reference facilities maintained by the Securities and Exchange Commission at 100&#160;F Street, N.E., Room&#160;1580, Washington,&#160;D.C. 20549. The public may obtain information regarding the Washington,&#160;D.C. Public Reference Room by calling the Commission at 1-800-SEC-0330. The SEC also maintains a web site at www.sec.gov that contains reports, proxy and information statements, and other information regarding registrants that make electronic filings with the SEC using its EDGAR system. 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&#160;16 of the Exchange&#160;Act.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our financial statements have been prepared in accordance with U.S.&#160;GAAP.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We will furnish our shareholders with annual reports, which will include a review of operations and annual audited consolidated financial statements prepared in conformity with U.S.&#160;GAAP.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">I.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Subsidiary Information</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">For a listing of our major subsidiaries, see &#8220;Item&#160;4. Information on the Company&#8212;C.&#160;Organizational Structure.&#8221;</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_c4d7d590_abad_4247_b4a5_4c5205d45f8b"></a></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">123</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="ITEM11QUANTITATIVEANDQUALITATIVEDISCLOSU"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;11.&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Foreign Exchange Risk</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our business transactions are curried out in various currencies. The majority of our sales in 2019 are denominated in U.S. dollars, Japanese yen and Euros, with the remainder in other currencies such as Renminbi, Australian dollars, Brazilian reals and South African rand, while a substantial portion of our costs and expenses are denominated in Renminbi and U.S. dollars. From time to time, we enter into loan arrangements with commercial banks that are denominated primarily in Renminbi, U.S. dollars and Japanese yen. These transactions involve sales, purchases, borrowings, and investments in currencies other than the functional currencies of different companies in CSI. Therefore, fluctuations in currency exchange rates could have a significant impact on the cash flows we expect to receive or pay. The fluctuations in exchange rates could cause us significant foreign currency transaction risk. We recorded a foreign exchange gain of $6.5 million and $10.4 million in 2018 and 2019, respectively. We cannot predict the impact of future exchange rate fluctuations on our results of operations and may incur net foreign currency losses in the future.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Since 2008, we have hedged part of our foreign currency exposures against the U.S. dollar using foreign currency forward or option contracts in order to limit our exposure to fluctuations in foreign exchange rates. We incurred a loss on change in foreign currency derivatives of $18.4 million in 2018 and a loss on change in foreign currency derivatives of $21.3 million in 2019. The gains or losses on change in foreign currency derivatives are related to our hedging program.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2019, we had approximately $350 million equivalent of monetary net liabilities balances denominated in various transactional currencies. A 10% appreciation or depreciation of these transactional currencies against their corresponding functional currencies would have an impact of approximately $35 million on our foreign exchange loss or gain, excluding the effect of our hedging activities.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In addition, our financial statements are presented in U.S. dollars, while some of our subsidiaries use different functional currencies, such as the Renminbi, Euros, Canadian dollars, British pounds and Japanese yen. The value of your investment in our common shares would be affected by the foreign currency translation risk resulted from the fluctuation between the U.S. dollar and functional currencies of our subsidiaries. To the extent we hold assets denominated in currencies other than U.S. dollars, any appreciation of such currencies against the U.S. dollars will likely result in an exchange gain while any depreciation will likely result in an exchange loss when we convert the value of these assets into U.S. dollar equivalent amounts. On the other hand, to the extent we have liabilities denominated in currencies other than U.S. dollars, any appreciation of such currencies against the U.S. dollar will likely result in an exchange loss while any depreciation will likely result in an exchange gain when we convert the value of these liabilities into U.S. dollar equivalent amounts.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As we continue to expand our business into new markets, particularly emerging markets, our total foreign currency exchange risk could increase significantly.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">These and other effects on our financial conditions resulting from the unfavorable changes in foreign currency exchange rates could have a material adverse effect on the market price of our common shares, the dividends we may pay in the future, and your investment.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Interest Rate Risk</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Our exposure to interest rate risk primarily relates to interest expense under our short-term and long-term bank borrowings, as well as interest income generated by excess cash invested in demand deposits and liquid investments with original maturities of three months or less. Such interest-earning instruments carry a degree of interest rate risk. We used derivative financial instruments to manage some of our interest risk exposure. We have not been exposed nor do we anticipate being exposed to material risks due to changes in interest rates. However, our future interest expense may increase due to changes in market interest rates.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_936ca05c_7cad_41b9_8720_7bea66077cdb"></a></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">124</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="ITEM12DESCRIPTIONOFSECURITIESOTHERTHANEQ"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;12.&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">DESCRIPTION OF SECURITIES OTHER THAN EQUITY SECURITIES</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p><a id="_8201e8df_e356_4b6f_9a50_79227d7170bd"></a><a id="PARTII_599435"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">PART II</b></p><a id="ITEM13DEFAULTSDIVIDENDARREARAGESANDDELIN"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;13.&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">DEFAULTS, DIVIDEND ARREARAGES AND DELINQUENCIES</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">None of these events occurred in any of the years ended December&#160;31, 2017, 2018 and 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_815c95e8_2373_465f_94ed_0f67a4f1ea78"></a><a id="ITEM14MATERIALMODIFICATIONSTOTHERIGHTSOF"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;14.&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">MATERIAL MODIFICATIONS TO THE RIGHTS OF SECURITY HOLDERS AND USE</span><span style="font-style:italic;font-weight:bold;"> OF&#160;PROCEEDS</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">A.-D.&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Material Modifications to the Rights of Security Holders</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">See &#8220;Item&#160;10. Additional Information&#8212;B. Memorandum and Articles of Association&#8221; for a description of the rights of shareholders, which remain unchanged.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">E.&#160;&#160;&#160;&#160;</b><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Use of Proceeds</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_12c980d7_b1c4_49a4_97e0_65607473eced"></a><a id="ITEM15CONTROLSANDPROCEDURES_777680"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;15.&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">CONTROLS AND PROCEDURES</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Disclosure Controls and Procedures</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our management, with the participation of our chief executive officer and chief financial officer, has performed an evaluation of the effectiveness of our disclosure controls and procedures (as&#160;defined in Rule&#160;13a-15(e) under the Exchange Act) as of the end of the period covered by this report, as required by Rule&#160;13a-15(b) under the Exchange Act. Based upon that evaluation, our management has concluded that, as of the end of the period covered by this annual report, our disclosure controls and procedures were effective in ensuring that the information required to be disclosed by us in the reports that we file or submit under the Exchange Act was recorded, processed, summarized and reported, within the time periods specified in the SEC&#8217;s rules and forms, and that the information required to be disclosed by us in the reports that we file or submit under the Exchange Act is accumulated and communicated to our management, including our chief executive officer and chief financial officer, to allow timely decisions regarding required disclosures.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Management&#8217;s Annual Report on Internal Control over Financial Reporting</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our management is responsible for establishing and maintaining adequate internal control over financial reporting, as such item is defined in Rules&#160;13a-15(f) under the Exchange Act, for our company. Internal control over financial reporting is a process designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of consolidated financial statements in accordance with generally accepted accounting principles and includes those policies and procedures that (a)&#160;pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of a company&#8217;s assets; (b)&#160;provide reasonable assurance that transactions are recorded as necessary to permit preparation of consolidated financial statements in accordance with generally accepted accounting principles, and that a company&#8217;s receipts and expenditures are being made only in accordance with authorizations of a company&#8217;s management and directors; and (c)&#160;provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of a company&#8217;s assets that could have a material effect on the consolidated financial statements.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">125</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As required by Section&#160;404 of the Sarbanes-Oxley Act of 2002 and related rules as promulgated by the Securities and Exchange Commission, our management assessed the effectiveness of our internal control over financial reporting as of December 31, 2019 using criteria established in Internal Control-Integrated Framework (2013) issued by the Committee of Sponsoring Organizations of the Treadway Commission. Based on this assessment, management concluded that our internal control over financial reporting was effective as of December 31, 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Deloitte Touche Tohmatsu Certified Public Accountants&#160;LLP, an independent registered public accounting firm, who audited our consolidated financial statements for the year ended December 31, 2019, has also audited the effectiveness of internal control over financial reporting as of December 31, 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Report of the Independent Registered Public Accounting Firm</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">To the shareholders and the Board of Directors of Canadian Solar&#160;Inc.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><b style="font-weight:bold;">Opinion on Internal Control over Financial Reporting</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have audited the internal control over financial reporting of Canadian Solar&#160;Inc. and subsidiaries (the&#160;&#8220;Company&#8221;) as of December 31, 2019, based on criteria established in Internal Control&#8212;Integrated Framework (2013) issued by the Committee of Sponsoring Organizations of the Treadway Commission(COSO). In our opinion, the Company maintained, in all material respects, effective internal control over financial reporting as of December 31, 2019, based on criteria established in Internal Control&#8212;Integrated Framework (2013) issued by&#160;COSO.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have also audited, in accordance with the standards of the Public Company Accounting Oversight Board (United&#160;States) (PCAOB), the consolidated financial statements as of and for the year ended December 31, 2019, of the Company and our report dated April&#160;28, 2020, expressed an unqualified opinion on those financial statements.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><b style="font-weight:bold;">Basis for Opinion</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company&#8217;s management is responsible for maintaining effective internal control over financial reporting and for its assessment of the effectiveness of internal control over financial reporting, included in the accompanying Management&#8217;s Annual Report on Internal Control over Financial Reporting. Our responsibility is to express an opinion on the Company&#8217;s internal control over financial reporting based on our audit. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with the U.S.&#160;federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the&#160;PCAOB.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We conducted our audit in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether effective internal control over financial reporting was maintained in all material respects. Our audit included obtaining an understanding of internal control over financial reporting, assessing the risk that a material weakness exists, testing and evaluating the design and operating effectiveness of internal control based on the assessed risk, and performing such other procedures as we considered necessary in the circumstances. We believe that our audit provides a reasonable basis for our&#160;opinion.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">126</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 18pt;"><b style="font-weight:bold;">Definition and Limitations of Internal Control over Financial Reporting</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">A company&#8217;s internal control over financial reporting is a process designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles. A company&#8217;s internal control over financial reporting includes those policies and procedures that (1)&#160;pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the company; (2)&#160;provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts and expenditures of the company are being made only in accordance with authorizations of management and directors of the company; and (3)&#160;provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of the company&#8217;s assets that could have a material effect on the financial statements.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.</p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:99.89%;"><tr style="height:1pt;"><td style="vertical-align:top;width:3.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:96.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:3.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:top;width:96.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">/s/ Deloitte Touche Tohmatsu Certified Public Accountants&#160;LLP</p></td></tr><tr><td style="vertical-align:top;width:3.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:96.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Shanghai, China</p></td></tr><tr><td style="vertical-align:top;width:3.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:96.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">April&#160;28, 2020</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Changes in Internal Controls</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Management has evaluated, with the participation of our chief executive officer and chief financial officer, whether any changes in our internal control over financial reporting that occurred during our last fiscal year have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting. Based on the evaluation we conducted, management has concluded that no such changes occurred during the period covered by this annual report on Form&#160;20-F.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_f3f8f484_f436_4993_958e_5474dd877f95"></a><a id="ITEM16AAUDITCOMMITTEEFINANCIALEXPERT_528"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;16A.&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">AUDIT COMMITTEE FINANCIAL EXPERT</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Our board of directors has determined that Arthur (Lap Tat) Wong qualifies as an &#8220;audit committee financial expert&#8221; as defined in Item&#160;16A of Form&#160;20-F. Each of the members of the audit committee is an &#8220;independent director&#8221; as defined in the Nasdaq Marketplace Rules.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_ffc18a67_72a2_4694_8156_9f44b3508060"></a><a id="ITEM16BCODEOFETHICS_239445"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;16B.&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">CODE OF ETHICS</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Our board of directors has adopted a code of ethics that applies to our directors, officers, employees and agents, including certain provisions that specifically apply to our chief executive officer, chief financial officer, chief operations officer, chief technology officer, vice presidents and any other persons who perform similar functions for us. We have posted our code of business conduct on our website www.canadiansolar.com. We hereby 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.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_ea6426dc_1720_4673_88e0_181a3c2d464b"></a></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">127</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><a id="ITEM16CPRINCIPALACCOUNTANTFEESANDSERVICE"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;16C.&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">PRINCIPAL ACCOUNTANT FEES AND SERVICES</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table sets forth the aggregate fees by categories specified below in connection with certain professional services rendered by Deloitte Touche Tohmatsu Certified Public Accountants&#160;LLP, our principal external auditors, for the periods indicated. We did not pay any other fees to our auditors during the periods indicated below.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:73.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:24.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For&#160;the&#160;Years&#160;Ended</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:73.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:24.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:73.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Audit fees<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,770,000</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,830,000</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Audit related fees<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 603,544</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 512,862</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Tax fees<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 44,954</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 116,132</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">All other fees<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(4)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 216,723</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 544,709</span></p></td></tr></table><div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;Audit fees&#8221; means the aggregate fees billed for professional services rendered by our principal auditors for the annual audit of our consolidated financial statements.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;Audit related fees&#8221; represents the aggregate fees billed for assurance and related services by our principal auditors that are reasonably related to the performance of the audit or review of our consolidated financial statements and are not reported as audit fees. These include professional services rendered in connection with bond and equity offerings, statutory audits of our subsidiary companies, quarterly reviews and other related services. In 2018, &#8220;Audit related fees&#8221; included approximately $0.6&#160;million for the statutory audits of our subsidiary companies. In 2019, &quot;Audit related fees&quot; included approximately $0.5 million for the statutory audits of our subsidiary companies.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;Tax fees&#8221; of 2018 and 2019 were for services rendered by our principal accountants for tax compliance, tax advice and tax&#160;planning.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(4)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">&#8220;All other fees&#8221;, refers to the consulting service for business optimization services.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The policy of our audit committee is to pre-approve all audit and non-audit services provided by Deloitte Touche Tohmatsu Certified Public Accountants&#160;LLP, including audit services, audit-related services, tax services and other services as described above, other than those for <i style="font-style:italic;">de minimis</i> services which are approved by the Audit Committee prior to the completion of the audit. We have a written policy on the engagement of an external auditor.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_4a29cbdb_73cc_48b1_9daf_8025b851bf8f"></a><a id="ITEM16DEXEMPTIONSFROMTHELISTINGSTANDARDS"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;16D.&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">EXEMPTIONS FROM THE LISTING STANDARDS FOR AUDIT COMMITTEES</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_10dfb226_867c_43a5_b3c6_9dd1920dee4a"></a><a id="ITEM16EPURCHASESOFEQUITYSECURITIESBYTHEI"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;16E.&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">PURCHASES OF EQUITY SECURITIES BY THE ISSUER AND AFFILIATED PURCHASERS</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">On December 19, 2019, we announced a $150 million share repurchase program for a six-month period beginning December 9, 2019 and ending June 8, 2020. We have partially executed the program as of the date of this report. The exact timing and amount of the repurchase was or will be determined by our management, based on market conditions, share price and other factors, and was or will be subject to the restrictions relating to volume, price and timing under applicable law, including Rule10b-18 under the Securities Exchange Act of 1934. We repurchased 990,846 shares in total so far under this share repurchase plan. These repurchased shares have been cancelled and retired.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">128</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table sets forth information about our purchase of outstanding treasury stocks from December&#160;9, 2019 to the date of this annual report:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:39.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:39.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(d) Maximum </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:39.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Approximate</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:39.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Dollar Value of</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:39.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(c) Total Number of </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Treasury Stocks</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:39.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(a) Total </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(b) Average </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Treasury Stocks</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">That May Yet Be</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:39.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Price Paid</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Purchased as Part of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Purchased Under</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:39.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Treasury Stocks</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Per Treasury</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Publicly Announced</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">the Plans or</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:39.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Period </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Purchased</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Stocks</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Plans or Programs</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Program</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:39.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:13.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">US$&#160;in&#160;thousands</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:39.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">December 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 609,516</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 19.43</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 609,516</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 138,154</span></p></td></tr><tr><td style="vertical-align:middle;width:39.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">January 2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 91,424</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21.88</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 91,424</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 136,154</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:39.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">March 2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 289,906</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13.67</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 289,906</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 132,191</span></p></td></tr><tr><td style="vertical-align:middle;width:39.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;990,846</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 17.97</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;990,846</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 132,191</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_d35d41ca_17a7_47d4_aa3b_f8e23411bda1"></a><a id="ITEM16FCHANGEINREGISTRANTSCERTIFYINGACCO"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;16F.&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">CHANGE IN REGISTRANT&#8217;S CERTIFYING ACCOUNTANT</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_20702757_3508_40ff_8c0c_1ef9cffab158"></a><a id="ITEM16GCORPORATEGOVERNANCE_709109"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;16G.&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">CORPORATE GOVERNANCE</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">None.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_7e4c320c_8e98_4cf7_878d_0b8778bfcdaf"></a><a id="ITEM16HMINESAFETYDISCLOSURE_98133"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;16H.&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">MINE SAFETY DISCLOSURE</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Not applicable.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_2d66dbd6_2684_445b_bd02_97527d690adc"></a><a id="PARTIII_868957"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">PART III</b></p><a id="ITEM17FINANCIALSTATEMENTS_447947"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;17.&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">FINANCIAL STATEMENTS</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">We have elected to provide financial statements pursuant to Item&#160;18.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_4db93646_a537_4a19_9ff8_d4a2e3271c17"></a><a id="ITEM18FINANCIALSTATEMENTS_390910"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;18.&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">FINANCIAL STATEMENTS</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The consolidated financial statements of Canadian Solar&#160;Inc. are included at the end of this annual&#160;report.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_61026240_b5c7_4530_aa98_e420014e1921"></a></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">129</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><a id="ITEM19EXHIBITS_403742"></a><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">ITEM&#160;19.&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">EXHIBITS</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:6.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;width:92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td></tr><tr><td style="vertical-align:bottom;width:6.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Exhibit</b><br /><b style="font-weight:bold;">Number</b></p></td><td style="vertical-align:bottom;width:1.76%;border-bottom:1px solid transparent;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;width:92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Description of Document</b></p></td></tr><tr><td style="vertical-align:top;width:6.23%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;">1.1</p></td><td style="vertical-align:top;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:92%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1375877/000114554906001496/h00554exv3w2.txt"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Amended Articles of Continuance (incorporated by reference to Exhibit 3.2 of our registration statement on Form F-1 (File No. 333-138144), as amended, initially filed with the SEC on October 23, 2006)</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;">2.1</p></td><td style="vertical-align:top;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1375877/000114554906001531/h00554a1exv4w11.txt"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Registrant&#8217;s Specimen Certificate for Common Shares (incorporated by reference to Exhibit 4.11 from our F-1 registration statement (File No. 333-138144), as amended, initially filed with the Commission on October 23, 2006)</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;">2.2*</p></td><td style="vertical-align:top;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="csiq-20191231xex2d2.htm"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Description of Securities of the Registrant&#8217;s Securities Registered Pursuant to Section 12 of the Securities Exchange Act of 1934</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;">4.1</p></td><td style="vertical-align:top;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1375877/000104746917002970/a2230964zex-4_1.htm"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Amended and Restated Share Incentive Plan of the Registrant, effective on May 8, 2011 (incorporated by reference to Exhibit 4.1 of our annual report on Form 20-F for the year ended December 31, 2016 (File No. 001-33107), initially filed with the SEC on April 27, 2017)</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;">4.2</p></td><td style="vertical-align:top;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1375877/000095012309011999/h03379exv4w1.htm"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Form of Director Indemnity Agreement (incorporated by reference to Exhibit 4.1 of our annual report on Form 20-F for the year ended December 31, 2008 (File No. 001-33107), as amended, initially filed with the SEC on June 8, 2009)</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;">4.3</p></td><td style="vertical-align:top;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1375877/000114554906001496/h00554exv10w2.txt"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Employment Agreement between the Registrant and Dr. Shawn Qu (incorporated by reference to Exhibit 10.2 of our registration statement on Form F-1 (File No. 333-138144), as amended, initially filed with the SEC on October 23, 2006)</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;">4.4</p></td><td style="vertical-align:top;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="http://www.sec.gov/Archives/edgar/data/1375877/000095012311051124/h05069exv4w7.htm"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Form of Employment Agreement between the Registrant and its executive officers (incorporated by reference to Exhibit 4.7 of our annual report on Form 20-F for the year ended December 31, 2010 (File No. 001-33107), as amended, initially filed with the SEC on May 17, 2011)</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;">8.1*</p></td><td style="vertical-align:top;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="csiq-20191231xex8d1.htm"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">List of Major Subsidiaries</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;">12.1*</p></td><td style="vertical-align:top;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="csiq-20191231xex12d1.htm"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">CEO Certification Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;">12.2*</p></td><td style="vertical-align:top;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="csiq-20191231xex12d2.htm"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">CFO Certification Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;">13.1**</p></td><td style="vertical-align:top;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="csiq-20191231xex13d1.htm"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">CEO Certification Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;">13.2**</p></td><td style="vertical-align:top;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="csiq-20191231xex13d2.htm"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">CFO Certification Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;">15.1*</p></td><td style="vertical-align:top;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="csiq-20191231xex15d1.htm"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Consent of Deloitte Touche Tohmatsu Certified Public Accountants LLP</span></a></p></td></tr><tr><td style="vertical-align:top;width:6.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;">101*</p></td><td style="vertical-align:top;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;">Financial information from registrant for the year ended December 31, 2019 formatted in eXtensible Business Reporting Language (XBRL):</p></td></tr><tr><td style="vertical-align:top;width:6.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;">(i) Consolidated Balance Sheets as of December 31, 2018 and 2019; (ii) Consolidated Statements of Operations for the Years Ended December 31, 2017, 2018 and 2019; (iii) Consolidated Statements of Comprehensive Income for the Years Ended December 31, 2017, 2018 and 2019; (iv) Consolidated Statements of Changes in Equity for the Years Ended December 31, 2017, 2018 and 2019; (v) Consolidated Statements of Cash Flows for the Years Ended December 31, 2017, 2018 and 2019; (vi) Notes to Consolidated Financial Statements; and (vii) Additional Information&#8212;Financial Statements Schedule I</p></td></tr><tr><td style="vertical-align:top;width:6.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">104*</p></td><td style="vertical-align:top;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cover Page Interactive Data File (embedded within the Inline XBRL document)</p></td></tr></table><div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;">*</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin-bottom:6pt;margin-top:0pt;">Filed herewith.</p></td></tr></table><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">**</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin-bottom:0pt;margin-top:0pt;">Furnished herewith.</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_64c6f468_c8e3_43e8_b1a4_726692937fe9"></a></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">130</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="SIGNATURES_548624"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">SIGNATURES</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The registrant hereby certifies that it meets all of the requirements for filing on Form&#160;20-F and&#160;that it has duly caused and authorized the undersigned to sign this annual report on its&#160;behalf.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:50.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:3.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="vertical-align:bottom;width:45.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td></tr><tr><td style="vertical-align:bottom;width:50.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;width:49.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">CANADIAN SOLAR INC.</p></td></tr><tr><td style="vertical-align:bottom;width:50.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:45.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:50.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">By:</p></td><td style="vertical-align:bottom;width:45.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">/s/ Shawn (Xiaohua) Qu</p></td></tr><tr><td style="vertical-align:bottom;width:50.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:45.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Name: Shawn (Xiaohua) Qu</p></td></tr><tr><td style="vertical-align:bottom;width:50.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:45.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Title: Chairman, President and</p></td></tr><tr><td style="vertical-align:bottom;width:50.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:45.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Chief Executive Officer</p></td></tr><tr><td style="vertical-align:bottom;width:50.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:45.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:50.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">By:</p></td><td style="vertical-align:bottom;width:45.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">/s/ Huifeng Chang</p></td></tr><tr><td style="vertical-align:bottom;width:50.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:45.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Name: Huifeng Chang</p></td></tr><tr><td style="vertical-align:bottom;width:50.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:45.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Title: Senior Vice President and</p></td></tr><tr><td style="vertical-align:bottom;width:50.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:45.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Chief Financial Officer</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Date: April&#160;28, 2020</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'SimSun';line-height:0pt;margin:0pt;"><span style="font-family:'Times New Roman';font-size:0pt;visibility:hidden;">&#8203;</span></p><a id="_dbc67000_5ffa_4c45_bf70_e0bd3386e349"></a></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">131</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">INDEX TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><table style="background-color:auto;border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="background-color:auto;vertical-align:bottom;width:92.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td><td style="background-color:auto;vertical-align:bottom;width:7.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:92.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#REPORTOFINDEPENDENTREGISTEREDPUBLICACCOU"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Report of Independent Registered Public Accounting Firm</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 0pt 6pt 0pt;">F-2</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:92.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#CONSOLIDATEDBALANCESHEETS_301566"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Consolidated Balance Sheets as of December 31, 2018 and 2019</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 0pt 6pt 0pt;">F-4</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:92.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#CONSOLIDATEDSTATEMENTSOFOPERATIONS_69681"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Consolidated Statements of Operations for the Years Ended December 31, 2017, 2018 and 2019</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 0pt 6pt 0pt;">F-5</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:92.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Consolidated Statements of Comprehensive Income for the Years Ended December 31, 2017, 2018 and 2019</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 0pt 6pt 0pt;">F-6</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:92.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#CONSOLIDATEDSTATEMENTSOFCHANGESINEQUITY_"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Consolidated Statements of Changes in Equity for the Years Ended December 31, 2017, 2018 and 2019</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 0pt 6pt 0pt;">F-7</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:92.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#CONSOLIDATEDSTATEMENTSOFCASHFLOWS_646277"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Consolidated Statements of Cash Flows for the Years Ended December 31, 2017, 2018 and 2019</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 0pt 6pt 0pt;">F-8</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:92.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#a1ORGANIZATIONANDPRINCIPALACTIVITIES_213"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Notes to Consolidated Financial Statements</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 0pt 6pt 0pt;">F-10</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:92.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><a href="#AdditionalInformationFinancialStatementS"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Additional Information &#8212; Financial Statement Schedule I</span></a></p></td><td style="background-color:auto;vertical-align:bottom;width:7.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;">F-67</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_523eb91e_b4cb_4717_a37b_7ea7464b0990"></a></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-1</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="REPORTOFINDEPENDENTREGISTEREDPUBLICACCOU"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 12pt 0pt;">To the Board of Directors and Shareholders of Canadian Solar&#160;Inc.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Opinion on the Financial Statements</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">We have audited the accompanying consolidated balance sheets of Canadian Solar&#160;Inc. and subsidiaries (the&#160;&#8220;Company&#8221;) as of December 31, 2019 and 2018, the related consolidated statements of operations, comprehensive income, changes in shareholders&#8217; equity, and cash flows, for each of the three years in the period ended December 31, 2019, the related notes and the financial statement schedule included as Schedule&#160;I (collectively referred to as the &#8220;financial statements&#8221;). In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company as of December&#160;31, 2019 and 2018, and the results of its operations and its cash flows for each of the three years in the period ended December 31, 2019, in conformity with accounting principles generally accepted in the United&#160;States of&#160;America.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We have also audited, in accordance with the standards of the Public Company Accounting Oversight Board (United&#160;States) (PCAOB), the Company&#8217;s internal control over financial reporting as of December 31, 2019, based on criteria established in <i style="font-style:italic;">Internal Control &#8212; Integrated Framework (2013)</i> issued by the Committee of Sponsoring Organizations of the Treadway Commission and our report dated April&#160;28, 2020, expressed an unqualified opinion on the Company&#8217;s internal control over financial reporting.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Basis for Opinion</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">These financial statements are the responsibility of the Company&#8217;s management. Our responsibility is to express an opinion on the Company&#8217;s financial statements based on our audits. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with the U.S.&#160;federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the&#160;PCAOB.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our&#160;opinion.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Critical Audit Matter</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The critical audit matter communicated below is matter arising from the current period audit of the financial statements that was communicated or required to be communicated to the audit committee and that (1) relates to accounts or disclosures that are material to the financial statements and (2) involved our especially challenging, subjective, or complex judgments. The communication of critical audit matters does not alter in any way our opinion on the financial statements, taken as a whole, and we are not, by communicating the critical audit matter below, providing a separate opinion on the critical audit matters or on the accounts or disclosures to which it relates.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-2</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Revenue Recognition -sales of solar power projects - Refer to Note 2 (w) to the financial statements</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;">Critical Audit Matter Description</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company recognizes revenue from the sale of a solar power project at the point in time when a customer obtains control of the solar power project. The dollar amount of revenues from the sale of solar power projects is $668,476 thousand for the year ended December 31, 2019. The solar power projects are often held in separate legal entities which are formed for the special purpose of constructing the solar power projects, which the Company refers to as &quot;project companies&quot;. Management of the Company uses its judgment to determine whether deconsolidation of the project companies is appropriate upon transfer of equity interest to the customers, to identify performance obligations, and to estimate the variable consideration if any, as part of the transaction price.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We identified revenue recognition for sales of solar power projects as a critical audit matter because of the judgments necessary for management to determine whether it may derecognize the project companies according to Accounting Standard Codification (&quot;ASC&quot;) 810-10, to identify performance obligations, and to estimate the variable consideration as part of transaction price according to ASC 606. This require a high degree of auditor judgment when performing audit procedures to evaluate management&#8217;s conclusion of the aforementioned judgmental areas.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">How the Critical Audit Matter Was Addressed in the Audit</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Our audit procedures related to management&#39;s conclusion of de-recognition of the project companies, identification of performance obligations and estimation of variable consideration included the following, among others:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">We tested the effectiveness of controls over revenue recognition for sales of solar power projects, including management&#39;s controls over the conclusion with respect to de-recognition of the project companies, identification of performance obligations and estimation of variable consideration.</span></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 18pt;"><span style="font-size:6pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">We selected a sample of solar power project sales and performed the following:</span></td></tr></table><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:6pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Courier New';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">o</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Evaluated whether the fact pattern within the contracts and other relevant documents were properly included in management&#8217;s assessment in accordance with ASC 810-10.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Courier New';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">o</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Evaluated management&#39;s accounting analysis in terms of whether the identification of performance obligations, and determination of transaction price, including estimation of variable consideration, if any, is conducted in accordance with ASC 606.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Courier New';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">o</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Tested the mathematical accuracy of management&#39;s calculation of revenue for each performance obligation that can be recognized in a given pe</span><span style="color:#000000;font-family:'Times New Roman';font-size:12pt;font-style:normal;font-weight:normal;text-align:left;">riod.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 10pt 0pt;">/s/ Deloitte Touche Tohmatsu Certified Public Accountants&#160;LLP</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Shanghai China</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">April&#160;28, 2020</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;">We have served as the Company&#8217;s auditor since 2006.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'SimSun';line-height:0pt;margin:0pt;"><span style="font-family:'Times New Roman';font-size:0pt;visibility:hidden;">&#8203;</span></p><a id="_e88ae39d_27aa_40e3_97e5_7c48b3897195"></a></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-3</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><a id="CONSOLIDATEDBALANCESHEETS_301566"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">CONSOLIDATED BALANCE SHEETS</b></p><a id="_52164f69_c2c1_4746_a9f6_bfaea1a1003b"></a><a id="Tc_o6kNceGLZUGwfBK4l6MUnQ_1_2"></a><a id="Tc_OUtSPq48YkaxRzWIKbdNPA_1_4"></a><a id="Tc_pXHMn2TFjUyIOvwy2ij2qg_2_2"></a><a id="Tc_8IN9z2K8N0uzP9_Uzf850A_2_4"></a><a id="Tc_U9paOWb9SkSRUUhAQycH9g_3_2"></a><a id="Tc_l1gdzAMse0Wr7Ol718woLA_4_2"></a><a id="Tc_Rfcu0AIG-ketR9drItUBNA_5_0"></a><a id="Tc_B-RYZsz250iTh7FrPEARAg_6_0"></a><a id="Tc_56PoDCfkYEibEurJbmMTvw_7_0"></a><a id="Tc_sXJnOYmI2kO-cWYd1ZWnmw_8_0"></a><a id="Tc_KczLhgcMNE-q9byyWn9hBg_9_0"></a><a id="Tc_qHLeKLF8IUW_lyMWDkmBIg_10_0"></a><a id="Tc_I420ujyqgU-YzOddf65xEw_11_0"></a><a id="Tc_pOCd5URNFkOh9C7-ljtYHA_12_0"></a><a id="Tc_17RjerqDwUCwTV6SHWfG3w_13_0"></a><a id="Tc_Wzbg3LyZvU6PczapZ9H98g_14_0"></a><a id="Tc_euv55oswX0i7rvbKl6JIkA_15_0"></a><a id="Tc_jHdKGlv1JEGQX-fJT4Lbvg_16_0"></a><a id="Tc_lNoiXJjtT0CmZujJp8v2Mg_17_0"></a><a id="Tc_s23z-cbKNEWVJcEQVnWAVQ_18_0"></a><a id="Tc_hCt5y5WIoEKM_e2ArjqCcw_19_0"></a><a id="Tc_Pxv0GWNWCEOUw0PrMcnE2Q_20_0"></a><a id="Tc_OhU59Obv9EGP21RH2cXU_w_21_0"></a><a id="Tc_ffHZnblhWkWtd9GHSnMCjg_22_0"></a><a id="Tc_s9qJUefjcES4JllRYZeLqA_23_0"></a><a id="Tc_59R9yS8cLkCm1UcSpvLyDA_24_0"></a><a id="Tc_X0_oSZ3Sdk-KgvoKCVopyA_25_0"></a><a id="Tc__JXHqngLkk6OlrQ6ocvNWw_26_0"></a><a id="Tc_oWQLzIzzLESnGapj6WCf2A_27_0"></a><a id="Tc_1uh3sTWyV0uKA_Zr9it_bQ_28_0"></a><a id="Tc_7QxDrEdS6UisbV1ht4YXSQ_28_4"></a><a id="Tc_11iuxmKcQkGBNxlqMom0-w_29_0"></a><a id="Tc_91ct0QEVfEeBaNGmPZH0ZQ_29_4"></a><a id="Tc_TWWzq8i6bUGEEjZEWvl8jQ_30_0"></a><a id="Tc_TLRRTmGu9UmxkIEV85fQ3Q_31_0"></a><a id="Tc_odcuYMbKhk6jokW-AGmKdw_31_2"></a><a id="Tc_m-CaZym_DkS-YAL2EeHbug_32_0"></a><a id="Tc_8d6HdGaZDEWKq1nE_aZQfQ_33_0"></a><a id="Tc_pR1jeHnhpkODFNelKA7NsQ_34_0"></a><a id="Tc_d05ehGY_y0yeFwCzSVkNOg_35_0"></a><a id="Tc_7ehguqVCXU6GW1e__pxZBw_36_0"></a><a id="Tc_M7qDIoiZQU-6Bnkh6Ckc_w_37_0"></a><a id="Tc_EwlXoGmreUW_YtzRrXHGLg_38_0"></a><a id="Tc_OR9bu_4knUi6U-alwk5FKw_39_0"></a><a id="Tc_ClB75iZ2w0Kw5xz68sfCLg_40_0"></a><a id="Tc_24puoPQXi0if-L_Ui7DIvw_41_0"></a><a id="Tc_iBjP88FS9EiQ6m6u6c5xBA_42_0"></a><a id="Tc_NHxAbnqMjE6UT0NFwXZ9nQ_43_0"></a><a id="Tc_20Qqy7keO0mP7e-GxDUxPQ_43_4"></a><a id="Tc_-REyuZ6OXUq43QzjtQcsCw_44_0"></a><a id="Tc_3-V-KYu9ckGkYLloe5ii4Q_45_0"></a><a id="Tc_IwEt3MOJQ0KT2mNlqYTMdA_46_0"></a><a id="Tc_swzZlpgin0-orqb8_JaSfQ_46_2"></a><a id="Tc_lWkD0zV7_U66f_0WRxax1w_47_0"></a><a id="Tc_ttKpFLNsiUelFcMyyON32A_47_4"></a><a id="Tc_9z_hMoAGXkOIA-VWHXSS8w_48_0"></a><a id="Tc_9ndqKiKIPUuaPFadte7-Cw_49_0"></a><a id="Tc_9KrwTct3YkOsvywG2AvG0w_50_0"></a><a id="Tc_wGmOtBUbn0aB_FkykqKKgA_51_0"></a><a id="Tc_ElM4nWbtrU2LVvaq5qU08w_52_0"></a><a id="Tc_T_PbD4xtTUaINMTqxV0M0w_52_4"></a><a id="Tc_IvGMZA1x4kCvWq6C3HNbNA_53_0"></a><a id="Tc_msK58-s1J0aJzjtoSeAv9Q_53_2"></a><a id="Tc_AEns9puOA06yPWWofviR1w_54_0"></a><a id="Tc_JOu7CKL4GUCkOxwYphKCcg_55_0"></a><a id="Tc_43wXtBkcjEeD-sCi_zcPsw_56_0"></a><a id="Tc_hJYohO8Y3Emay8gm3wkNLw_57_0"></a><a id="Tc_y2h4_RUEnkmSwcDtLMx1rQ_57_2"></a><a id="Tc_7jvuMO5qcEexc7Q-x5zK7w_58_0"></a><a id="Tc_KetNzdC_1E-DrQayA88Eng_59_0"></a><a id="Tc_DJ_Ia3kKPkqf5gZXZ5UYtQ_60_0"></a><a id="Tc_kgB5OOmOiEOIgltZC04-3w_61_0"></a><a id="Tc_YObWHxsFUUq-wAd7A3MC2w_62_0"></a><a id="Tc_WOyojqCQZ0K6TNEuuzrhfQ_63_0"></a><a id="Tc_hvOZE6R_xU2FP4ADlhsgYQ_64_0"></a><a id="Tc_ZlGBWXHmDki5D8fcfzBS7w_64_2"></a><a id="Tc_Yuh9DbKjCUestxVm1r5l1Q_65_0"></a><a id="Tc_Eu0cwbmLeEeyBhfte2zB8A_66_0"></a><a id="Tc__U4H-TxuxkGabC-PEuLXnw_67_0"></a><a id="Tc_PegqiEY7w020hFJeuU70hA_68_0"></a><a id="Tc_QglRvB6OLk6EpRtvnXNkJA_69_0"></a><a id="Tc_kJQ4mIp4tEeABzZo73Thmg_70_0"></a><a id="Tc_IqpTCXUvo0WlWi2NM91SXw_71_0"></a><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">except&#160;share data)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">ASSETS</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;">(Including balances in variable interest entities, see Note 10)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Current assets:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 12pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_YBrDn6oPuUyXN0aU_uF47Q_8_2">444,298</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_t0fcwWv5d0uFNFdncwPx6Q_8_4">668,770</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 12pt;">Restricted cash</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_d_UQXt9xc0SOnyWUtySaDA_9_2">480,976</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_G4unzBSQi0ySCBIIgncXxg_9_4">526,723</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 12pt;">Accounts receivable trade, net of allowance of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Narr_o3S8hbDBbkWFvWtJBL8dxw">32,733</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Narr_sC1VHwiI7U2CILUxl8W3Hg">29,545</ix:nonFraction> as of December&#160;31, 2018&#160;and 2019, respectively</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_kU92M5ziZkW8aZmykLWBuw_10_2">498,231</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_fpsVJMi1xkmizktorj5DjQ_10_4">436,815</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 12pt;">Accounts receivable, unbilled</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnbilledReceivablesCurrent" scale="3" id="Tc_h6Z8aXsMwE68VjqXZc7TCw_11_2">38</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnbilledReceivablesCurrent" scale="3" id="Tc_HqZNZXuO7UGWrjABdkuzOw_11_4">15,256</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 12pt;">Amounts due from related parties</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueFromRelatedPartiesCurrent" scale="3" id="Tc_xylnUjuJZUyxtXV6lEKL-g_12_2">16,740</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueFromRelatedPartiesCurrent" scale="3" id="Tc_oOr-qaT82kO-v8g9rsac4Q_12_4">31,232</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 12pt;">Inventories</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryNet" scale="3" id="Tc_ycVRgMw6v0Cfmc4k_8EFNQ_13_2">262,022</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryNet" scale="3" id="Tc_GtoH5OB6WEOFFk6LHh0Xpw_13_4">554,070</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 12pt;">Value added tax recoverable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValueAddedTaxReceivableCurrent" scale="3" id="Tc_ggMjwyKVMESA3v4_skA4HA_14_2">107,222</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValueAddedTaxReceivableCurrent" scale="3" id="Tc_ovdeAwaf4UiaT7-tACfHXQ_14_4">108,920</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 12pt;">Advances to suppliers, net of allowance of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:AllowanceForDoubtfulAdvancesToSuppliersCurrent" scale="3" id="Narr_0nTywNqhAEGU7cPwytl7Lg">5,702</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:AllowanceForDoubtfulAdvancesToSuppliersCurrent" scale="3" id="Narr_4k0hHzfkEEOK8oR3B85Q9g">7,222</ix:nonFraction> as of December&#160;31,&#160;2018 and 2019, respectively</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdvancesOnInventoryPurchases" scale="3" id="Tc_adhu3YMxbUiGWW3APLt2lw_15_2">37,011</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdvancesOnInventoryPurchases" scale="3" id="Tc_EFPGqK0_y0-ytvM9IeRkQg_15_4">47,978</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 12pt;">Derivative assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeAssetsCurrent" scale="3" id="Tc_LJ7dk_jvyUqskyQ24qv8sA_16_2">4,761</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeAssetsCurrent" scale="3" id="Tc_wXDCz6e8skOd7ujQTmb4VQ_16_4">5,547</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 12pt;">Project assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCurrentPortion" scale="3" id="Tc_Zma5xhDXsE-vQbDF71PsEA_17_2">933,563</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCurrentPortion" scale="3" id="Tc_G-tmnmq9N0qRa_l8Z2Ovuw_17_4">604,083</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 12pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_XyKxwBlyg0Kf8DNzcK2hhw_18_2">289,459</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_4lSIKjE23kKovkysDmfMRg_18_4">253,542</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Total current assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_kULZjecDaUaaBGLzCxm_tQ_19_2">3,074,321</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_qlEg22CAP0yllslaBiAJGw_19_4">3,252,936</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Restricted cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsNoncurrent" scale="3" id="Tc_2IekSdUd5U-IwoxTcIHHIQ_20_2">15,716</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsNoncurrent" scale="3" id="Tc_9H0CsM-HBUGP81CTGAvvpA_20_4">9,927</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Property, plant and equipment, net</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc__C06IDRWzkKtXPSZTZU4Mg_21_2">884,986</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc_vcpUcBn-wEmp1uUqosM7-w_21_4">1,046,035</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Solar power systems, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystems" scale="3" id="Tc_Uy78wNuxxUqHV0eu5l91iA_22_2">54,898</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystems" scale="3" id="Tc_lxY0J1eK8UCd12MqMcozXw_22_4">52,957</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Deferred tax assets, net</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_0Hc-Tb0vm0aHnEWW-3-nQg_23_2">121,087</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_ZsAitESPakKG7UI0QLNxOQ_23_4">153,963</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Advances to suppliers, net of allowance of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:AllowanceForDoubtfulAdvancesToSuppliersNoncurrent" scale="3" id="Narr_7P4TgzxkQ0-FTZ53SIXBjw">15,224</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:AllowanceForDoubtfulAdvancesToSuppliersNoncurrent" scale="3" id="Narr_JauZFgnsmEC55WBOHfbXZQ">13,059</ix:nonFraction> as of December&#160;31,&#160;2018 and 2019, respectively</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:AdvancesOnInventoryPurchasesNonCurrent" scale="3" id="Tc_H1fvU93sEky4S5fX2sNjMg_24_2">48,908</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:AdvancesOnInventoryPurchasesNonCurrent" scale="3" id="Tc_YjLV3yf7Tkq9pW8vYM4ATA_24_4">40,897</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Prepaid land use rights</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseNoncurrent" scale="3" id="Tc_JfpqlGlPaEWHC5JXrxqAdg_25_2">65,718</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseNoncurrent" scale="3" id="Tc_e05o5JX7UkCtqElUFzYk4w_25_4">60,836</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Investments in affiliates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_-s93_3QxCUOM_d-VOx9vmg_26_2">126,095</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_7nxdEnKbEEuuiE1zQeYw-A_26_4">152,828</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Intangible assets, net</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_n1Hq_FLWB0qQB68Bj2t_SQ_27_2">14,903</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_dP1meIhY0EuD8GkrjY58Ow_27_4">22,791</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_1DMrq8JOYUK8VY2pVSlZGA_28_2">1,005</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Derivative assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeAssetsNoncurrent" scale="3" id="Tc_B6D-IJWUREqO4TjAbFk1DQ_29_2">3,216</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Project assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandNonCurrentPortion" scale="3" id="Tc_y9PMYxgJd0KlAKytnBIbqQ_30_2">352,200</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandNonCurrentPortion" scale="3" id="Tc_JK6VLfa6HE-DJSIe8zazEg_30_4">483,051</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Right-of-use assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="Tc_MmTckAdutUScFy4yV9JgGQ_31_4">37,733</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Other non-current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_LzZepsk_yEuPcxwDIHIfIg_32_2">129,605</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_I2zfhIEmokO2RbN4ViC-sQ_32_4">153,253</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">TOTAL ASSETS</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_YY9ydNXr7kmeLKJR8IXueA_33_2">4,892,658</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_GweU2HnnOk2sE4Mmuyt1bQ_33_4">5,467,207</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">LIABILITIES AND EQUITY</b></p></td><td style="vertical-align:bottom;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;">(Including balances in variable interest entities, see Note 10)</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Current liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Short-term borrowings, including long-term borrowings - current portion</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermBorrowings" scale="3" id="Tc_K-83hOjPE02X7x401YiUQQ_37_2">1,027,927</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermBorrowings" scale="3" id="Tc__7jly9ge6E-Gn8dSyG4_zw_37_4">933,120</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Long-term borrowings on project assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:LongTermBorrowingsOnProjectAssetsCurrent" scale="3" id="Tc_A8Zyveo3hEmcMN5U5knvow_38_2">265,770</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LongTermBorrowingsOnProjectAssetsCurrent" scale="3" id="Tc_9vAw4auclU-K2u2SB4Ir-w_38_4">286,173</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Accounts payable</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableTradeCurrent" scale="3" id="Tc_i6_Fp2bFr0yceQ5G94vWBA_39_2">379,462</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableTradeCurrent" scale="3" id="Tc_Fgq5haKQoUmZ-7qh8z8Ihg_39_4">585,601</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Short-term notes payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ShortTermNotesPayable" scale="3" id="Tc_4TeX9_TPhE6AyVq1Bc8G4A_40_2">369,722</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ShortTermNotesPayable" scale="3" id="Tc_p7YoRpOBG06ITHSysn1qwg_40_4">544,991</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Amounts due to related parties</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueToRelatedPartiesCurrent" scale="3" id="Tc_YeUk7Zzzv0an0dx25nLOog_41_2">16,847</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueToRelatedPartiesCurrent" scale="3" id="Tc_0_Z8EKCzzUefTjnunUxc0A_41_4">10,077</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Other payables</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableOtherCurrent" scale="3" id="Tc_ee2pC0rSVUCaeo73iYKoUg_42_2">408,013</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableOtherCurrent" scale="3" id="Tc_bgHcaD7Z9U-l-Fz-gNB4nw_42_4">446,454</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Convertible notes </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConvertibleNotesPayableCurrent" scale="3" id="Tc_ltAjejrOCUyJsOcmw_i8_Q_43_2">127,428</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Advances from customers</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_ZB9UQm_5tUO_zI0Sr5LQrw_44_2">39,024</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_K3vOVaFGkkSJl6PWiRADZQ_44_4">134,806</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Derivative liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeLiabilitiesCurrent" scale="3" id="Tc_zPSuqkWjDEq-0j_uNX6z0w_45_2">13,698</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeLiabilitiesCurrent" scale="3" id="Tc_2bSsTFbIlkq1C02oYmaZJg_45_4">10,481</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_ZurrAxIwkU669UjEkkG3TA_46_4">18,767</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Tax equity liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:FinancingLiabilitiesCurrent" scale="3" id="Tc_A2xsIWSzA02dBEpOez_xnQ_47_2">158,496</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="Tc_3GGTLSYhbEGvt1pG2mCZdA_48_2">141,970</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="Tc_32MCRLdDHk--MzvugvPJbg_48_4">121,527</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Total current liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:middle;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_0es59i6GE0K62wUmczQPcw_49_2">2,948,357</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:middle;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_vtPESd_5tE2z_BzwBT8pLw_49_4">3,091,997</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Accrued warranty costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_7eZvIeCqAU2m1k6FKEMllg_50_2">50,605</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_jlCmvt7-PE2z_uxMqXA_Og_50_4">55,878</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Long-term borrowings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:middle;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermNotesAndLoans" scale="3" id="Tc_XqtRzLLkRkqO7Fb--3Xwfw_51_2">393,614</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:middle;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermNotesAndLoans" scale="3" id="Tc_5DynY25JDE2XIUj7s0hcew_51_4">619,477</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Amounts due to related parties</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueToRelatedPartiesNoncurrent" scale="3" id="Tc_TxzRhW4w0UWU4s4cYLbz8Q_52_2">568</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Derivative liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeLiabilitiesNoncurrent" scale="3" id="Tc_IDpfdsVMfE69uf13yyzsuw_53_4">1,841</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Liability for uncertain tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilityForUncertainTaxPositionsNoncurrent" scale="3" id="Tc_k-Ij16p_vUqWwlgJR-A_9g_54_2">20,128</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilityForUncertainTaxPositionsNoncurrent" scale="3" id="Tc_14pssDoAEEqgvh0Ru_WPlw_54_4">15,353</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Deferred tax liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:middle;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_H-4G9USEZESUWRCy9TqlSg_55_2">35,698</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:middle;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_uLDKeMxIh0-v_IirDg_ZHw_55_4">56,463</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Loss contingency accruals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LossContingencyAccrualAtCarryingValue" scale="3" id="Tc_g5sDp9VAtEmL9z4ngJ-S-w_56_2">24,608</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LossContingencyAccrualAtCarryingValue" scale="3" id="Tc_hoj-VwdS0k6JMqsJtk9rIQ_56_4">28,513</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Operating lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_cZInsQyo1kOQARQwoRVovg_57_4">20,718</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Financing liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:FinancingLiabilitiesNonCurrent" scale="3" id="Tc_bKfDrj09F0yGO0n8iAX3Uw_58_2">77,835</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:FinancingLiabilitiesNonCurrent" scale="3" id="Tc_csKgxPBQY0-XU-AwpFvyzA_58_4">76,575</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Other non-current liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesNoncurrent" scale="3" id="Tc_w52v_dX_ckmuo59yaRTuUA_59_2">68,400</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:middle;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesNoncurrent" scale="3" id="Tc_nkFsXANpVEeGVVT6nQevcw_59_4">75,334</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">TOTAL LIABILITIES</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_o0KG9b1zt06RciPutuRv2A_60_2">3,619,813</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:middle;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_rllidHHflU6kyqUalHR9WQ_60_4">4,042,149</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Commitments and contingencies (Note&#160;21)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Equity:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="font-size:6pt;">Common shares &#8211; </span><span style="font-size:6pt;"><ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_Mv4X-YuAwkG4rXiX2aZspg"><ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_jDFjbNOgVEiF5Jz3neIFTA">no</ix:nonFraction></ix:nonFraction></span><span style="font-size:6pt;"> par value: unlimited authorized shares, </span><span style="font-size:6pt;"><ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_w7OX2YPsDkOAW3kThEda6A">59,180,624</ix:nonFraction></span><span style="font-size:6pt;"> and </span><span style="font-size:6pt;"><ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" id="Narr_DbV-UdBWzkuozeCgEr1BuQ">59,371,684</ix:nonFraction></span><span style="font-size:6pt;"> shares </span><span style="-sec-ix-hidden:Hidden_8nrCX1EAuUm0Rw09CBQ9VQ"><span style="color:#000000;font-family:'Times New Roman';font-size:6pt;font-style:normal;font-weight:normal;text-align:left;">issued</span></span><span style="font-size:6pt;"> and </span><span style="-sec-ix-hidden:Hidden_cbNFhl0lAUC7B2kZ0v6MGQ"><span style="color:#000000;font-family:'Times New Roman';font-size:6pt;font-style:normal;font-weight:normal;text-align:left;">outstanding</span></span><span style="font-size:6pt;"> at December 31, 2018 and 2019, respectively</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_JDEeP75ijkGEKnhgKWHOLg_63_2">702,931</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_E2r8tHpkNUGzsgX6EY2RvA_63_4">703,806</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Treasury stock, at cost, <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:TreasuryStockShares" scale="0" id="Narr_Lfy6FpG92kOC6KiH2n5LfA">nil</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockShares" scale="0" id="Narr_KaCNLgspeEOwPl303PPxgg">609,516</ix:nonFraction> common shares as of December 31, 2018 and 2019, respectively</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockCommonValue" scale="3" id="Tc_zCmYVJx2v02mSALJXk3e8A_64_4">11,845</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Additional paid-in capital</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" id="Tc_kbm4qA4LSkGi-3sjuw78lQ_65_2">10,675</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" id="Tc_fYxC4U--VkyEW6kxJgv54Q_65_4">17,179</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Retained earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="Tc_tM0PJwqEw0mHqdx81Iyncg_66_2">622,016</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="Tc_7oR3s1Ipzk6IS6VNeD9EeA_66_4">793,601</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt 0pt 0pt 6pt;">Accumulated other comprehensive loss</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_LQCUpu74TkCLryW3SaGOZw_67_2">110,149</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_c1uyUjtHfUKbG9ExPIsGSw_67_4">109,607</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Total Canadian Solar&#160;Inc. shareholders&#8217; equity</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_v62Jb0SPKUKRVlVbyKTmbw_68_2">1,225,473</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_ClluirXs20GMBUirbOulhg_68_4">1,393,134</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Non-controlling interests in subsidiaries</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterest" scale="3" id="Tc_zk5b0ABVGUCSZaZG1I3tgg_69_2">47,372</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterest" scale="3" id="Tc_4ISYN95pdkWE46P6xgDniA_69_4">31,924</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">TOTAL EQUITY</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_nBIb1qkWFUih0dzqzETq1Q_70_2">1,272,845</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_RcgYQOy8rUOseYU-XSwkPw_70_4">1,425,058</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:78.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"><span style="white-space:pre-wrap;">TOTAL LIABILITIES AND  EQUITY</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_yrWJPTiC_EW4OYnXEzLmrg_71_2">4,892,658</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_ZI70yE5upE-M0gUKdttChw_71_4">5,467,207</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">See notes to consolidated financial statements.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="_ae0fa4ad_4bb6_497e_99a2_56354c908a2f"></a></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-4</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><a id="CONSOLIDATEDSTATEMENTSOFOPERATIONS_69681"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">CONSOLIDATED STATEMENTS OF OPERATIONS</b></p><a id="_0f28520b_24c0_42fc_93ba_e62bb540605a"></a><a id="Tc_GsA82MiAt0aYfXYcnIX9mA_1_2"></a><a id="Tc_L5kYcnO-ME6iJ-aNJ-RnNw_2_2"></a><a id="Tc_EaZAeA0pNkaRrtRw8Odq8Q_2_5"></a><a id="Tc_VEoU9yplzE27MtOypNotIA_2_8"></a><a id="Tc_bft3_Faf20yc0ujGj8DJ5w_3_2"></a><a id="Tc_fG0lB6_IK0mrKsddbcEQUw_4_0"></a><a id="Tc_EDm6EJPEQEitmAquRsrTEQ_5_0"></a><a id="Tc_mUYVBnbBKU-NqbqgKlAe9w_6_0"></a><a id="Tc_ZwoclDn1akeQLqiBQgwMfQ_7_0"></a><a id="Tc_S3PGsG1aj0GEeRW96b2b0Q_8_0"></a><a id="Tc_s7GzEJ_9CkKxv0rzcBx_Bg_9_0"></a><a id="Tc_HO8jLjlVAkuSGCDDkRDCDA_10_0"></a><a id="Tc_ztT-grUUUk-4RoPloT_zwg_11_0"></a><a id="Tc_yzICtQ00WE6RlzqxEs_9_Q_12_0"></a><a id="Tc_q1_PylH-z0-4U1gcm77zrQ_13_0"></a><a id="Tc_j5ZlvWgbZEGBkspBSUGOFg_14_0"></a><a id="Tc_5YSJZkDo40iHo9Xh3KiRhA_15_0"></a><a id="Tc_Kd_gReHSeUe5mfpEsZWdQg_16_0"></a><a id="Tc_mNlWa4EjXEOF0Pjn6bV_3w_17_0"></a><a id="Tc_CvvHtKKKMEmVtXZKKj6n3w_18_0"></a><a id="Tc_lE4uoQszjEGGWPQSvdnSGg_19_0"></a><a id="Tc_nnxwmZ0JzE6p7Q4a-ssJDg_20_0"></a><a id="Tc_c8lYmz9NekWxfGT-uFef8w_21_0"></a><a id="Tc_gwdNnqDVNkWTyo3Y9pZdrw_22_0"></a><a id="Tc_o0N2t4SOFUenDW0k14wj3A_23_0"></a><a id="Tc_05cuHc1F2kiIpt_V7oEqWw_24_0"></a><a id="Tc_rqc7f8NKikulA4xCluShAQ_25_0"></a><a id="Tc_JQCHeeteuEqt_Jj4tsaGAw_26_0"></a><a id="Tc_Dy6s3k5tH0-plr7vvEby9g_27_0"></a><a id="Tc_G5-4X2nJBkuxDI3YQn-sJA_28_0"></a><a id="Tc_-htBQTWcIUaaI5UntcZQ3A_29_0"></a><a id="Tc_U00gVLmguUCuPCp0eXzUQQ_30_0"></a><a id="Tc_B-UGLAeiekOBivamcwJagg_31_0"></a><a id="Tc_9SdT7P-ttEKY2Modu9wjKw_32_0"></a><a id="Tc_E4UYS0IHBEuLphuEIY3gpA_33_0"></a><a id="Tc_BIi9rudoGEud5JS_tqRGIA_33_2"></a><a id="Tc_0dr1pNDgl062tMdp1kiBpw_33_5"></a><a id="Tc_fTXckxu5OUK6v61AhJ0Rkg_33_8"></a><a id="Tc_l1gTJKOYZkuH-HRL_cuPuQ_34_0"></a><a id="Tc_1HY_OBeyUkGO0_mp6Za_7w_35_0"></a><a id="Tc_SCQpXjVuMkGKGHBoKcPzFA_35_2"></a><a id="Tc_kwwtU8JDsUyTGNSUtJE0rw_35_5"></a><a id="Tc_hW8IsyfLY0ubIhXmFM_uNQ_35_8"></a><a id="Tc_JtRR_I3vnUe0_clv5uHH3A_36_0"></a><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:40%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;width:40%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars,&#160;except&#160;share<br />and&#160;per&#160;share&#160;data)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net revenues:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">&#8212;Non-related parties</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:RevenueFromNonrelatedParties" scale="3" id="Tc_7o-Axsv2c0aYobLJ34iZhg_5_3">3,221,928</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:RevenueFromNonrelatedParties" scale="3" id="Tc_JKB-DLJCokaGDjaCQ8iPyQ_5_6">3,624,687</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:RevenueFromNonrelatedParties" scale="3" id="Tc_vGfHWFIh5Eqdo_xYlUNwRg_5_9">3,101,113</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">&#8212;Related parties</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Tc_6IyKpvvfmkKFShjlRaGaSA_6_3">168,465</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Tc_YwhqbtzYDkuFFIVKpu7CCQ_6_6">119,825</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Tc_KfCLhqpBKUis6pexcMAH_g_6_9">99,470</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total net revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Vw90HOXnV0SratWa4cAtVg_7_3">3,390,393</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Y4Oj8yrlSkWMW2NGPaY_-w_7_6">3,744,512</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_acy3__Fr0U-FuBM5M7HYDw_7_9">3,200,583</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cost of revenues:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">&#8212;Non-related parties</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:CostOfGoodsAndServicesSoldNonrelatedParties" scale="3" id="Tc_6AiGusp3QEy826Xsj7hqtQ_9_3">2,641,583</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:CostOfGoodsAndServicesSoldNonrelatedParties" scale="3" id="Tc_FOSlFgk_hkKtpzBjvNAdCg_9_6">2,894,611</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:CostOfGoodsAndServicesSoldNonrelatedParties" scale="3" id="Tc_CU-f8vmKsEOQA5Txez5DCQ_9_9">2,424,476</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">&#8212;Related parties</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartiesAmountInCostOfSales" scale="3" id="Tc_dshzcfgd-ECeyBLG4wiMYw_10_3">111,212</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartiesAmountInCostOfSales" scale="3" id="Tc_Q7J-3LiMUUSrvBXrcRpaqA_10_6">74,819</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartiesAmountInCostOfSales" scale="3" id="Tc_1j1TksltrUq3yqPYklG_bQ_10_9">57,610</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_XaX2w8QizUubNimX7T5ZbA_11_3">2,752,795</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_03edZtgacki1s0yydNdsDg_11_6">2,969,430</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_aYYXQ5A3z0-xfeJGKq7BHw_11_9">2,482,086</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_Hp2PH9vumEesvXYWqRE14g_12_3">637,598</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_TDr99oFz30eYLmtDCLtmlg_12_6">775,082</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_AkF1vgo0_EOyZml5sP1wnA_12_9">718,497</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Operating expenses:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Selling expenses</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingExpense" scale="3" id="Tc__9zE81x8CU2KQUx-c2IOvg_14_3">156,032</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingExpense" scale="3" id="Tc_WmrQslWIaEytDQMKPUbu1A_14_6">165,402</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingExpense" scale="3" id="Tc_-8OngyOhAECyc-ncol7l6g_14_9">180,326</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">General and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="Tc_qGMMHWO1wEqDXp3b1oBH0g_15_3">230,998</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="Tc_M6MATkT2G06G7qgYNXvtRA_15_6">245,376</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="Tc_wqYXe9Lb-EiJJI4KU2w9FQ_15_9">242,783</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Research and development expenses</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Tc_BjC1_lt6nk69ycAfme1fng_16_3">28,777</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Tc_R1hwS0Foo0qSnSAvVeDRQA_16_6">44,193</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Tc_G4L2CfV_Wku3vSswemLnhw_16_9">47,045</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other operating income, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_2gibtbv-6UK5e-HP32n-tA_17_3">47,554</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_FFDIEAMiTkiIyVEwP9Bo6Q_17_6">44,546</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_OExzvatBJk67zevkCiQ3qw_17_9">10,536</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total operating expenses, net</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingExpenses" scale="3" id="Tc_Z7VglG2oj0-vEuGP7w5PFQ_18_3">368,253</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingExpenses" scale="3" id="Tc_Nqi-sG8apkKxa483GSci8w_18_6">410,425</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingExpenses" scale="3" id="Tc_8JJhpYO2DUiLActlz33jhQ_18_9">459,618</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Income from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_UUmM62829U-931dhOsi-yQ_19_3">269,345</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_vsfdvf1HnUKr-ktuB-r4eA_19_6">364,657</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_wtEhApDPGES3gIwr9aBl7Q_19_9">258,879</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other income (expenses):</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_JnYYpIfKW0-IsqbMTWtarw_21_3">117,971</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_zUXc9cdqJU-bC4BycUtu4w_21_6">106,032</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_W9MKBXYrN0SIoh6A2RJ1Rw_21_9">81,326</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest income</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_GHNrHBHx0Uy4avs7TeOieg_22_3">10,477</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_v0n3MXe3LkqQfk-7WdNflg_22_6">11,207</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_6ChsmkV-NEGNEMsJ3zYMRw_22_9">12,039</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Loss on change in fair value of derivatives, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_62ozPj3byEaCvwLj4JmVig_23_3">272</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_n93Sogo9TEiYC3EtxnoNgg_23_6">19,230</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_q957mUSctkiolWmUpk-NXw_23_9">22,218</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign exchange gain (loss)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" sign="-" scale="3" id="Tc_oiByv09Pq0K7rdDyiAvOfA_24_3">23,449</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" scale="3" id="Tc_kp40k3OOpkWOSCYfrfiNdg_24_6">6,529</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" scale="3" id="Tc_-WTT2hKbPUumfMUoM4dW9w_24_9">10,370</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Investment income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnInvestments" sign="-" scale="3" id="Tc_C-mlLj3cs0yWC2CYjLhrZg_25_3">3,607</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnInvestments" scale="3" id="Tc_QImlhNwI8UGmlcIxR-zptw_25_6">41,361</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnInvestments" scale="3" id="Tc_YyIwmm1noE6CGBfXyNjgNA_25_9">1,929</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other expenses, net</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" sign="-" scale="3" id="Tc_ns1VyxLWEUSBLP0r_DXUQQ_26_3">134,822</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" sign="-" scale="3" id="Tc_nomNiGPbek2dWnyTroyRPQ_26_6">66,165</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" sign="-" scale="3" id="Tc_2eYWTmYOxkebCdq_PAvFZw_26_9">79,206</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Income before income taxes and equity in earnings of unconsolidated investees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" scale="3" id="Tc_HuiZUl4hTkiJnTvWvL9jbA_27_3">134,523</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" scale="3" id="Tc_ayoU1wXNo0ycrdIdfrx2hQ_27_6">298,492</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" scale="3" id="Tc_GdqoG_HLR0qlUgS7-qUVWA_27_9">179,673</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Income tax expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_UFR8dtwuek2jE5M97DYiRQ_28_3">40,951</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_UEj1hRAX2E6iCj6bnjI7qA_28_6">61,969</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_YtxqsYed8EOAx7Kis0AkBw_28_9">42,066</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Equity in earnings of unconsolidated investees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Tc_G8j6BXigGk6faadqR6Y5sg_29_3">9,411</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Tc_v9XaaOJ2m06kT7Fv0p8ocg_29_6">5,908</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Tc_CwJaKW_7EkO7UydcZ1IDCw_29_9">28,948</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net income</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_ToMAImPpSU-4VY4bkhdkUw_30_3">102,983</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_cVSTJKqFo0i5Y0sNCeVU_A_30_6">242,431</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_Ui6M8xs2yUe6cLjIfjBZew_30_9">166,555</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Less: net income (loss) attributable to non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="Tc_L32xfik5xEOFVJccRIl9aQ_31_3">3,411</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="Tc_zwmrP0i9_0q6ZGpiOfynkw_31_6">5,361</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_4mjZH1-kKUm9-dbylvNdNQ_31_9">5,030</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net income attributable to Canadian Solar&#160;Inc.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_WkSDYcMp5UmoeCENGspyzQ_32_3">99,572</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_nJUzE74UsUm85lAHNzWFMw_32_6">237,070</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_I2C6Ls_7yEibmlMUeHe59w_32_9">171,585</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Earnings per share &#8212; basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_uI-pcXU_fES7PDImsr8T-A_33_3">1.71</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_MWS--wjmYkOJ9UrgOhPZTQ_33_6">4.02</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_e6vIJ4h22UeuPuzp4aP14Q_33_9">2.88</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Shares used in computation &#8212; basic</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_Fu-y7pEfmEqRjOhLJX3Gkw_34_3">58,167,004</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_QNxl_xMFNUS66H03vh6Cvg_34_6">58,914,540</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_4TZzVfxe_EmcXeCqGjxPqw_34_9">59,633,855</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Earnings per share &#8212; diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_Z_Prm9qJ70eFL2eMb7_jWQ_35_3">1.69</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_dMKHiTS6u0aNBF0itPoq3A_35_6">3.88</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_4OaFc03FVUSX7yi_Xy4toA_35_9">2.83</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Shares used in computation &#8212; diluted</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_zkrBAR1Elku-xXfzqpdgBg_36_3">61,548,158</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_jthfPfMJNk2rtoFSGWznCg_36_6">62,291,670</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_yuZgNE2gdUucBqPVjruQsw_36_9">60,777,696</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">See notes to consolidated financial statements.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="_1bd8dd6c_08b9_40ea_9482_af65fa4f95c6"></a></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-5</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><a id="CONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINC"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</b></p><a id="_7aa939f5_8334_440f_b00f_e4ee57668c98"></a><a id="Tc_lq7blh5340mqqmBcLwuMig_1_2"></a><a id="Tc_J7O0qcfuxUW9U-ROqNuSYg_2_2"></a><a id="Tc_vxf8wsmUjEie2yENWbJBkw_2_4"></a><a id="Tc_OrjYVfzkgE-k-2p0FzXTwQ_2_6"></a><a id="Tc_U64SfdZ9GEKPoOX0HPq7MQ_3_2"></a><a id="Tc_JJKru6fiUkC0M7SePHkJRw_4_0"></a><a id="Tc_CDlbi9YuWU-fBnB1z8dDVw_5_0"></a><a id="Narr_oK6W-y9tDk-z8h2Kc0LASw"></a><a id="Narr_5UIr6l4M7EGKQpxM7HjWOQ"></a><a id="Narr_dPqsE2jDhkmB4zc491Rb_w"></a><a id="Tc_7n4BVfyLbUitkAXYKo3rDg_6_0"></a><a id="Tc_zvQ0nvVXmke4_Un2oHNsiQ_7_0"></a><a id="Tc_HYXmrg9RIEy6oVvq6XxImA_7_6"></a><a id="Tc_ZufYSdFOk0-O-17ajEGCCg_8_0"></a><a id="Tc_XzUVnc1h4kiiqSlbOJUO4A_9_0"></a><a id="Tc_XcIrv8CGmE2j7J2h9_nUlQ_9_2"></a><a id="Tc_3PutgPHOfUWDyXZ4hQH0Xg_9_6"></a><a id="Tc_glZnxMjNDEiBzlbeNCRF3g_10_0"></a><a id="Tc_EfV5ZZFfGkanQRx6dgXTLQ_11_0"></a><a id="Tc_XKZaoaoxmEODXmARHefCqw_12_0"></a><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net income</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_u5MJWjpG00CIMEGLYOv-Mg_4_2">102,983</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc__XkBEaWNDEOtA0xJXkMY4A_4_4">242,431</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_wg8PgnOTqUWsK09KnN4yHg_4_6">166,555</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other comprehensive income (loss) (net&#160;of tax of nil):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign currency translation adjustment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_y6C15nr8OEKKmBcNgJvWsA_6_2">39,305</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_hzdw9rNwBEKkmK0kRh0GYw_6_4">50,577</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_3leE86baR0mpW1CN9tnBng_6_6">319</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Gain (loss) on commodity hedge</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax" sign="-" scale="3" id="Tc_VuTh4lZ8bUSDLRY8HAbL1Q_7_2">1,844</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax" scale="3" id="Tc_ff-RKi5JqEa7t0rPVRr1Pw_7_4">953</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Gain (loss) on interest rate swap</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" sign="-" scale="3" id="Tc_BjvZb6VRH0yIfSk8qGFlnw_8_2">246</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" scale="3" id="Tc_x0LodW1NzEqpYdQTyVSdVw_8_4">5,141</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" sign="-" scale="3" id="Tc_3_k5_NW60UiTabZelF0omA_8_6">5,847</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">De-recognition of commodity hedge and interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" sign="-" scale="3" id="Tc_wLTpraxj_U64YIVL1FH2SA_9_4">8,752</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Comprehensive income</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_kPgk4QdEgEOwTk0uGHQAoA_10_2">140,198</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_n2pRjWqj7Uu178xrOR3rRA_10_4">189,196</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_jyIqzq-JCUuPPdjR0qs4dQ_10_6">161,027</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Less: comprehensive income (loss) attributable to non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" scale="3" id="Tc_vS3Kql8Sk06ZIjWuSlLbew_11_2">2,846</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" scale="3" id="Tc_UTROSjSkEkSiFy7InItfEA_11_4">8,241</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_8ap1YtG87UiF0-Vj_c8XcA_11_6">11,100</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Comprehensive income attributable to Canadian Solar&#160;Inc.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_ecqmsMZ7u0KIPGjMAg_C7A_12_2">137,352</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_MLTiv68RIketGv5YjETRcw_12_4">180,955</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_A_YH8ZVmfESBBMHCseWl9Q_12_6">172,127</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">See notes to consolidated financial statements.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="_831b0b07_6b88_4ed3_9a74_8af7202e266e"></a></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-6</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><a id="CONSOLIDATEDSTATEMENTSOFCHANGESINEQUITY_"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY</b></p><a id="_654ae7ce_4663_44a6_a418_81d995a50d01"></a><a id="Tc_Yg6NOvjEC0WBxM0v-pr1CQ_1_14"></a><a id="Tc_-31MIOi-OUegVJVpsN3Mfw_1_16"></a><a id="Tc_5zTcFB0gW0eW33vwFpV6xA_2_10"></a><a id="Tc_6DwzKJxb90-cMcFdC6ACag_2_14"></a><a id="Tc_cuPJ9tDMU0-3JamC8_CdSw_2_16"></a><a id="Tc_EzL2nwrY-EaDgQZK4cEUkw_2_18"></a><a id="Tc_KQlVEmPriEWjRtY-_LfYcQ_3_2"></a><a id="Tc_DvhUc-YYL0GVdYYuDUir7A_3_6"></a><a id="Tc_lF4XRSpjKE-K7YOeqXPQDQ_3_10"></a><a id="Tc_-GgquXNeYkC5mUgRxDneBA_3_12"></a><a id="Tc_reYoEcffRUWQ9ZgKAmFL1A_3_14"></a><a id="Tc_RCoiE7PZ-EqncEZN8Jtf_A_3_16"></a><a id="Tc_A98NAZIx4kyJHrFL5RmxWQ_3_18"></a><a id="Tc_l20Rc8n64UepTSoGgJZjEA_3_20"></a><a id="Tc_v7DlE5Ex606uyIJ4CcSPXQ_4_2"></a><a id="Tc_nF42BwHFzEqMOqUct6kJNA_4_6"></a><a id="Tc_V2_-IV0RJ0yb_d3d0IOucQ_4_10"></a><a id="Tc_xhQWpVK_BkWZJ0xIpvan0A_4_12"></a><a id="Tc_5N1X2GoD5ka8jrdEALomeA_4_14"></a><a id="Tc_SsziDNe2jEyJ22PRd27knw_4_16"></a><a id="Tc_S4yqfCG7Cka0QZSoyxk3HQ_4_18"></a><a id="Tc_dCFlpttxCUKdwKb8MDFb0g_4_20"></a><a id="Tc_YIhHDmRU70qaPRvUS2rSuQ_5_2"></a><a id="Tc_8TlBFK_J3k6us-9mZVncUQ_5_4"></a><a id="Tc_YnWyUy04F0OEiBEOUHke6w_5_6"></a><a id="Tc_-Y4wOrGQLUO9hAGT9tmv2g_5_8"></a><a id="Tc_GVCGn5W7SU2psNMNf03XMA_5_10"></a><a id="Tc_F7SkxpJlDUuSqISWrGWblA_5_12"></a><a id="Tc_Ii-yucOm2Eyfn9CuQVQu2Q_5_14"></a><a id="Tc_CjzHmM9PzEiVZ_U9yan-6g_5_16"></a><a id="Tc_HiXDhZpJ-kSmgCG07beFqA_5_18"></a><a id="Tc_s7QdgJKBL0--Ozdk7jDE6A_5_20"></a><a id="Tc_YvgtvXYvWkqIhTlvJ2VUcQ_6_2"></a><a id="Tc_e4JcFr1RbUaovKdQoXa0_g_7_0"></a><a id="Tc_Bj6CElvP602K3Susg0XmGw_7_6"></a><a id="Tc_TXxUBbhYyEykh3WX8jS2pQ_7_8"></a><a id="Tc_TH8UIkoOEkyRqkj1K4fcnA_8_0"></a><a id="Tc_4i15IU7UsU2q7IxE3Gfkdg_8_2"></a><a id="Tc_0ZGrCdUu_0272UFqaqsbNQ_8_4"></a><a id="Tc_KKvbxnHyJUK6hOwlF2edZA_8_6"></a><a id="Tc_qBCiYtQO806kQfXvdbM3EQ_8_8"></a><a id="Tc_1C1g9mOmVU2CwouK823xnA_8_10"></a><a id="Tc_8TvTgKnV5kGcFKY-myXHxg_8_14"></a><a id="Tc_3Q0aWD1m0k-ZL2kpUitMjQ_9_0"></a><a id="Tc_m9Y7q1tC_ESnW_n8aS29yg_9_2"></a><a id="Tc_kqM8Drd9hka5pZZOddCPAA_9_4"></a><a id="Tc_i8h1vlJ1_kuAYkyLl8P84g_9_6"></a><a id="Tc_5TtAhYN0IUOKBSywxh1BXg_9_8"></a><a id="Tc_pc3EDYk_PkSlsSoRO-SFYA_9_10"></a><a id="Tc_gZ6KUDpBK0yBtRC6KNa7Xw_9_12"></a><a id="Tc_IHnI6qFXdEWmXWK41GsKmQ_10_0"></a><a id="Tc_iIgkm4XlzkSksqUIKxxOjA_10_2"></a><a id="Tc_Juaxx-MKnEqoZ9lTdwJtzQ_10_4"></a><a id="Tc_sgPMixkudEy0cP5AIp5-rA_10_6"></a><a id="Tc_V3zofCYa0Ei9ku9o3MtVWA_10_8"></a><a id="Tc_eB9lVbsJhEynaalbXrY2NA_10_10"></a><a id="Tc_KoMdq7Za50m9Ei6VW0uDUg_10_12"></a><a id="Tc_fBBRfOu99EmiQmU-rYulZw_10_14"></a><a id="Tc_NplKW8n_KUmiNSAsP6B_uQ_10_16"></a><a id="Tc_E3neLyG2T0aVOm0n8mcB1g_11_0"></a><a id="Tc_VBwML5IgY0G5sU-5n_x2pQ_11_2"></a><a id="Tc_wO1TqPkC1kC2qBhe_qlUgw_11_4"></a><a id="Tc_4vulkMSrkUGDvVc7T89o-g_11_6"></a><a id="Tc_GL6UVOte4U21QwVRpF4NNw_11_8"></a><a id="Tc_M16JzuPJkUKe72Bma3esNQ_11_12"></a><a id="Tc_jz3Pkkil4UejrqXQ-CJLFQ_11_14"></a><a id="Tc_sEVDjIjSTU6xAdRHoJMrOw_11_18"></a><a id="Tc_GJOOxn6LVkSuEOa6vKnnHg_12_0"></a><a id="Tc_uxwDeWwyEEei5g87p4DwzQ_12_6"></a><a id="Tc_RPMTzonMh0Kur3sE9ePEtg_12_8"></a><a id="Tc_U1rT6awaeUecXt5IyGzafw_12_10"></a><a id="Tc_8V48Vij-1EWbkipqE-SGtA_12_12"></a><a id="Tc_QpdYlCWg50Ko95R0t-KXhg_12_14"></a><a id="Tc_3tar5NaGg0aieSFllJKb6Q_12_18"></a><a id="Tc_wKnq0AR8X0Gm-vI6T04j2g_13_0"></a><a id="Tc_Jbhn4eyooECnex1pt4o-qg_13_2"></a><a id="Tc_OhTHGgawGEale5Eyh5t_qw_13_4"></a><a id="Tc_KXwWkDwZN0aIDx-13NyeIA_13_6"></a><a id="Tc_xoihAkVyIEy5Ixm0WjX5xw_13_8"></a><a id="Tc_ekaju8xhMUKX7l_6qxOWhQ_13_10"></a><a id="Tc_IKPfitqN00uQWVm37fP7wA_13_12"></a><a id="Tc_zValdC1va0KJViwIaVNt7A_13_18"></a><a id="Tc_wHE2ZI37_UmjVugxROZEQw_14_0"></a><a id="Tc_MDuibBLUMki8QdaWosg69Q_14_6"></a><a id="Tc_4LXCyXzeMUiagVmnQGSK5w_14_8"></a><a id="Tc_V8fd19edfE66ALdk69MIzw_15_0"></a><a id="Tc_m-Fnr1-npEaRMvID3Gle4Q_15_2"></a><a id="Tc_AyKulz2-a0Su70Kc1Iym6A_15_4"></a><a id="Tc_CAiho7Glpkq9Jrl-aM_ulQ_15_6"></a><a id="Tc_x-ZM-_GxsEiIqZ8VgdajSQ_15_8"></a><a id="Tc__WCU34V4KU2LPT2vKtD4Mw_15_10"></a><a id="Tc_YizXYtIwmkyfkJb2efE9Uw_15_14"></a><a id="Tc_DXMjVGWqF0qYAGSGVdZcvA_16_0"></a><a id="Tc_t3v9f2HNtUy9B2HPn91k_A_16_2"></a><a id="Tc_AFt4Zez_9U6AbXA9vyXJnw_16_4"></a><a id="Tc_56O-EUFmNEKqLKAaDaWREg_16_6"></a><a id="Tc_ONLNoDkU_0q6kX7a8Vdonw_16_8"></a><a id="Tc_Ke0xtbe5d0KsvxUgNC9Xlw_16_10"></a><a id="Tc_ua5XK5ag2Uah1hVzzkh7Vg_16_12"></a><a id="Tc_LWsMy1p_7kGE7GU1Ps52Cg_17_0"></a><a id="Tc_XADRdXClIU29dHMC3UL2ZQ_17_2"></a><a id="Tc_cPXIMUB-60-Jor2nZM80Tg_17_4"></a><a id="Tc_h9YaWGDpTE656-lYaSiY8g_17_6"></a><a id="Tc_kcOgV22_hkyPule7jd5cZQ_17_8"></a><a id="Tc_z2wdJmlTXE6bAvVwFAIkTA_17_10"></a><a id="Tc_fOXx_6v9tEiVOkSiETzO6g_17_14"></a><a id="Tc_lRHPltLvSE2i9N51kA6lZg_17_18"></a><a id="Tc_oQgxUxiEhkuj1YtrL0yF8g_18_0"></a><a id="Tc_TKK3m_bObkuez-P_pIsFbA_18_2"></a><a id="Tc_sH1Z4_jVj02XAc4u9PApwg_18_4"></a><a id="Tc_dO6EK-1LoUSGiFeFifU_RA_18_6"></a><a id="Tc_bX4oxnKFIEyRpk2uDnc3fA_18_8"></a><a id="Tc_GWfhZgreOEevFXPRC3AIuw_18_10"></a><a id="Tc_wkkua_lviE-kXigh_0TWOQ_18_12"></a><a id="Tc_OPdzDeGlv0GPhTUpCVeVtw_18_14"></a><a id="Tc_gA-gjpV7WU26QrbNJhudNw_18_16"></a><a id="Tc_czdP5IYV-kW_cMrc5j_A1g_19_0"></a><a id="Tc_VG3OeiUkgkStkmknseOXVA_19_2"></a><a id="Tc_Tq1PKbaOjkeQ0FQj-6gLpg_19_4"></a><a id="Tc_qTV2a5QKIUqjPhl5Dp__ww_19_6"></a><a id="Tc_rlEFKdxorUioeKKbIM8-Mg_19_8"></a><a id="Tc_YPm3G2SgeEOSQV8Ty6Uq8Q_19_10"></a><a id="Tc_xst4gliDa0GHVJ2vpkOnyQ_19_12"></a><a id="Tc_wS8RtHskm02jGAGiFLftYA_19_14"></a><a id="Tc_liKZRJoNm0iFUNGYYhoO_g_19_16"></a><a id="Tc_gwu6H9wihk-KJa16iintuA_20_0"></a><a id="Tc_FQEIuhhZ8U2XlPIQozIjeg_20_2"></a><a id="Tc_tGP27Yf0VkuvNTbMNVrGgA_20_4"></a><a id="Tc_gLZMT4CKNE2ajvNn-8Mj4A_20_6"></a><a id="Tc_ryPgU4d75kShFj0RWk4SPw_20_8"></a><a id="Tc_GDLZ58V5vkyIVe8xGUnH2w_20_10"></a><a id="Tc_RhM9IfR8sUeEg77WzYQkig_20_12"></a><a id="Tc_4JkJLqawj0-TTV76SF3Tcw_20_14"></a><a id="Tc_zSIqdeCqP0iqZtayBeAJCw_20_16"></a><a id="Tc_AzYGwu2M4EymwaUjRUVm3g_21_0"></a><a id="Tc_M2c-IdH_NkSlV0f6VRuMow_21_2"></a><a id="Tc_esO7GiKqIEuihjzjOL_Mgw_21_4"></a><a id="Tc_gYomlroW9kycgObdlxvU-Q_21_6"></a><a id="Tc_i_m8gFy-jEqJ8j-2UyWixQ_21_8"></a><a id="Tc_rDnw7iliC0WinmHVpfNPdg_21_12"></a><a id="Tc_CF4O2JpdMUqPfLNdC3aCOA_21_14"></a><a id="Tc_4xKHAL9RqUSjiKhV-YkztA_21_18"></a><a id="Tc_Z-p58vakx0maIokbMSNYlA_22_0"></a><a id="Tc_AYLHy1x2tkOAz1AG2jjOVw_22_6"></a><a id="Tc_MHC7_pM4bk-O4AumpsWr_w_22_8"></a><a id="Tc_7tSuKUIqwEq9UoSDwafwtg_22_10"></a><a id="Tc__hNsGYz1WUSGarMY2-6E3Q_22_12"></a><a id="Tc_DIHg-68uT0CNbST5uQvSAQ_22_14"></a><a id="Tc_5_fum6eT80G0jF4vegtSKA_22_18"></a><a id="Tc_YYGzECUAZU2hc8JrQf4NIw_23_0"></a><a id="Tc_ux_TQxTukUmxV72zcq3Upw_23_2"></a><a id="Tc_iqkr5oN2CkG6mBG9sRIXNA_23_4"></a><a id="Tc_t7yQGCUO3Ua3Qm-IV3aCog_23_6"></a><a id="Tc_BFQfh-r6C0GjRqS59q5atQ_23_8"></a><a id="Tc_RoiUY9EPNU6Sv_hiuHweJQ_23_10"></a><a id="Tc_URk0oEBlXEel8AnTz0-HSA_23_12"></a><a id="Tc_KHsie0gOXEegctLqQcpXrA_23_18"></a><a id="Tc_DNHyQJAU6k-tLhlCE8BWgg_24_0"></a><a id="Tc_lC2ogFMkw0S29Ob_9DKSsw_24_2"></a><a id="Tc_OVT1LAgE_kyEvMdQpasnYg_24_4"></a><a id="Tc_Qut5Ci2zcUGRSwPliRqk4Q_24_6"></a><a id="Tc_9K6kcipXKk22gcm1AnX-qg_24_8"></a><a id="Tc_6uv48KGT-0iVKScwkVlbYw_24_10"></a><a id="Tc_ba2prz1ugUauRRTIg9kKgQ_24_12"></a><a id="Tc_IiNp_B4OXE2oOy2QkNE3xg_24_18"></a><a id="Tc_P1Lt0SUEl0eCaGq3ruvfyA_25_0"></a><a id="Tc_O9fnwinpPkqTvqypey2hnQ_25_6"></a><a id="Tc_3tpkXzmlHEerSbo4k3fEqg_25_8"></a><a id="Tc_n-FtVciaX0elJxLvIZ0-rg_26_0"></a><a id="Tc_lXoOg8xBVkm5Nicsq7P0eg_26_2"></a><a id="Tc_h60bXUTe20iS76KbeeXYjg_26_4"></a><a id="Tc_-4KP44nVZ0qE-NRQicZfLA_26_6"></a><a id="Tc_5yGUtyUqlkmfJ7R5LwqeLw_26_8"></a><a id="Tc_aYZYm0FGpUKJq4qPwtIZeg_26_10"></a><a id="Tc_nMR8tZx2mUiH65U9t7AmGw_26_14"></a><a id="Tc_yDaIV8_t60CZevni1YzZkQ_27_0"></a><a id="Tc_fZ1AY0DR10u-_GsH1qR23w_27_2"></a><a id="Tc_WGV5q3YixE2p7-IyALcuyA_27_4"></a><a id="Tc_vRIDdUBnbkaGsSq4LDO5tg_27_6"></a><a id="Tc_C7ohofdTBk6Y7t_3W4Qv8A_27_8"></a><a id="Tc_FWIakzy9jEqH_CYHdYfGtQ_27_10"></a><a id="Tc_y4jtuTSgpkuCHPRZKEjftw_27_12"></a><a id="Tc_yr6kyTH8xUafZac2sxbB-w_28_0"></a><a id="Tc_FnoDz8ZqvU-GoB7cjH-E8A_28_2"></a><a id="Tc_ow6RGMOpIUOfnuGtsuqLew_28_4"></a><a id="Tc_yIkGgT0mrkK1HvJpdscJyA_28_6"></a><a id="Tc_aWM5ylDuxkuKx7ocZ-R1Lw_28_8"></a><a id="Tc_F4dheM5SnEG2k5ZfVmzZjQ_28_12"></a><a id="Tc_MPw-EY51TUeoB3zjl1Pb8w_28_14"></a><a id="Tc_BpEepLtgQ0i66cFVFGGnAw_29_0"></a><a id="Tc_tiQ6bJ7D4E6K7t3A2rYN8A_29_4"></a><a id="Tc_J2fs0rIIx0GtM_6L3PRLfw_29_10"></a><a id="Tc_Xm9I3fGQMEOLRzWs5LgPtQ_29_12"></a><a id="Tc_9lNETPqy00y74aMBFpXS1A_29_14"></a><a id="Tc_deG0N93Vx0yVCelneEikkw_29_18"></a><a id="Tc_3eSUULFiqEWyoEMQ82VsWQ_30_0"></a><a id="Tc_ES4lC9KO1UKJi8H7-OBvwg_30_2"></a><a id="Tc_nT5UO8bpdUyLRE2_9XPBiA_30_4"></a><a id="Tc_8BzMM9TxMk2Kb4G3VkytKQ_30_6"></a><a id="Tc_f49J21XvC0S5gHGzktGCVg_30_8"></a><a id="Tc_5zL78aVxR0yEPsL0Z_7pQw_30_12"></a><a id="Tc_27QkiF4hK0qkzzcHRJvSUw_30_14"></a><a id="Tc_CcOOwzEoaEiCgDvzi3az_g_30_18"></a><a id="Tc_yj1w1mG9YkC45xTG8rb9_g_31_0"></a><a id="Tc_eslBevUYK0-gbs30-gMVVg_31_6"></a><a id="Tc_Ee5fU5z1DkK6XfZj--nFoQ_31_8"></a><a id="Tc_60BwqfnYb0CdH24p_ygsXQ_31_10"></a><a id="Tc_0j1AOGzTkkKhiou6h-jbFQ_31_12"></a><a id="Tc_95ZA4PYlGkqS9fvYJojWCA_31_14"></a><a id="Tc_yTTYsp0wlEqUVZkOP_DO0g_31_18"></a><a id="Tc_tYqhIKlcB0mIQYfgKQyqdw_32_0"></a><a id="Tc_l6nDaTKfLEqb5noFnaFWsA_32_2"></a><a id="Tc_sKegqc9Swka1x2ZWjy8dow_32_4"></a><a id="Tc_JhYmMJofbEqBjfliyYMyIg_32_6"></a><a id="Tc_JWjI9wNJvU-V7P5Hyg3grg_32_8"></a><a id="Tc_VrJBbXfGk0-1SQMr3qLazw_32_10"></a><a id="Tc_BaF1bc54wk2QlgLHrOyqIA_32_12"></a><a id="Tc_6cxC7NsX10S08lxWpQzPSQ_32_14"></a><a id="Tc_Ll0DpFbf7kq56pgCbu1rkQ_32_16"></a><a id="Tc_9ii2lTO6602gZgyAbWCFWw_33_0"></a><a id="Tc_uQXvmvQilU2SnxHBIsWzDw_33_2"></a><a id="Tc_iVBAs_iU70mG1B5uC4GzJA_33_4"></a><a id="Tc_Z_SsYVOfykODR3T22tSA1A_33_6"></a><a id="Tc_4Ysx18t7_UK5Bisr0mjhPg_33_8"></a><a id="Tc_b4w_B7_TU0iW1i5fDE4kLQ_33_10"></a><a id="Tc_4VHTTrmvakOMCnUbdIVgHw_33_12"></a><a id="Tc_7E9C5IaeZU66amouQEYO4w_33_18"></a><a id="Tc_C4MP7-MNwEWGXXxdiVk5Kw_34_0"></a><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:4.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Earnings</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:4.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Additional</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Attributable to</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Common</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Treasury</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Paid-in</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Retained</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Comprehensive</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Canadian</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Controlling</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Stock</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Capital</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Earnings</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Income&#160;(loss)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Solar&#160;Inc.</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Interests</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Equity</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:4.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:5.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td colspan="19" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In Thousands of U.S. Dollars, except share data)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Balance at January 1, 2017</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_YRmJLv4FhEq4wT4N0l1Uhw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Tc_brzQUAJ100K7khRLecIEwQ_7_2">57,830,149</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_YRmJLv4FhEq4wT4N0l1Uhw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_ApkCoPryH0i00NpDqEmGFg_7_4">701,283</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_i7z_mT8UR0qmoSFQz9M4GA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_D76-db_c-UWHZGCC4BLNnw_7_10">8,897</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_iZyLvAnXQUOf-cYLFs7KYw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_vUC3ZgwkWky76WzOuOajBA_7_12">284,109</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_uKQgAd85UE26E9YVfrYiaA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_kABhz3frrU-pt47n82qO4g_7_14">91,814</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_W7_iLhUQ3Eez7g2Mo37oHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_sTX6M86pOE-U3O24UYzwjA_7_16">884,681</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_ydj5ZY5Y8Ua9C_AKPuDEKw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_3Mf9r67vQUu4AjNArPyteg_7_18">14,709</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2016_1CpwSxbtS0GMUYvki678nw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_MP_E-uJA10OaYHNnh6H_8A_7_20">899,390</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_tnkCAsg17UatLYmCq4DZOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_DxCTo-ZY7k6L9qN2Qn8Hkg_8_12">99,572</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_6PbLu5TwSUmMSICGFizlfQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_d0jFxeJDxUSTectsm3IVPA_8_16">99,572</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_BaJSwC-jvkyCCPCrMYdgKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_wuoLOpIw4kegh0UhbdQYFQ_8_18">3,411</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_lMR7CyMv8EqRQicRpNerIw_8_20">102,983</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Foreign currency translation adjustment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_FgNhElgP3kS2e7fsR4dPHw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_K1NdCDv1H0q-A3Cm3UPtOA_9_14">39,870</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_6PbLu5TwSUmMSICGFizlfQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_A_R7PRLngUms-jHhWjAUGQ_9_16">39,870</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_BaJSwC-jvkyCCPCrMYdgKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_Se6HX9eYKUaTVRYs8B8E1Q_9_18">565</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_M8M_ojjJc0yQq3PxIDfatA_9_20">39,305</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Acquisition of subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_BaJSwC-jvkyCCPCrMYdgKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination" scale="3" id="Tc_42Kz6VpvZUyjxu-cxc-IFw_10_18">9,994</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination" scale="3" id="Tc_Vgmhiqfl_UGp2xbvuHj1qw_10_20">9,994</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Share-based compensation</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_3bshPo-TZ0ewiTeq3vJttg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_RWPuIjQZ70SHkUMRTt6zMQ_11_10">9,314</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_6PbLu5TwSUmMSICGFizlfQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_oseDYUwjD0q4iGxHiIx4jA_11_16">9,314</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_byzh51_v3EiLSYguXZqRiA_11_20">9,314</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Exercise of share options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4KI1NSica0SVQrvTiFXc5A" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_Klfq7xUlx0yxiPJbhCYfPg_12_2">666,536</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4KI1NSica0SVQrvTiFXc5A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_qoCPggwicUuyYkBA4HNpTA_12_4">879</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_6PbLu5TwSUmMSICGFizlfQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_O3IiUDbkk0ai4w_fdU8gBw_12_16">879</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_6n_NFHxA-UKuxRmdgH5OxA_12_20">879</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Fair value change on derivatives</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_FgNhElgP3kS2e7fsR4dPHw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" sign="-" scale="3" id="Tc_TvYmquP2v0CW0IMoDj4kPA_13_14">2,090</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_6PbLu5TwSUmMSICGFizlfQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" sign="-" scale="3" id="Tc_7ZhlbXronUCEPg-4FoyKew_13_16">2,090</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" sign="-" scale="3" id="Tc_fBo-8i1yh0GL8uLfPsB9aw_13_20">2,090</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Balance at December&#160;31, 2017</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_MhItSDewjEKzRG13QOXYxg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Tc_vKF3XvtFpkisHcfJ8SmYGA_14_2">58,496,685</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_MhItSDewjEKzRG13QOXYxg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_hGprZFGpk0GrHydeCCdOBw_14_4">702,162</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_zE2JbIRn5kypFq2dATQL0g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_1zJtfoIcqUGkKgGHgbmKyg_14_10">417</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_MTtBiDh0OU6qc7uDXnfYtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_PwSbUcZUiUumSnZlQZ6dvg_14_12">383,681</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_mkHaTeKOW0SdDBSASSDWsg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_-gXj6A6NFEyeQcLecndrxA_14_14">54,034</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_UuC4L8PWdE-xhUjS_fwCaQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_EDb6tNWHb0qAjWf12-DiFw_14_16">1,032,226</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_rXsoFsYiOEaqN_AHcIxLpQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_kofO8yt6KkC10D2U8su4FA_14_18">27,549</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2017_kjGpnzkm3E6qIMnIr7nQSg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_Mfjoo7JcLEaAx4nXNzFWKw_14_20">1,059,775</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Net income</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_wPuaHKDK3EuppnS5RxVAsw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_dIKcHhF_M0qsu9h4uExVMQ_15_12">237,070</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_pT5qca5y5kSh4Qhx1-e_Ug" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_RjkLdDLaMUCmksMvTEiEtQ_15_16">237,070</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_f-LLvZmLtUSBjT1PIB5Bvw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_CGFqNnYKdUmgSZ4xzUWtyQ_15_18">5,361</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_U7S8T2vV4kOnebyK8W6yNw_15_20">242,431</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cMS9441ftU2M1VNcmrYt5A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_grS3ZugUB0CCAPWdNgmuWQ_16_14">53,457</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_pT5qca5y5kSh4Qhx1-e_Ug" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_4wyFxiX09kSY6ES4LSlFHA_16_16">53,457</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_f-LLvZmLtUSBjT1PIB5Bvw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_bZM41C5F0kGIcRfCoJ5dLg_16_18">2,880</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_ZVcfkkFk1kygO8q4boupXg_16_20">50,577</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Cumulative-effect adjustment for the adoption of ASU 2014-09</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201409Member_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_qBSWTIZPEE6iQm_IqcezHg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CumulativeEffectOnRetainedEarningsTax1" sign="-" scale="3" id="Tc_ApS5XDvKF0-sThi-q7LrGw_17_12">1,265</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201409Member_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_yeZsr6DhAUe-6DhVF4SYxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CumulativeEffectOnRetainedEarningsTax1" sign="-" scale="3" id="Tc_cGGeLVlDbUiLfz2RLalNpw_17_16">1,265</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201409Member_xsDZKzb8CEqyTHafiYrNhA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CumulativeEffectOnRetainedEarningsTax1" sign="-" scale="3" id="Tc_Ik-e0M3os0C6g6LBErynOg_17_20">1,265</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Acquisition of subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_f-LLvZmLtUSBjT1PIB5Bvw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination" scale="3" id="Tc_h58maHA1n0y7VmHsoSIMjw_18_18">7,703</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination" scale="3" id="Tc_EW7uRFc3k0GjNDhsN8aINQ_18_20">7,703</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Acquisition non-controlling interest&#8217;s ownership</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_f-LLvZmLtUSBjT1PIB5Bvw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromRedemptions" scale="3" id="Tc_ZGrtf4lE3k6qJt-J5mc6QA_19_18">6,591</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromRedemptions" scale="3" id="Tc_wV57uH_S3EeKmdlhutlHbg_19_20">6,591</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Transfer of equity interest in subsidiaries to non-controlling shareholders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_f-LLvZmLtUSBjT1PIB5Bvw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" scale="3" id="Tc_s_HtOz4xzEih_60NYELEMg_20_18">10,470</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" scale="3" id="Tc_Fof3kFnQVk6FkOdYp7bwDQ_20_20">10,470</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Share-based compensation</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_tGbnrmV98k65EuUMZj90jw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_noN8UjudMUKdO5NlfXcV2g_21_10">10,258</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_pT5qca5y5kSh4Qhx1-e_Ug" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_ok98y9W5EkmelfcxlQDZ2A_21_16">10,258</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_EwpsPkTU3UKQBouTf4V8YQ_21_20">10,258</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Exercise of share options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_nFjjiBi4lkSsIzXqFbge1g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_9e1WqGzQ_0SgMYDveU69Tg_22_2">683,939</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_nFjjiBi4lkSsIzXqFbge1g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_xoozHFRZXk2lXNwWWbiX6g_22_4">769</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_pT5qca5y5kSh4Qhx1-e_Ug" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_4ewkGAMS1USF4z0MK7VeRA_22_16">769</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_ojBR_l-ipU6xj-OV0JFGRQ_22_20">769</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">De-recognition of derivatives</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cMS9441ftU2M1VNcmrYt5A" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" sign="-" scale="3" id="Tc_VJRZU2URa0OoQ19tiza6VQ_23_14">8,752</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_pT5qca5y5kSh4Qhx1-e_Ug" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" sign="-" scale="3" id="Tc_mKnlT32WWEWRNtA5EmCAfg_23_16">8,752</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" sign="-" scale="3" id="Tc_AWXRRCq-6kisw1h_5gyOOQ_23_20">8,752</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Fair value change on derivatives</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cMS9441ftU2M1VNcmrYt5A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="Tc_c89Im06-rUewMnMI2T4z1A_24_14">6,094</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_pT5qca5y5kSh4Qhx1-e_Ug" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="Tc_5kI3HJDCP0eDrAnCSGnk5w_24_16">6,094</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="Tc_Iu5cC9BWW0GQKtipC85LFA_24_20">6,094</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Balance at December&#160;31, 2018</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_z65UHMJPyk2H29t9_g-73Q" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Tc_s1IgaGWbW0eeuKH0D3KCEg_25_2">59,180,624</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_z65UHMJPyk2H29t9_g-73Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_aJgZ9iNf6k2CnFlHCaWbWQ_25_4">702,931</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_F_rSpZnS2kWhxbLM1kMzag" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_Kg9-BS1J6kiWeylo8fgK5g_25_10">10,675</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_lXIsF3A4akKkBYIQN-id3A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_E6psELDCiUWu9c-MyE1oWA_25_12">622,016</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_qxbKlJGiF0OYebjptlrNIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_15khyg5nl02Pmm-WWNI2Sg_25_14">110,149</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_-CAIwk2Tok-B_IQAE1OWsw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_wy3rrG5C6kWkEgH2Gkc7MQ_25_16">1,225,473</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_fCxkmUwsh0K-H0bNWqPkug" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_ED-kNCdGZUO181QUpx-LeQ_25_18">47,372</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_44W9o3SWzUmyF22h-_1few_25_20">1,272,845</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Net income (loss)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_BvESqq7YKECcYeyhSu2GnA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_CbQ2BceaAEWpdCSD2Ne6cA_26_12">171,585</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_WDuPwu4i6E6JTCsTHDHFZA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_j5DiQFMPTUueUP5MvjIPFQ_26_16">171,585</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_uocq4WAIhEenWpsW1KQ3CA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" sign="-" scale="3" id="Tc_6j7uxYIBVUyH28vf5uAkYQ_26_18">5,030</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_nmkXFK6oD0K6U1Nz1__hPw_26_20">166,555</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Foreign currency translation adjustment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_2OIfeqpSGESfsPSlI6wM4A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_G6OMHt_bVEmLbgh7EkC2bQ_27_14">6,389</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_WDuPwu4i6E6JTCsTHDHFZA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_nG29BubvMUy-qbPvd8q99g_27_16">6,389</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_uocq4WAIhEenWpsW1KQ3CA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_gIF__WJU4EKlHZYUU3OQeQ_27_18">6,070</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_l6E-YrGY3U6nAFV1ebvDSg_27_20">319</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Acquisition non-controlling interest&#8217;s ownership</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_InOwCE-pbkqqFZ5f9Hzwsw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromRedemptions" scale="3" id="Tc_lkO3iigEkEmlXHNewtxCZA_28_10">4,178</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_WDuPwu4i6E6JTCsTHDHFZA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromRedemptions" scale="3" id="Tc_yXNDSreYYkqJ-wy9lX8zVQ_28_16">4,178</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_uocq4WAIhEenWpsW1KQ3CA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromRedemptions" scale="3" id="Tc_IL2JPxmxtEyQxQr_gFvNMw_28_18">9,998</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromRedemptions" scale="3" id="Tc_D31U3jfbmkKJ1h7rq80bKw_28_20">14,176</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Repurchase of treasury stock<sup style="font-size:4.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_P3MU0eWHLE61lxZGDcoFOw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockSharesAcquired" sign="-" scale="0" id="Tc_4zYEq-IXkUimPULp_XE5Qg_29_2">609,516</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Kf8H73bCqEylJ-QH_roF8g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockSharesAcquired" scale="0" id="Tc_DR98JPKHNEWyL4tYKbj6dA_29_6">609,516</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Kf8H73bCqEylJ-QH_roF8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" id="Tc_TZhda804ekCPJlZ2jt1DAw_29_8">11,845</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_WDuPwu4i6E6JTCsTHDHFZA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" id="Tc_g6npWowQsUCGKV9a7ieZ4A_29_16">11,845</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" id="Tc_E3IlqwUTTkCSZBizmlTwEw_29_20">11,845</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Share-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_InOwCE-pbkqqFZ5f9Hzwsw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_Nf5ubK8b5keA1SIjzncxCQ_30_10">10,682</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_WDuPwu4i6E6JTCsTHDHFZA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_bBXxIFYdvE-4hZdpdujDuQ_30_16">10,682</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_iPN633H0-E-v4IZJgZ456g_30_20">10,682</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Exercise of share options</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_P3MU0eWHLE61lxZGDcoFOw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_MeeZ-85LTEKuePW9pXegGw_31_2">800,576</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_P3MU0eWHLE61lxZGDcoFOw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_xFVMN29gE0-lhn6DAZFz-A_31_4">875</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_WDuPwu4i6E6JTCsTHDHFZA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_b8vZO7O1q06uxL8qxU6jUw_31_16">875</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_Jw4J4LZAdUaOMyUesrB0jg_31_20">875</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Proceeds from non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_uocq4WAIhEenWpsW1KQ3CA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" scale="3" id="Tc_jIEMXXucC0Ofr8G2Ok-9Mw_32_18">5,650</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" scale="3" id="Tc_LpgplHqVuU2BwAvJxfqnjg_32_20">5,650</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Fair value change on derivatives</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:5.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_2OIfeqpSGESfsPSlI6wM4A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" sign="-" scale="3" id="Tc_wAhMwldiKU-6HEBHLUVRsg_33_14">5,847</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_WDuPwu4i6E6JTCsTHDHFZA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" sign="-" scale="3" id="Tc_tACjrbskKEif93dyfbu4hg_33_16">5,847</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" sign="-" scale="3" id="Tc_oCklvAFWYEOvfS7hPgVntA_33_20">5,847</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:25.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Balance at December&#160;31, 2019</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_x5wJ9gYLeUeDnvVbqJ-eEw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Tc_hdqcjHEFEkeyHMdG6YJUNg_34_2">59,371,684</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_x5wJ9gYLeUeDnvVbqJ-eEw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_l1ovoQcNd0q6adRfwy8jrA_34_4">703,806</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_JQIQI4zpo0i_SPQaqY6QAw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Tc_CkgLZLRm0kmkE--d9bpT-A_34_6">609,516</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.81%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_JQIQI4zpo0i_SPQaqY6QAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_tYMbck9RVE-VCffs6ekDDw_34_8">11,845</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_lckOyUUN0EK1kGCXzdJeGg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_77rwPB_wCUy-oxgFTXgDZg_34_10">17,179</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_vmjBVpeQpUu2cciDTOBbrA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_chkeIhsnD0WCw3I7X1-4kA_34_12">793,601</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.76%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_qH8zh0_p5UWYdTBQMf7jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_It_7IXhtL0qB9FozDY1Wpw_34_14">109,607</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_zZioCX8geky17tQwyDEmiQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_mreGoS46jkGp9EK4hHX1uw_34_16">1,393,134</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_QaVTYJR-Sk-CJWrZwsHXTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_OGZ-2bZ_O0eAdnHElz8KCQ_34_18">31,924</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_DJfirnUuZk6TukKvVAwAww_34_20">1,425,058</ix:nonFraction></p></td></tr></table><div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 10pt 0pt;">(1)&#160;&#160;&#160;Following the share repurchase plan authorized by the Board Directors on December 9, 2019, the Company repurchased <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_12_1_2019_To_12_31_2019_6Sb61chd0k6u_eevRjCz9g" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" id="Narr_GvYWZfBwtUWYgGXE9imMag">609,516</ix:nonFraction> outstanding shares with total costs of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_12_1_2019_To_12_31_2019_6Sb61chd0k6u_eevRjCz9g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="Narr_j9C3RP-DUEi5wvoChQi_eg">11,845</ix:nonFraction> in December 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">See notes to consolidated financial statements.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_eff08f5b_9e6e_4598_9b9e_6aad60f0f5eb"></a></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-7</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><a id="CONSOLIDATEDSTATEMENTSOFCASHFLOWS_646277"></a><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">CONSOLIDATED STATEMENTS OF CASH FLOWS</b></p><a id="_22e4cf54_82de_45eb_bfbc_517c4129affd"></a><a id="Tc_6pAuDtFqdU-pVoW6p44OaA_1_2"></a><a id="Tc_zhYQf8o1KEKo3CFOxUlS4Q_2_2"></a><a id="Tc_atnQoFmKXEuN1DOefd5DRg_2_4"></a><a id="Tc_um93QljNU06W93-pOjI34w_2_6"></a><a id="Tc_PogBcYoaPUSUhYUtfLc2aw_3_2"></a><a id="Tc_EO4g5_KalEuGkjEyDpzNKg_4_0"></a><a id="Tc_ZFzcW5GqCEycUpqavzsegQ_5_0"></a><a id="Tc_gkwn9WhCqk6ml-akpisBDw_6_0"></a><a id="Tc_iDB1GRkfZkWdL1Tyi2DQfw_7_0"></a><a id="Tc_7fkyanB6l0mPkV6MmwnPlw_8_0"></a><a id="Tc_H6nRvXwkGkmj2GHx4ygLeA_9_0"></a><a id="Tc_1ZGZQTz8v0WA95SC6coZGA_10_0"></a><a id="Tc_O-8D9uY10USqJNrqaLQodw_10_2"></a><a id="Tc_IRK3UdyUsEiPmkxEu6rHjg_11_0"></a><a id="Tc_dLkpuSdneEOYu5Y4hcW5Zw_12_0"></a><a id="Tc_CQ4Gwf0fMUuSr7LWawPQqQ_12_2"></a><a id="Tc_2hcr7kgDWEu_YKTyQYnLVQ_13_0"></a><a id="Tc_64hyQ01T10uK95XzOqUEcg_13_6"></a><a id="Tc_sOldWTYD0025agluF8VYSA_14_0"></a><a id="Tc_dKjlnl6Sz0mL343SJl56oA_15_0"></a><a id="Tc_GnfKScllCEikP_Elvh1wsQ_16_0"></a><a id="Tc_8YdtOQX3Yk6J2i1CdmELyA_17_0"></a><a id="Tc_04mCCQdXQkKqohnHlwa5Og_17_2"></a><a id="Tc_11Hp4S8M4UOGwiq15-Ckqg_17_4"></a><a id="Tc_r0iyoyod3UGWIFiy13cGmw_18_0"></a><a id="Tc_bI4EadbGTU-jkCs7-ok4QA_19_0"></a><a id="Tc__0BKIQviUEW1cc7xpc3YDg_20_0"></a><a id="Tc_1N8Cp4KezU2y6PGPGQM4Jg_21_0"></a><a id="Tc_d6YfkZscb0evC4y02SPCyQ_22_0"></a><a id="Tc_hRVVE4fS8U-w-aCm1pcpfA_23_0"></a><a id="Tc_IVWTNvnBd0SEzPUKu_M2qg_24_0"></a><a id="Tc_Q8iF7LOX-U-Wv0lBMo5Scw_25_0"></a><a id="Tc_jUgKHSbh40aBTbBiFcywZQ_26_0"></a><a id="Tc_HnvGYEii50iwmIQIbt23iQ_27_0"></a><a id="Tc_pIHjjh0X5kG9lUb6h-TqSw_28_0"></a><a id="Tc_EHJvrIiEdEyh3IWMj0GqYg_29_0"></a><a id="Tc_4O-z0TBpw020ciD9dfXTEQ_30_0"></a><a id="Tc_zTHYOpg9d0W5texMOT7yUw_31_0"></a><a id="Tc_51su7GHCx06Apz-zICXygw_32_0"></a><a id="Tc_TpKWmSirwUyTZbB8tMuC8w_33_0"></a><a id="Tc_BH2OF7YHYEyashEjleOIIg_34_0"></a><a id="Tc_QJ-2np-RgEWSPFaGEFUW7g_35_0"></a><a id="Tc_FS5EAAKkiEKes8qT_-kJVA_36_0"></a><a id="Tc_jKtZAFj-3EOutkmQIvkFLQ_36_2"></a><a id="Tc_wafE2QfVD0SqCeMnY7JMOQ_36_4"></a><a id="Tc_S80snmkhAUWpU4baSlE_tw_37_0"></a><a id="Tc_SzOpBMD-GE-jHfspRze-WQ_38_0"></a><a id="Tc_05kqd-ilpky0EfZaIb2MGQ_39_0"></a><a id="Tc_ftazuzquD0a9xPlsZMvyzA_40_0"></a><a id="Tc_46SWoJ0TAkCXg8cVRcA-nA_41_0"></a><a id="Tc_AdApS9RWa0ebl9pLMCuN7A_42_0"></a><a id="Tc_H1i4GFAXt0-SpnVWp8RyeQ_43_0"></a><a id="Tc_f8zriQ9IVUSpfcZyNSJaDQ_44_0"></a><a id="Tc_4E38PGQbukmBN2SxKT_rDQ_44_2"></a><a id="Tc_V8eu9FzJ6E-nMHaI9ldMfA_44_4"></a><a id="Tc_-Fee4mIfIU-HnEjxqevAZQ_45_0"></a><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Operating activities:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_D1tEpRlGlU-Sn9H9MzGMdg_5_2">102,983</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_WelYYR7AZUOR8x3yUAt6zg_5_4">242,431</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_cRQ-dZmD9Uuqy0TaXRtR-w_5_6">166,555</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Adjustments to reconcile net income to net cash provided by operating activities:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_z5xX1G12KkCIIW7HiHgY0Q_7_2">99,273</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_4eS9mdyax0eAxPDBGmdx8w_7_4">129,256</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_8gv_ZVcS9EqqsgmnPFEycw_7_6">159,723</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Loss on disposal of property, plant and equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" sign="-" scale="3" id="Tc_wH0MWAcrzk60PnGGlHnAfA_8_2">13,976</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" sign="-" scale="3" id="Tc_ZO8HFQp6Rk2UVlpOpPK7kw_8_4">2,565</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" sign="-" scale="3" id="Tc_AqFaVQnO6EebyGgH2uBetw_8_6">1,227</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Gain on disposal of solar power systems</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" scale="3" id="Tc_JYtM_GCUH0a66kMW_PyRhA_9_2">27,803</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" scale="3" id="Tc_GkefzrdSzkOeV4NCICquoQ_9_4">36,098</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" scale="3" id="Tc_ELMHCy6Pgkuc43GK4vM3JQ_9_6">1,666</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Gain on disposal of investment in affiliates</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" scale="3" id="Tc_8e5RHhm_REGAZstdbbV4Dw_10_4">47,102</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" scale="3" id="Tc_0wXMJ_V6a0yiHgOf9jYkAA_10_6">1,928</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Impairment loss of property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Tc_p__1GrxtsEaRIrWJ4xDwmg_11_2">11,626</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Tc_shCpBeNtg0OB2IHe7dxu7w_11_4">30,968</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Tc_MRcU_0eTDEK72jbHAC-X6w_11_6">21,866</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Impairment loss of project assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Tc_avGS9BYniEmMeT2Y2cH-3Q_12_4">9,016</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Tc_9QO0cczt_E24_sQonQy_sA_12_6">20,194</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Impairment loss of investment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ImpairmentOfInvestments" scale="3" id="Tc_nbOBeIyC3Uah11SE43iujQ_13_2">3,686</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ImpairmentOfInvestments" scale="3" id="Tc_mrXsIcRtok2Cz4nY7cox4Q_13_4">5,738</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Loss on change in fair value of derivatives, net</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_E2uSh4TlEUSeteoxtd7jVg_14_2">272</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_vZl7kKDc1Eq6Y1uHLFsahQ_14_4">19,230</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_wBtR7auZJkyzSF-pJjmbtQ_14_6">22,218</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Equity in earnings of unconsolidated investees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Tc_y9n5xjiKxE-J1R68o6Jixg_15_2">9,411</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Tc_QFYbsTYLvUO-gIe0cYmPkw_15_4">5,908</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Tc_RrfRgep_G0SQxbniyaw7TA_15_6">28,948</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Allowance for doubtful accounts</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="Tc_dlljOtj-J0-EqeBeaLVQ6g_16_2">7,265</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="Tc_WwarjZCSiEWyKmq1H-TBQw_16_4">2,812</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="Tc_JCAFV0pGLUWBTYYJR_mogw_16_6">1,250</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Non-cash operating lease expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:NonCashOperatingLeaseExpenses" scale="3" id="Tc_yozjHbYKBkK99RWpUJcxxw_17_6">14,318</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Write-down of inventories</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWriteDown" scale="3" id="Tc_BExZiAxJS0KFbxGEpF5hjA_18_2">17,820</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWriteDown" scale="3" id="Tc_BUnuCqoaNk-D72FikK-pMQ_18_4">14,646</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWriteDown" scale="3" id="Tc_Q9lCuiFpPk-ZMjwmmo1o8g_18_6">19,447</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Share-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_b0pFb3c9Jk6muJTxuLdmIQ_19_2">9,314</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_AoGIgjDZFUSR6t5aVPXYDA_19_4">10,258</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_KUDL7Gnxr0-RwirYwjCAFw_19_6">10,682</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Unrealized gain (loss) from sales to affiliates</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:UnrealizedGainLossFromSalesToInvestees" sign="-" scale="3" id="Tc_uFTpO6AwG0mNGtrwmubDOQ_20_2">13,065</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:UnrealizedGainLossFromSalesToInvestees" scale="3" id="Tc_XLzHUel8-0WQGi74eWdkmg_20_4">13,573</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:UnrealizedGainLossFromSalesToInvestees" sign="-" scale="3" id="Tc_AsS5YxKNfketr38A7L55ug_20_6">6,194</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Changes in operating assets and liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Accounts receivable trade</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" sign="-" scale="3" id="Tc_WPprDbFnxEW8cc66yQUIyg_22_2">46,337</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="Tc_RCXSCxpwdUaifY2H0H1bHA_22_4">179,607</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" sign="-" scale="3" id="Tc_TkP4bmHGpEGJZyR2qxd-lQ_22_6">51,670</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Accounts receivable, unbilled</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" sign="-" scale="3" id="Tc_FqAkN_sIdEOBXteiLPn5dg_23_2">2,345</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" sign="-" scale="3" id="Tc_BawDa6J0bk6pGaF1haz1IQ_23_4">1,158</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" scale="3" id="Tc_AfoOxm-ArkGkHXZA3woThw_23_6">15,268</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Amounts due from related parties</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent" scale="3" id="Tc_BqBtMn0L5k-Ja4imMM9SRg_24_2">10,089</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent" sign="-" scale="3" id="Tc_c26kZp9C4EKGKHwuq3dGiQ_24_4">9,237</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent" scale="3" id="Tc_URKzU8fa6UW6hXNURDuqiQ_24_6">17,347</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Inventories</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInInventories" scale="3" id="Tc_HFxyI8Hv-ky_saZeJtqJ0g_25_2">49,024</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInInventories" sign="-" scale="3" id="Tc_vOYnbjY1P0yK2gTzTPnqTg_25_4">55,408</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInInventories" scale="3" id="Tc_0KmL9LtUaUqDKmmAUm6TUA_25_6">312,781</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Value added tax recoverable</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInValueAddedTaxReceivable" scale="3" id="Tc_bNSAOzEJNEiMVlXrr5Ljjg_26_2">38,190</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInValueAddedTaxReceivable" scale="3" id="Tc_rdKhAWxxj06EAmjfesRQow_26_4">9,206</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInValueAddedTaxReceivable" scale="3" id="Tc_Eo57wXEzGUO623klKKOE6w_26_6">849</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Advances to suppliers</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInAdvanceToSuppliers" scale="3" id="Tc_JWwrv_OZRECRWdU4LIIaiQ_27_2">15,990</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInAdvanceToSuppliers" sign="-" scale="3" id="Tc_fZfI6daKHkWkfbh4SxJONQ_27_4">29,001</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInAdvanceToSuppliers" scale="3" id="Tc_tBR9VC2FjEqtc4RMki-CbQ_27_6">27,066</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Project assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInProjectAssets" scale="3" id="Tc__ru2tytD5EmONV0ZfxtVfA_28_2">128,982</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInProjectAssets" scale="3" id="Tc_yBuQ2KB3VE6AwBLRwI15RA_28_4">30,501</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInProjectAssets" sign="-" scale="3" id="Tc_PMmVirlZFEiOKu9VBdW0DA_28_6">28,527</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="Tc_nDZJxeah5kWrYXbrt_vz1g_29_2">49,813</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="Tc_bbNAfR3Zu06PrXpiIZ0mCA_29_4">2,208</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" sign="-" scale="3" id="Tc_qchk-mvG7E61iJfh1dMd_w_29_6">33,283</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Other non-current assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" scale="3" id="Tc_libW7wqQHkur40F75-wgAQ_30_2">23,795</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" sign="-" scale="3" id="Tc_VE4pw_Nl_UKrF4Zqs6oORA_30_4">9,387</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" scale="3" id="Tc_-mlVkCgde0ymyDCBF6b4mA_30_6">24,037</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayableTrade" sign="-" scale="3" id="Tc_dsNcNw5wIkiKBnyzWG03-w_31_2">27,758</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayableTrade" scale="3" id="Tc_TCnc5Xof7Uu2d4PFcRM4Ng_31_4">47,756</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayableTrade" scale="3" id="Tc__bhjajd_iUSjVKFuAybWpg_31_6">209,175</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Short-term notes payable</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInNotesPayableCurrent" scale="3" id="Tc_f1HXrfoLSki9lD7o0M-Lgg_32_2">243,685</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInNotesPayableCurrent" sign="-" scale="3" id="Tc_wEaYMGNts0qwTOBi4ngD-w_32_4">173,148</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInNotesPayableCurrent" scale="3" id="Tc_SQpMJ-b-fUCdFbrKnSKcqA_32_6">185,827</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Amounts due to related parties</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent" scale="3" id="Tc_ZUIcMU2-UESXItIW0miC8w_33_2">33,908</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent" scale="3" id="Tc_2v6uZMSppUWTGcMBk4lD7Q_33_4">10,467</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent" sign="-" scale="3" id="Tc_c7LUVzoRbEikyAehxeK75g_33_6">5,798</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Other payables</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherAccountsPayable" sign="-" scale="3" id="Tc_K7FdL_Zf9kmsQMHToNPd7Q_34_2">5,889</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherAccountsPayable" scale="3" id="Tc_ZEO3SkV9vEOi--vvuyMKQg_34_4">39,791</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherAccountsPayable" scale="3" id="Tc_03XOFoOgzkyzD6015RKLXw_34_6">42,810</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Advances from customers</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" sign="-" scale="3" id="Tc_c0tSKiMtwUS5KQoYeVT0pQ_35_2">44,985</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" sign="-" scale="3" id="Tc_3vVQBohtjEK9-DS0ymzfQw_35_4">11,225</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" id="Tc_E-ixZAVFWUuujnBp8KGw1g_35_6">96,115</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Operating lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInOperatingLeaseLiabilities" sign="-" scale="3" id="Tc_-1Hk3XWDQE2GeXLtpzV3jQ_36_6">12,566</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Other liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" sign="-" scale="3" id="Tc_3rJVES3LQEianV-KESZvww_37_2">18,774</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" sign="-" scale="3" id="Tc_WiXNg8SIrE2tESLV_juJqA_37_4">29,691</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" sign="-" scale="3" id="Tc_k0j1PDi7DkWioR69yrK_Wg_37_6">10,851</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Accrued warranty costs</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInProductWarrantyAccrual" sign="-" scale="3" id="Tc_kQQ2G4DCU06s2AhZVu3tJg_38_2">6,726</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInProductWarrantyAccrual" sign="-" scale="3" id="Tc_P-ccf9zvOEGxGFWX98IgtQ_38_4">3,563</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInProductWarrantyAccrual" scale="3" id="Tc_e50V5X2hFEyeXLMIm2v5-Q_38_6">4,624</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Prepaid land use rights</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInPrepaidLandUseRight" scale="3" id="Tc_r-Y7vatMik6-o8W7zqamaQ_39_2">30,087</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInPrepaidLandUseRight" sign="-" scale="3" id="Tc_JoIikGqSPEWpLaXVtVK2gw_39_4">6,557</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInPrepaidLandUseRight" sign="-" scale="3" id="Tc_qU4D1v1VNECMcLMMrDKF3A_39_6">2,622</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Goodwill</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInGoodwill" scale="3" id="Tc_GShe1fLLEUWVmeEguxrnCg_40_2">1,369</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInGoodwill" scale="3" id="Tc_31706Yl6tUK89X53zvXrRg_40_4">5,243</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInGoodwill" scale="3" id="Tc_sk7-IY-H00uMf5jMuJkmPw_40_6">1,005</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Liability for uncertain tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" scale="3" id="Tc_JjzAHn02i0iKDoFQ7EC8ig_41_2">833</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" scale="3" id="Tc_bvV5xsw3LEWuiqCUTqPOJA_41_4">10,863</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" sign="-" scale="3" id="Tc_nASZU88vIkOr7v46ayAsNw_41_6">4,775</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Deferred taxes</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" sign="-" scale="3" id="Tc_-MR1Gccg0E-7TDzsu6lLeA_42_2">84,939</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" sign="-" scale="3" id="Tc_usuUDD0zvECsdmYL_HjEcQ_42_4">37,591</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" scale="3" id="Tc_ILZhlTHEVki93pejVWKCaQ_42_6">12,455</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Net settlement of derivatives</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" scale="3" id="Tc_zpGNcu6Qq0-CMY8dxcnJhQ_43_2">1,460</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" sign="-" scale="3" id="Tc_FCjBKuUQk06r9cd0HDa4-g_43_4">28,731</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" scale="3" id="Tc_h9T46d-CaU2nF6rpjgIINg_43_6">27,012</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Loss contingency accruals</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingActivitiesCashFlowStatement" scale="3" id="Tc_NJNx6mUwzkCLRcHU98AJ4A_44_6">4,126</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Net cash provided by operating activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="Tc_OMsgZOG4-kizz53hcCFuYA_45_2">203,920</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="Tc_QlsNmiFk8EK1rpJhl9-jAg_45_4">216,280</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="Tc_jUSKc0DLDU2qjUBigb0ykA_45_6">600,111</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">See notes to consolidated financial statements.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-8</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">CONSOLIDATED STATEMENTS OF CASH FLOWS - (Continued)</b></p><a id="_e8f2206a_c107_43e3_bae4_4a0833989112"></a><a id="Tc_GO1d5GLg30igmgOZI3bp3Q_1_2"></a><a id="Tc_Ez73WrBC90y33QeQBwlOzA_2_2"></a><a id="Tc_NXPOjir-c0Oy4hJKgHw_Mg_2_4"></a><a id="Tc_yoHAtWCp-UqhPlFKMZkjSQ_2_6"></a><a id="Tc_TQkodfUAYE2F2_yMOP4ojg_3_2"></a><a id="Tc__qGGLlNx6UGhSeb_z9n_eg_4_0"></a><a id="Tc__t6_3vTNgkadhjqqj7Y9Pg_5_0"></a><a id="Tc_6HBMbZCHgU-vN-aXATqR0A_6_0"></a><a id="Tc_kJjeO9lcY0-6HNaeyUbewQ_7_0"></a><a id="Tc_Pi4v5mzrAkK31kKuFl7Whw_7_2"></a><a id="Tc_r94Nw7__Ck2USEFJL-pf9A_8_0"></a><a id="Tc_lNFg1VZL4kqYipAM6thc2w_9_0"></a><a id="Tc_ssWMaM9IMUC2fqm_U3666A_9_4"></a><a id="Tc_85Vl-J2jK0WLlA_R89v5aQ_9_6"></a><a id="Tc_tW2Lq6Uqx0i1DqP9SPvw5g_10_0"></a><a id="Tc_1XjXlHFVP0CdOBTrbqKUMw_11_0"></a><a id="Tc_W3YWHq6Ha066MTiwCfg4MQ_11_4"></a><a id="Tc_VWE0KfGdVkW-2w6zafQfvQ_11_6"></a><a id="Tc_9Hl1ss0HCE2BKOqokTUMnA_12_0"></a><a id="Tc_ZXq_xTn3002E9GUScyI-fA_12_4"></a><a id="Tc_x_wmcRs-OEaZYgaas77I2w_12_6"></a><a id="Tc_D3icmQ6jkkyyjzfv3vzwsA_13_0"></a><a id="Tc_NZrS4W-GukuRKRF5Q1Aq0Q_14_0"></a><a id="Tc_ZHbz8t70SEOYQt6PBIKkxQ_15_0"></a><a id="Tc_7wQPe28mu0OzuQ0JVDmmPw_16_0"></a><a id="Tc_xjmr1bfmFECEQSw6LLCy8g_17_0"></a><a id="Tc_N5LIK-Qg40mrnr_hGUSzkg_18_0"></a><a id="Tc_Re20hcal4Uao8JeEoHq-VQ_18_2"></a><a id="Tc_XdGGTZ7wtEONVU3CBQ59AA_19_0"></a><a id="Tc_pNWmsJBuAU628OSvNGTUXQ_19_2"></a><a id="Tc_3IqoRmgX2Uy5JilVIVdwFQ_20_0"></a><a id="Tc_BQ7XjqAbM0W_IKyPwVTvYA_21_0"></a><a id="Tc_zw9T6ANyH0-qYVtU7iQ11A_22_0"></a><a id="Tc_aQz37gGb0UeST2OzhRVGpQ_23_0"></a><a id="Tc_5LrZpAzyNUKoVoG6P7JvFw_24_0"></a><a id="Tc_5cSKytqaH0azQ-CZ-edXiA_24_4"></a><a id="Tc_RXcCglJW9kyg0QrSDtdbWQ_24_6"></a><a id="Tc_TW1wHbcmzEqDEPu1do_B5w_25_0"></a><a id="Tc_IqxXv4_iOkeNeBtLuI3itA_25_2"></a><a id="Tc_2iHL5PYo0EWY5jtiY3qFjg_25_4"></a><a id="Tc_3AIrVngaiEeZJ_R-vdlYOA_26_0"></a><a id="Tc_7emMkJkJfEiUO5TG_cRtsg_27_0"></a><a id="Tc_rA9UerDw9EqFJpns8AHdMg_27_2"></a><a id="Tc_PamdzfbfJk--eIwogB9R4g_27_4"></a><a id="Tc_rnKAE7KSQUOdlvzs-IKpOw_28_0"></a><a id="Tc_jsMttuayfkGjNcEiXl14ig_29_0"></a><a id="Tc_iWxl9GQrzUiQ40Tldo8hoQ_30_0"></a><a id="Tc_fGAiBS5uck-cxw_ylaX7Vw_31_0"></a><a id="Tc_IuVV7XGk6E672dnGt3Wjdw_32_0"></a><a id="Tc_FQ55W1AgikKVDDQMCfBM4g_32_6"></a><a id="Tc_HLSJdV7xgk-cJo0c9EK_jg_33_0"></a><a id="Tc__30hrFH_d0CPYGfhtGiUSg_34_0"></a><a id="Tc_9M6GtjG5WkmOqQlWSUWvYg_35_0"></a><a id="Tc_X9cvtCD60Ui_NrzqbXqsZA_36_0"></a><a id="Tc_XmzOkIcnVEqc8siQ8Kw6Sg_37_0"></a><a id="Tc_DxUP9R_iVEWYgqIGdgqKNw_38_0"></a><a id="Tc_efG-1hVplk6NFv9XWIBAEg_38_4"></a><a id="Tc_o8Kb_nkh70-joJuhkwSi4A_38_6"></a><a id="Tc_dvUkW9klhUeb44Zy144Waw_39_0"></a><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:30.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:30.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Investing activities:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Investments in affiliates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireEquityMethodInvestments" scale="3" id="Tc_htstnckCcE26VzIB57GvAw_5_2">92,925</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireEquityMethodInvestments" scale="3" id="Tc_mjSpxh-Q7EunaWFVEk7H5Q_5_4">11,036</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireEquityMethodInvestments" scale="3" id="Tc_gQ7n2gJy_UayBP1dN50lDA_5_6">7,684</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Return of investment from affiliates</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" scale="3" id="Tc_rBwByD0DAUa-NQ-6latrxA_6_2">4,233</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" scale="3" id="Tc_RascmZhlE0adQjjx76bemw_6_4">816</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" scale="3" id="Tc_X74qGD0HjECDb092jiODjg_6_6">3,012</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Proceeds from disposal of investment in affiliates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfEquityMethodInvestments" scale="3" id="Tc_RhmIif9By0WFkYhHS8idbg_7_4">337,773</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfEquityMethodInvestments" scale="3" id="Tc_JazCUzJ4i0y9iWnYlEa9vw_7_6">1,649</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Purchase of property, plant and equipment and intangible assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" scale="3" id="Tc_TfM9kX4yAESGgyhOwJJ7gg_8_2">276,978</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" scale="3" id="Tc_Bdbut6BA-EeNtC9ohMy5rw_8_4">316,282</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" scale="3" id="Tc_Sf6hEBQlDUKGj_kof44YJQ_8_6">291,182</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Purchase of solar power systems</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireSolarPowerSystems" scale="3" id="Tc_aPgEvS9ISkSujqIo4Mrwzg_9_2">33,697</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Proceeds from disposal of solar power systems</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems" scale="3" id="Tc_iZq9IAJuVEqLqrMLmsuBlA_10_2">128,768</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems" scale="3" id="Tc_PJHz97GJoE6wZNQUjk_omQ_10_4">17,800</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems" scale="3" id="Tc_1Vr_yYc24USGipeFWeHCkQ_10_6">103</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Proceeds from insurance claim</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromInsuranceSettlementInvestingActivities" scale="3" id="Tc_cKkNrwMUcESR-uwN5KV1pg_11_2">43,930</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Acquisition of subsidiaries, net of cash paid</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireAdditionalInterestInSubsidiaries" scale="3" id="Tc_1lCgK28m70ybwCH6iKACJQ_12_2">12,561</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Net cash provided by (used in) investing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_Ti98km25V0mHGkT1L8-bGQ_13_2">239,230</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" id="Tc_qS-k3TFVOEitK7xmWtvJaA_13_4">29,071</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_JYB2a0OawkWeUeBULZRsvA_13_6">294,102</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Financing activities:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Proceeds from short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromNotesPayable" scale="3" id="Tc_QFwKrGGXIEuT1x0PaAsZmA_15_2">1,646,910</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromNotesPayable" scale="3" id="Tc_RgRymgwjAEqnX-PQKgQ0Qg_15_4">1,430,708</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromNotesPayable" scale="3" id="Tc_25s3XJ9eN0eG5pWAOB46qQ_15_6">1,257,009</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Repayment of short-term borrowings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfNotesPayable" scale="3" id="Tc_ELBPnMGA5Em9CzRx4bdejg_16_2">2,068,069</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfNotesPayable" scale="3" id="Tc_a50_zv4UM0ePt-sJPDJOxg_16_4">2,368,967</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfNotesPayable" scale="3" id="Tc_OTnazN4eEUqxZvhC17obUQ_16_6">1,649,721</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Proceeds from long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromIssuanceOfLongTermDebt" scale="3" id="Tc_FlAFH0GdkkuggOWZqMK6tg_17_2">690,841</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromIssuanceOfLongTermDebt" scale="3" id="Tc_GWkRNiZ-OU2mZZxcMsHDKg_17_4">382,831</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromIssuanceOfLongTermDebt" scale="3" id="Tc_f5BNJqVhWUulFNW4PmIQpw_17_6">530,990</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Acquisition of non-controlling interests</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToMinorityShareholders" scale="3" id="Tc_myYQMLbYokSWuKIIrVhtOA_18_4">6,591</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToMinorityShareholders" scale="3" id="Tc_zrSH_DJ_jU-hF1C6Qd3PYw_18_6">14,176</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Proceeds from non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMinorityShareholders" scale="3" id="Tc_lGjUv2UraE6tl60m3NJpXA_19_4">10,470</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMinorityShareholders" scale="3" id="Tc_SXnX53lI3UmFuPbkkORTXg_19_6">11,488</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Proceeds from third party financing liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromThirdPartyFinancingLiabilities" scale="3" id="Tc_rjKztCJwmEGjJYmh2Kaoag_20_2">12,243</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromThirdPartyFinancingLiabilities" scale="3" id="Tc_VY9-rfoOu0avNjLgPP5uJw_20_4">119,095</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromThirdPartyFinancingLiabilities" scale="3" id="Tc_vTfdiJbfE0W04xqHa2vqpw_20_6">3,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Proceeds from sales-leaseback arrangement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SaleLeasebackTransactionNetProceedsFinancingActivities" scale="3" id="Tc_wP-Awqw6RU6Kn1qab82QSg_21_2">61,142</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SaleLeasebackTransactionNetProceedsFinancingActivities" scale="3" id="Tc_KbgHEfmDh0OjWOI8TBtNnA_21_4">35,944</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SaleLeasebackTransactionNetProceedsFinancingActivities" scale="3" id="Tc_h0RXvmECCESWCs4b7eCowA_21_6">9,044</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Distributions to tax equity investors</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsOfDistributionsToTaxEquityInvestors" scale="3" id="Tc_lzivvmbdrUa4qAXpgBuMbQ_22_2">9,582</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsOfDistributionsToTaxEquityInvestors" scale="3" id="Tc_fctZhZpsAUu6ixDrDHymZg_22_4">3,013</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsOfDistributionsToTaxEquityInvestors" scale="3" id="Tc_scdzpLOYq02eoczBxT4RPA_22_6">1,120</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Repayment of finance lease obligation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeasePrincipalPayments" scale="3" id="Tc_kmH_mq9XB0S4u7PQrzAG6A_23_2">30,128</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeasePrincipalPayments" scale="3" id="Tc_Y4EM7FiUNE2YvCu-9hav4w_23_4">64,859</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeasePrincipalPayments" scale="3" id="Tc_PgOyRWz00EKJNn8dhB8dmA_23_6">42,658</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Repayment of short-term commercial paper</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfCommercialPaper" scale="3" id="Tc_ONyRNVmONU6nzfVOMj1K_A_24_2">138,953</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Payments for repurchase of convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfConvertibleDebt" scale="3" id="Tc_evt4KnuBd0mxNRcNdP-TQw_25_6">127,500</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Proceeds from exercise of stock options</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="Tc_cq7YRCeRuE2_auA_5Vg7IA_26_2">879</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="Tc_r6vJ9bHwAEaJNPmhT3F8HA_26_4">769</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="Tc_GyO-DgAmh0Cr8BUR1MRcjA_26_6">875</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Payments for repurchase of treasury stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsForRepurchaseOfOtherEquity" scale="3" id="Tc_Bi0CnA-Z_kexiULd0EGjQw_27_6">11,845</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Net cash provided by (used in) financing activities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="Tc_sEa5iLLDWEK3KnzbKO9wTQ_28_2">165,283</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" sign="-" scale="3" id="Tc_phd3RazPjEKp0I2nxjnodA_28_4">463,613</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" sign="-" scale="3" id="Tc_pby2mybW10ybma439sj5Mg_28_6">34,614</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Effect of exchange rate changes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_wXl8_JyKbkC3AyBTi_FOyw_29_2">51,342</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" sign="-" scale="3" id="Tc_Vr3MWsuVQk2C7dfqA0oqQg_29_4">38,725</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" sign="-" scale="3" id="Tc_WMYA6bITHUa4nKAo-yFBWA_29_6">6,965</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Net increase (decrease) in cash, cash equivalents and restricted cash</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="Tc_y7xeYneNXEmc5ocTK1ms_A_30_2">181,315</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" sign="-" scale="3" id="Tc_QPKLzXpBrEKZvyC27tZ3Ig_30_4">256,987</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="Tc_w8kT5b_e3ECZWGRn7NrVEA_30_6">264,430</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Cash, cash equivalents and restricted cash at the beginning of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2016_1CpwSxbtS0GMUYvki678nw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_zpobSsuRFk2SScd6ngomDA_31_2">1,007,700</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2017_kjGpnzkm3E6qIMnIr7nQSg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_b9gXjbr5t0W0-wOwXOs0JQ_31_4">1,190,134</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_zihSZeTo_kK3u4Nh5AVMiQ_31_6">940,990</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Less: net decrease in cash, cash equivalents and restricted cash classified within assets held-for-sale</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:NetIncreaseDecreaseCashAndCashEquivalentsAssetsHeldForSale" sign="-" scale="3" id="Tc_25r5P71A0Eu0uUSPFrpPww_32_2">1,119</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:NetIncreaseDecreaseCashAndCashEquivalentsAssetsHeldForSale" sign="-" scale="3" id="Tc_PQ6BIycV0UmSFfeT93FWbQ_32_4">7,843</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Cash, cash equivalents and restricted cash at the end of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2017_kjGpnzkm3E6qIMnIr7nQSg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_ZgeAD7lx3UCJt5nL92Vxpw_33_2">1,190,134</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_-tZKOIIto0afQQ6UyNGrig_33_4">940,990</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_jPWK1YLV50OrI7ZpWD8xFg_33_6">1,205,420</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Supplemental disclosure of cash flow information:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Interest paid (net of amounts capitalized)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_Kk6qwWHUiEuDnJzJ_PsOGQ_35_2">113,513</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_Ae50QTcUE0m2qQb1E14hNQ_35_4">103,236</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_FetKQBhFJE-0Cb7nwVcP9Q_35_6">85,362</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Income taxes paid</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxesPaidNet" scale="3" id="Tc_tnQoyjLykk-S9XjnzNbAtw_36_2">45,483</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxesPaidNet" scale="3" id="Tc_ttq32Qgi20aWuM2nNzlfMg_36_4">32,135</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxesPaidNet" scale="3" id="Tc_lVvvuXXsu0OP7X6__3Ak5A_36_6">40,454</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Supplemental schedule of non-cash activities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Reclassification of solar power systems to project assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystemsReclassifiedToProjectAssets" scale="3" id="Tc_lJotV0R_eE2QgIOxEVhANQ_38_2">4,782</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:67.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Property, plant and equipment costs included in other payables</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" scale="3" id="Tc_scqNLF1eYUeuEFeDa-wAvA_39_2">153,017</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" scale="3" id="Tc_ZscY_1Bn80q9CluRYPondw_39_4">228,970</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" scale="3" id="Tc_XgfcZyVhw06f-G9DY9PZiA_39_6">244,483</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table provides a reconciliation of cash, cash equivalents, and restricted cash reported within the balance sheets that sum to the total of the same such amounts shown in the statements of cash flows.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_b6bc116e_d7c8_42a1_bcdf_abf632ac59b9"></a><a id="Tc_GmQfYz_lWEGoD39Tznw7IA_1_2"></a><a id="Tc_TBPmnHsG90Wtv0ygQa1-Uw_2_2"></a><a id="Tc_Z3rDxBqTUEKsrIUSh08LKw_2_4"></a><a id="Tc_7CSNxOkS60aG4bGHOFiSig_3_2"></a><a id="Tc_-tQu0EgFy0ScusI830gUkQ_4_0"></a><a id="Tc_FJZDeSBF10KNFbwLa-VNmg_5_0"></a><a id="Tc_OulofDqMSUWrQ07t2szRqA_6_0"></a><a id="Tc_WraNW5Ckb0-ZlH0bmVnTAg_7_0"></a><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:73.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:23.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:73.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:73.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:23.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_metXh6pQsk6xm3xO0e-C5g_4_2">444,298</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_rPoY1uZzjUyf7aNVAEITaQ_4_4">668,770</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Restricted cash &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_ChqSHFOk6UOmzwScTxAxdA_5_2">480,976</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_GeNXgaTWy0uuOdu62G1-HA_5_4">526,723</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Restricted cash &#8212; non-current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsNoncurrent" scale="3" id="Tc_zDeISFYBWUCVC_YvTjiAtg_6_2">15,716</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsNoncurrent" scale="3" id="Tc_T7PbZSAypEeMAM_U-0Tv5w_6_4">9,927</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total cash and cash equivalents, and restricted cash shown in the statements of cash flows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_wQ9mZ6cQBkSOt2aUQoHuSQ_7_2">940,990</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_9i2c6QtRlk-Bdw_9vVrXXg_7_4">1,205,420</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;">See notes to consolidated financial statements.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:3pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'SimSun';line-height:0pt;margin:0pt;"><span style="font-family:'Times New Roman';font-size:0pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-9</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;Thousands of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="a1ORGANIZATIONANDPRINCIPALACTIVITIES_213"></a><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:NatureOfOperations" id="Tb_XGTPfGIXfk6BzfHTvUb78Q" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">1. ORGANIZATION AND PRINCIPAL ACTIVITIES</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Canadian Solar Inc. (&#8220;CSI&#8221;) was incorporated pursuant to the laws of the Province of Ontario in October 2001, and changed its jurisdiction by continuing under the Canadian federal corporate statute, the Canada Business Corporations Act, or CBCA, effective June 1, 2006.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">CSI and its subsidiaries (collectively, the &#8220;Company&#8221;) design, develop, and manufacture solar wafers, cells and solar power products. In recent years, the Company has increased investment in, and management attention on its total solutions business, which primarily consists of solar power project development and sale, EPC and development services, O&amp;M services, operating solar power projects and sales of electricity, and sales of solar system kits. As of December 31, 2019, major subsidiaries of CSI are included in Appendix 1. </p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" id="Tb_wqodQOLIk0qpY2jzsLARsg" continuedAt="Tb_wqodQOLIk0qpY2jzsLARsg_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</b></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock" id="Tb_olhG7QdxXkay-6pLuPRcdQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(a)&#160;&#160;&#160;Basis of presentation</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The consolidated financial statements of the Company have been prepared in accordance with U.S.&#160;generally accepted accounting principles (&#8220;U.S.&#160;GAAP&#8221;).</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ConsolidationPolicyTextBlock" id="Tb_bVds4cAka0qH2Wg7RHzwXA" continuedAt="Tb_bVds4cAka0qH2Wg7RHzwXA_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(b)&#160;&#160;&#160;Basis of consolidation</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The consolidated financial statements include the financial statements of the Company and its subsidiaries in which it has a controlling financial interest or variable interest entities (&#8220;VIEs&#8221;) for which the Company is a primary beneficiary. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">A controlling financial interest is typically determined when a company holds a majority of the voting equity interest in an entity. All intercompany balances and transactions between the Company and its subsidiaries have been eliminated in consolidation.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company consolidates VIEs when the Company is the primary beneficiary. VIEs are entities that lack sufficient equity to finance their activities without additional financial support from other parties or whose equity holders, as a group, lack one or more of the following characteristics: (a) direct or indirect ability to make decisions; (b) obligation to absorb expected losses; or (c) right to receive expected residual returns. VIEs must be evaluated quantitatively and qualitatively to determine the primary beneficiary, which is the reporting entity that has (a) the power to direct activities of a VIE that most significantly impact the VIEs economic performance and (b) the obligation to absorb losses of the VIE that could potentially be significant to the VIE or the right to receive benefits from the VIE that could potentially be significant to the VIE. The primary beneficiary is required to consolidate the VIE for financial reporting purposes. A VIE can have only one primary beneficiary, but may not have a primary beneficiary if no party meets the criteria described above.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">When evaluating whether the Company is the primary beneficiary of a VIE, and must therefore consolidate the entity, the Company performs a qualitative analysis that considers the design of the VIE, the nature of its involvement and the variable interests held by other parties. If that evaluation is inconclusive as to which party absorbs a majority of the entity&#8217;s expected losses or residual returns, a quantitative analysis is performed to determine the primary beneficiary.</p></ix:nonNumeric></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-10</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_wqodQOLIk0qpY2jzsLARsg_cont1" continuedAt="Tb_wqodQOLIk0qpY2jzsLARsg_cont2"><ix:continuation id="Tb_bVds4cAka0qH2Wg7RHzwXA_cont1"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For the Company&#39;s consolidated VIEs, the Company has presented in note 10, to the extent material, the assets of its consolidated VIEs that can only be used to settle specific obligations of the consolidated VIE, and the liabilities of its consolidated VIEs for which creditors do not have recourse to its general assets outside of the consolidated VIE. All intercompany accounts and transactions between the Company and its consolidated VIEs have been eliminated in consolidation.</p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:UseOfEstimates" id="Tb_mb01o_-wj02tWjQbsSDJYA" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(c)&#160;&#160;&#160;Use of estimates</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The preparation of consolidated financial statements in conformity with U.S. GAAP requires the Company to make estimates and assumptions that affect reported amounts of assets and liabilities, disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates. Significant accounting estimates reflected in the Company&#8217;s consolidated financial statements include revenue recognition for sales of solar power projects, EPC and development services accounted for under a cost-based input method, allowance for doubtful accounts receivable and advances to suppliers, valuation of inventories and provision for firm purchase commitments, provision for contingent liability, impairment of long-lived assets and project assets, the estimated useful lives of long-lived assets, determination of assets retirement obligation (&#8220;ARO&#8221;), discount rates used to measure operating lease liabilities, accrual for warranty and the recognition of the benefit from the purchased warranty insurance, fair value estimate of financial instruments including warrants and other types of derivative, accrual for uncertain tax positions, valuation allowances for deferred tax assets, applying acquisition method of accounting to business acquisitions and the grant-date fair value of share-based compensation awards and related forfeiture rates.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" id="Tb_NR0gRH1ogUW4yHjiJvv5Kw" continuedAt="Tb_NR0gRH1ogUW4yHjiJvv5Kw_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(d)&#160;&#160;&#160;Cash and cash equivalents and restricted cash</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Cash and cash equivalents are stated at cost, which approximates fair value. Cash and cash equivalents consist of cash on hand and demand deposits, which are unrestricted as to withdrawal and use, and have original maturities of three months or less when&#160;acquired.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Restricted cash represents amounts held by banks, which are not available for the Company&#8217;s general use, as security for issuance of letters of credit, short-term notes payable and bank borrowings. Upon maturity of the letters of credit, repayment of short-term notes payable or bank borrowings, the deposits are released by the bank and become available for general use by the&#160;Company.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-11</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_wqodQOLIk0qpY2jzsLARsg_cont2" continuedAt="Tb_wqodQOLIk0qpY2jzsLARsg_cont3"><ix:continuation id="Tb_NR0gRH1ogUW4yHjiJvv5Kw_cont1"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy" id="Tb_mT9Sshohr0SoGm2NmOGoQg" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(e)&#160;&#160;&#160;Accounts receivable, unbilled</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Accounts receivable, unbilled represents a contract asset for revenue that has been recognized in advance of billing the customer. The Company uses a cost-based input method to recognize revenue from EPC and development services when all relevant revenue recognition criteria have been met. Under this accounting method, revenue may be recognized in advance of billing the customer, which results in the recording of accounts receivable, unbilled. Once the Company meets the billing criteria under such contract, the rights to consideration becomes unconditional, it bills the customer and reclassifies the unbilled balance to accounts receivable trade. Billing requirements vary by contract, but are generally structured around completion of certain construction milestones.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="csiq:AllowanceForDoubtfulAccountsPolicyTextBlock" id="Tb_qoB0QIZxE0S9ioyv8YObRw" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(f)&#160;&#160;&#160;&#160;Allowance for doubtful receivables</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company began purchasing insurance from China Export&#160;&amp; Credit Insurance Corporation (&quot;Sinosure&quot;) since 2009 for certain of its accounts receivable trade in order to reduce its exposure to bad debt loss. The Company provides an allowance for accounts receivable trade using primarily a specific identification methodology. An allowance is recorded based on the likelihood of collection from the specific customer regardless whether such account is covered by Sinosure. At the time the claim is made to Sinosure, the Company records a receivable from Sinosure equal to the expected recovery up to the amount of the specific allowance. The Company had recorded a receivable from Sinosure in prepaid expenses and other current assets of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_GainContingenciesByNatureAxis_us-gaap_InsuranceSettlementMember_yGSW8aHKvUCU-cyWWTmOiw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Narr_ZMR7DMyivUuTCa_W91oqig">164</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_GainContingenciesByNatureAxis_us-gaap_InsuranceSettlementMember_nVEHOs6J7kaN3n9wRUvIvA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Narr_AVuKcrvTJEuDLKM5bt8gVg">166</ix:nonFraction> as of December 31, 2018 and 2019, respectively and a corresponding reduction in bad debt&#160;expense.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="csiq:AdvancesToSuppliersPolicyTextBlock" id="Tb_gr7CJ0yc3UqYaGN5l_tCpA" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(g)&#160;&#160;&#160;Advances to suppliers</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company makes prepayments to certain suppliers and such amounts are recorded in advances to suppliers in the consolidated balance sheets. Advances to suppliers expected to be utilized within twelve months as of each balance sheet date are recorded as current assets and the portion expected to be utilized after twelve months are classified as non-current assets in the consolidated balance&#160;sheets.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:InventoryPolicyTextBlock" id="Tb_079wBtwvL0iccKYwFl5AoQ" continuedAt="Tb_079wBtwvL0iccKYwFl5AoQ_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(h)&#160;&#160;&#160;Inventories</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Inventories are stated at the lower of cost or net realizable value. Cost is determined by the weighted-average method. Cost of inventories consists of direct materials and, where applicable, direct labor costs, tolling costs and those overhead costs that have been incurred in bringing the inventories to their present location and condition.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Adjustments are recorded to write down the cost of obsolete and excess inventories to the estimated net realizable value based on historical and forecast demand. </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-12</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_wqodQOLIk0qpY2jzsLARsg_cont3" continuedAt="Tb_wqodQOLIk0qpY2jzsLARsg_cont4"><ix:continuation id="Tb_079wBtwvL0iccKYwFl5AoQ_cont1"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="csiq:ProjectAssetsPolicyTextBlock" id="Tb_big4lF43J0W3eAwWlbxVaQ" continuedAt="Tb_big4lF43J0W3eAwWlbxVaQ_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(i)&#160;&#160;&#160;&#160;Project assets</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="white-space:pre-wrap;">Project assets consist primarily of capitalized costs relating to solar power projects in various stages of development prior to the intended sale of the solar power projects to a third party. These costs include certain acquisition costs, land costs and costs for developing and constructing a solar power system. Development costs can include legal, consulting, permitting, and other similar costs. Construction costs can include execution of field construction, installation of solar equipment, solar modules and related equipment. Interest costs incurred on debt during the construction phase and all deferred financing costs amortized during the construction phase are also capitalized within project assets.  </span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="white-space:pre-wrap;">Solar power projects are preliminarily classified as project assets unless the Company has intention not to sell them to third parties. In that case, they will be classified as solar power systems on the balance sheet. During the development phase, solar power projects are accounted for in accordance with the recognition, initial measurement and subsequent measurement subtopics of ASC 970- 360, as they are considered in substance real estates. The costs to construct solar power projects are presented as operating activities or investing activities in the consolidated statement of cash flows, if they are related to project assets or solar power systems, respectively. While the solar power projects are in the development phase, they are generally classified as non-current assets, unless it is anticipated that the sale will occur within one year.  Appropriateness of the classification of the solar power projects is assessed based on the circumstances on each balance sheet date. Solar power projects that the Company intends to sell within one year, which meet the criteria of ASC 360, are classified as project assets-current. Solar power projects that the Company intends to hold and operate to generate electricity are still classified as solar power systems. </span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-13</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_wqodQOLIk0qpY2jzsLARsg_cont4" continuedAt="Tb_wqodQOLIk0qpY2jzsLARsg_cont5"><ix:continuation id="Tb_big4lF43J0W3eAwWlbxVaQ_cont1"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company reviews project assets for impairment whenever events or changes in circumstances indicate that the carrying amount may not be recoverable. The Company considers a project commercially viable or recoverable if it is anticipated to be sold for a profit once it is either fully developed or fully constructed. The Company considers a partially developed or partially constructed project commercially viable or recoverable if the anticipated selling price is higher than the carrying value of the related project assets. The Company examines a number of factors to determine if the project will be recoverable, the most notable of which include whether there are any changes in environmental, ecological, permitting, market pricing or regulatory conditions that impact the project. Such changes could cause the costs of the project to increase or the selling price of the project to decrease. If a project is not considered recoverable, the Company impairs the respective project assets and adjusts the carrying value to the estimated recoverable amount, with the resulting impairment recorded within operations.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Project assets are often held in separate legal entities which are formed for the special purpose of constructing the project assets, which the Company refers to as &#8220;project companies&#8221;. The Company consolidates project companies as described in note 2 (b) above. The cash paid to the non-controlling interest in connection with disposal of such project companies was recorded as a financing activity in the consolidated statement of cash flows.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">The Company does not depreciate the project assets. Any revenue generated from a solar power system connected to the grid would be considered incidental revenue and accounted for as a reduction of the capitalized project costs for development.  If circumstances change, and the Company will begin to operate the project assets for the purpose of generating income from the sale of electricity, the project assets will be reclassified to solar power systems.</span></p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:BusinessCombinationsPolicy" id="Tb_sqN_SsbAsUyQ3DXVkV8jgw" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(j)&#160;&#160;&#160;&#160;Business combination</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Business combinations are recorded using the acquisition method of accounting and, accordingly, the acquired assets and liabilities are recorded at their fair market value at the date of acquisition. Any excess of acquisition cost over the fair value of the acquired assets and liabilities, including identifiable intangible assets, is recorded as goodwill. The Company charges acquisition related costs that are not part of the purchase price consideration to general and administrative expenses as they are incurred. These costs typically include transaction and integration costs, such as legal, accounting, and other professional fees. </p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-14</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_A7WOENQlc0uzMY8B6QxtPg_1_0"></a><a id="Tc_5VHiKi77p0CP7jmgAYc1uQ_2_0"></a><a id="Tc_D4nhisS-v0-wg5cjUcZQEQ_2_2"></a><a id="Tc_DJwQ0sGW3kmXrBoyFmUnDg_3_0"></a><a id="Tc_HNh9I_JKTEq-sUAlTVoYGA_3_2"></a><a id="Tc_oJ9KlDs4CUCNIJSI4uVcOw_4_0"></a><a id="Tc_QzfuV2c_XEaHJUaEW1W7Pw_5_0"></a><ix:continuation id="Tb_wqodQOLIk0qpY2jzsLARsg_cont5" continuedAt="Tb_wqodQOLIk0qpY2jzsLARsg_cont6"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="csiq:AssetsAcquisitionPolicyTextBlock" id="Tb_aDwXhyoLZEeCZhnB51-v4w" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(k)&#160;&#160;&#160;Assets acquisition</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">When the Company acquires other entities, if the assets acquired and liabilities assumed do not constitute a business, the transaction is accounted for as an asset acquisition. Assets are recognized based on the cost, which generally includes the transaction costs of the asset acquisition, and no gain or loss is recognized unless the fair value of noncash assets given as consideration differs from the assets&#8217; carrying amounts on the Company&#8217;s books. If the consideration given is not in the form of cash (that is, in the form of noncash assets, liabilities incurred, or equity interests issued), measurement is based on either the cost to the acquiring entity or the fair value of the assets (or net assets) acquired, whichever is more clearly evident and, thus, more reliably measurable. The cost of a group of assets acquired in an asset acquisition is allocated to the individual assets acquired or liabilities assumed based on their relative fair value and does not give rise to goodwill.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" id="Tb_dgMVvSnNwkKJzek58xGMcQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(l)&#160;&#160;Property, plant and equipment</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Property, plant and equipment is recorded at cost less accumulated depreciation. The cost of property, plant and equipment comprises its purchase price and any directly attributable costs, including interest costs capitalized during the period the asset is brought to its working condition and location for its intended use. The Company expenses repair and maintenance costs as&#160;incurred.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Depreciation is computed on a straight-line basis over the following estimated useful&#160;lives:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="csiq:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" id="Tb_ykvxbwJ_T0-FBIo0HaJL_A" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Buildings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_KO24wHZchkqHiv_tqI_pHg" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Tc_bjE0CVZPkUu6Wog5Wd_Kpw_1_2">20 years</ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:48.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Over the shorter of the lease term or their estimated useful lives</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Machinery</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_wCQYZoz750uAEDFs_tX9Mg"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">5</span></span>-<ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_7BuK5Is_jUOdijrh5slMdA" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_brPYCOyK70-0Mu83wg64yA">10 years</ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Furniture, fixtures and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_QCxegUFpaEygc6lrzQyDPw" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Tc_3bSHF9H9-Em5RhQBgjiFLw_4_2">5 years</ix:nonNumeric></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Motor vehicles</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_zMFy0cwj_EGgEoxjE1bHDQ" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Tc_l1v9ddcoqkG2uo2cZLMD7w_5_2">5 years</ix:nonNumeric></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Costs incurred in constructing new facilities, including progress payments, capitalized interests and other costs relating to the construction, are capitalized and transferred to property, plant and equipment on completion and depreciation commences from that&#160;time.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For property, plant and equipment that has been placed into service, but is subsequently idled temporarily, the Company continues to record depreciation expense during the idle period. The Company adjusts the estimated useful life of the idled assets if the estimated useful life has&#160;changed.</p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-15</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc__Qr05Tv5x0SSrbfiEEkavA_1_0"></a><a id="Tc_Gcs9_utMQkGIldQqVP_wnw_2_0"></a><a id="Tc_dEgK3aDwX0q55dgfNCfXWg_2_2"></a><ix:continuation id="Tb_wqodQOLIk0qpY2jzsLARsg_cont6" continuedAt="Tb_wqodQOLIk0qpY2jzsLARsg_cont7"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b><b style="font-weight:bold;"> </b></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="csiq:SolarPowerSystemsPolicyPolicyTextBlock" id="Tb_85PAyxFxBkaMKAXv1gJDOQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(m)&#160;&#160;&#160;Solar power systems</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="white-space:pre-wrap;">Solar power systems are comprised of ground-mounted projects and roof top systems that the Company intends to hold for use. The solar power systems are stated at cost less accumulated depreciation.  The cost consists primarily of direct costs incurred in various stages of development prior to the commencement of operations. For a self-developed solar power system, the actual cost capitalized is the amount of the expenditure incurred for the application of the feed-in tariff (&#8216;&#8216;FIT&#8217;&#8217;) or other similar contracts, permits, consents, construction costs, interest costs capitalized, and other costs capitalized. For a solar power system acquired from third parties, the initial costs include the consideration transferred and certain direct acquisition costs.  Expenditures for major additions and improvements are capitalized and minor replacements, maintenance, and repairs are charged to expense as incurred. </span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">When solar power systems is retired, or otherwise disposed of, the cost and accumulated depreciation is removed from the balance sheets and any resulting gain or loss is included in the results of operations for the respective period. Depreciation is recognized using the straight-line method over the estimated useful lives of the solar power systems of <span style="-sec-ix-hidden:Hidden_9fnvDhRg006UIcqPOGt6AQ"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">20</span></span> to <ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_la7eVIq5FUmKAJ9EhM-u8A" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_ZMcoNEKZY0uM3obd6ZtXBA">25 years</ix:nonNumeric>.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" id="Tb_9X-GYHtOxEGFWxlh6_mDQw" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(n)&#160;&#160;&#160;Intangible assets</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Intangible assets primarily represent the technical know-how and computer software purchased from third parties. Intangible assets are recorded at fair value at the time of acquisition less accumulated amortization, if applicable. Amortization is recorded according to the following table on a straight-line basis for all intangible assets:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" id="Tb_dk02bjx4-Eermbp3HYRvsQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:49.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:48.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Technical know-how</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_ELYLOouZJEe_L8lh_Cqbvw" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Tc_IKk0zlY6RUy5w7J-jjo_DQ_1_2">10 years</ix:nonNumeric></p></td></tr><tr><td style="vertical-align:bottom;width:49.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Computer software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_DzwZBiVHl02oSzavGfXqEg"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">1</span></span>-<ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_K97Cvf-9h0GjjJqdTs-NZA" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Narr_LIGUOrOdWE6pU8pmdPHYBg">10 years</ix:nonNumeric></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="csiq:PrepaymentForLandUseRightPolicyTextBlock" id="Tb_j2ZwW9wyj0CpjqZn6uSjmw" continuedAt="Tb_j2ZwW9wyj0CpjqZn6uSjmw_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(o)&#160;&#160;&#160;Prepaid land use rights</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Prepaid land use rights, in substance right-of-use assets recorded according to ASC 842 from January 1, 2019, represent amounts paid for the use right of lands located in China (&#8220;PRC&#8221;) and Japan. Amounts are charged to earnings ratably over the lease periods of <span style="-sec-ix-hidden:Hidden_7NBhpV-8hEejJzqz3LlyIw"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">20</span></span> to <ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_F7ZFnp-TpEq-nGa7S5yP7A" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Narr_3AHKP3-Mf0OG7O46NIvQeA">50 years</ix:nonNumeric>.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-16</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_wqodQOLIk0qpY2jzsLARsg_cont7" continuedAt="Tb_wqodQOLIk0qpY2jzsLARsg_cont8"><ix:continuation id="Tb_j2ZwW9wyj0CpjqZn6uSjmw_cont1"></ix:continuation><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:EquityMethodInvestmentsPolicy" id="Tb_IGH_RtuEuUen2sLdKgNjMg" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(p)&#160;&#160;&#160;&#160;Investments in affiliates</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company uses the equity method of accounting for the investments. The Company records the equity method investments at historical cost and subsequently adjusts the carrying amount each period for share of the earnings or losses of the investee and other adjustments required by the equity method of accounting. Dividends received from the equity method investments are recorded as reductions in the cost of such investments. The amount associated with the share of earnings are considered as return of investment, and the rest received amount are considered as return on investment.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Investments are evaluated for impairment when facts or circumstances indicate that the fair value of the investment is less than its carrying value. An impairment is recognized when a decline in fair value is determined to be other-than-temporary. The Company reviews several factors to determine whether a loss is other-than-temporary. These factors include, but are not limited to, the: (i)&#160;nature of the investment; (ii)&#160;cause and duration of the impairment; (iii)&#160;extent to which fair value is less than cost; (iv)&#160;financial conditions and near term prospects of the affiliates; and (v)&#160;ability to hold the security for a period of time sufficient to allow for any anticipated recovery in fair value. During the years ended December 31, 2017, 2018 and 2019, the Company recorded $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ImpairmentOfInvestments" scale="3" id="Narr_pZTzTEGGukG23ZYnVHEbyQ">3,686</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ImpairmentOfInvestments" scale="3" id="Narr_AU3BDMRR4ESIJkVvOoRTww">5,738</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:ImpairmentOfInvestments" scale="3" id="Narr_sSZyNxy-f0qKKW8wwjpm3g">nil</ix:nonFraction> impairment charges on its investments, respectively.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" id="Tb_SgZAMb61w02jrdjIQtcz7g" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(q)&#160;&#160;&#160;&#160;Impairment of long-lived assets</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company assesses the recoverability of the carrying value of long-lived assets when an indicator of impairment has been identified. The Company reviews the long-lived assets each reporting period to assess whether impairment indicators are present. For purposes of recognition and measurement of an impairment loss, a long-lived asset or assets is grouped with other assets and liabilities at the lowest level for which identifiable cash flows are largely independent of the cash flows of other assets and liabilities. For long-lived assets, when impairment indicators are present, the Company compares undiscounted future cash flows, including the eventual disposition of the asset group at market value, to the asset group&#8217;s carrying value to determine if the asset group is recoverable. Assessments also consider changes in asset group utilization, including the temporary idling of capacity and the expected timing of placing this capacity back into production. If the sum of the expected undiscounted cash flows is less than the carrying amount of the assets, the Company will recognize an impairment loss based on the fair value of the assets. The Company recorded impairment charges for long-lived assets of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_1iqXDn0Tf022Tlsa3ICb1w">11,626</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_1DL5Ypl8QEi72-ncY03jVQ">30,968</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_uec88muWKUms67n96XEzIQ">21,866</ix:nonFraction> for the years ended December 31, 2017, 2018 and 2019, respectively.</p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-17</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_wqodQOLIk0qpY2jzsLARsg_cont8" continuedAt="Tb_wqodQOLIk0qpY2jzsLARsg_cont9"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:InterestCapitalizationPolicyPolicyTextBlock" id="Tb_ZEe7Y8cs6k2tXXMmT6LHHQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(r)&#160;&#160;&#160;&#160;Interest capitalization</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company capitalizes interest costs as part of the historical costs of acquiring or constructing certain assets during the period of time required to get the assets ready for their intended use or sell the asset to a customer. The Company capitalizes interest costs to the extent that expenditures to acquire, construct, or develop an asset have occurred and interest costs have been incurred. Interest capitalized for property, plant and equipment, or solar power systems is depreciated over the estimated useful life of the related asset, as the qualifying asset is placed into service. The interest capitalized for project assets forms part of the cost of revenues when such project assets are sold and all revenue recognition criteria are met. Interest capitalization ceases once a project is substantially complete or no longer undergoing construction activities to prepare it for its intended use.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:AssetRetirementObligationsPolicy" id="Tb_Ian7rVrO6UiqhvE00Gb2Aw" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(s)&#160;&#160;&#160;Assets retirement obligation</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Certain jurisdictions in which the Company&#39;s project assets are located or certain land lease agreements require the removal of the solar power systems when the project is decommissioned. Assets retirement obligation (&#8220;ARO&#8221;) for the estimated costs of decommissioning associated with long-lived assets at a future date are accounted for in accordance with ASC 410-20, Asset Retirement Obligations (&#8220;ASC 410-20&#8221;). ASC 410-20 requires an entity to recognize the fair value of a liability for an ARO in the period in which it is incurred and a reasonable estimate of fair value can be made. Upon initial recognition of a liability for an ARO, the asset retirement cost is capitalized by increasing the carrying amount of the related long-lived asset by the same amount. Over time, the liability is accreted to its expected future value, while the capitalized cost is depreciated over the useful life of the related asset. The Company&#39;s ARO included in solar power systems were $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetRetirementObligation" scale="3" id="Narr_DBU69tbeB0ap7pqlGMEjug">43</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetRetirementObligation" scale="3" id="Narr_FHWPQztdmUaPwXPiKO4E0g">26</ix:nonFraction> as of December 31, 2018 and 2019, respectively.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:LesseeLeasesPolicyTextBlock" id="Tb_cYl_9bcUn0-faRPku2FC1A" continuedAt="Tb_cYl_9bcUn0-faRPku2FC1A_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(t)&#160;&#160;&#160;Leases</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Effective January 1, 2019, the Company adopted Accounting Standards Update (&quot;ASU&quot;) No. 2016-02, Leases (Topic 842), as amended (&quot;ASC 842&quot;) for its lease arrangements, which were recorded under ASC 840, Leases, before implementation. Upon adoption of ASC 842, the Company elected to use the remaining lease term as of January 1, 2019 in the estimation of the applicable discount rate for leases that were in place at adoption. For the initial measurement of the lease liability for leases commencing after January 1, 2019, the Company use the discount rate as of the commencement date of the lease, incorporating the entire lease term. The Company, as a lessee, has both finance and operating lease arrangements. Right-of-use (&quot;ROU&quot;) assets and operating lease liabilities on the consolidated balance sheets include operating lease agreements. Finance lease agreements are recorded in property, plant and equipment, other payables and other non-current liabilities on the consolidated balance sheets. Lease liabilities that become due within one year of the balance sheet date are classified as current liabilities. The Company elected the practical expedient to combine the lease and related non-lease components for all existing leases.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-18</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_wqodQOLIk0qpY2jzsLARsg_cont9" continuedAt="Tb_wqodQOLIk0qpY2jzsLARsg_cont10"><ix:continuation id="Tb_cYl_9bcUn0-faRPku2FC1A_cont1"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company determines if an arrangement is a lease at inception. Leases are classified as operating or finance leases in accordance with the recognition criteria in ASC 842-20-25. At the commencement date of a lease, the Company determines the classification of the lease based on the relevant factors and presents and records a right-of- use (&quot;ROU&quot;) asset and lease liability. ROU assets represent the right to use an underlying asset for the lease term and lease liabilities represent the obligation to make lease payments arising from the lease. ROU assets and lease liabilities are calculated as the present value of the lease payments not yet paid. Variable lease payments are excluded from the ROU asset and lease liability calculations and are recognized in the period which the obligations for those payments are incurred. Operating lease ROU assets also include any lease prepayments made, initial direct costs and deferred rent if any and exclude lease incentives. As the rate implicit in the Company&#8217;s operating leases is not typically readily available, the Company uses an incremental borrowing rate based on the information available at the lease commencement date in determining the present value of lease payments. Some of the Company&#8217;s lease agreements include options to extend or terminate the lease, which are not included in its minimum lease terms unless they are reasonably certain to be exercised. All operating lease expenses are fixed, which are accounted for on a straight-line basis over the lease term and that of finance lease include interest and amortization expenses incurred during the current year.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company&#39;s leases do not contain any material residual value guarantees or material restrictive covenants. Leases with an initial lease term of 12 months or less are not recorded on the consolidated balance sheet.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For finance leases, the amortization of the asset is recognized over the shorter of the lease term or useful life of the underlying asset within depreciation and amortization expense and other expenses from managed and franchised properties in consolidated statements of operations. The interest expense related to finance leases, including any variable lease payments, is recognized in interest expense in consolidated statements of operations.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company assesses ROU assets for impairment quarterly. When events or circumstances indicate the carrying value may not be recoverable, the Company evaluates the net book value of the asset for impairment by comparison to the projected undiscounted future cash flows. If the carrying value of the asset is determined to not be recoverable and is in excess of the estimated fair value, the Company recognizes an impairment charge in asset impairments on its consolidated statements of income.</p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:CommitmentsAndContingenciesPolicyTextBlock" id="Tb_eI9T1kr18UyurDefGg-N7A" continuedAt="Tb_eI9T1kr18UyurDefGg-N7A_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(u)&#160;&#160;&#160;Contingencies</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Liabilities for loss contingencies arising from claims, assessments, litigation, fines, and penalties and other sources are recorded when it is probable that a liability has been incurred and the amount can be reasonably estimated. If a potential material loss contingency is not probable but is reasonably possible, or is probable but the amount cannot be estimated, then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, is disclosed. Legal costs incurred in connection with loss contingencies are expensed as&#160;incurred.</p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-19</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_wqodQOLIk0qpY2jzsLARsg_cont10" continuedAt="Tb_wqodQOLIk0qpY2jzsLARsg_cont11"><ix:continuation id="Tb_eI9T1kr18UyurDefGg-N7A_cont1"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:IncomeTaxPolicyTextBlock" id="Tb_DjTDtkjK5USUpj6smWTHKQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(v)&#160;&#160;Income taxes</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Deferred income taxes are recognized for temporary differences between the tax basis of assets and liabilities and their reported amounts in the financial statements, net tax loss carry-forwards and credits using the enacted tax rates expected to apply to taxable income in the periods in which the deferred tax liability or asset is expected to be settled or realized. Deferred tax assets are reduced by a valuation allowance when it is more likely than not that some portion or all of the deferred tax assets will not be realized. Current income taxes are provided for in accordance with the laws of the relevant taxing authorities.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Income tax expense includes (i) deferred tax expense, which generally represents the net change in the deferred tax asset or liability balance during the year plus any change in valuation allowances; (ii) current tax expense, which represents the amount of tax payable to or receivable from a taxing authority; and (iii) non-current tax expense, which represents the increases and decreases in amounts related to uncertain tax positions from prior periods and not settled with cash or other tax attributes. The Company only recognizes tax benefits related to uncertain tax positions when such positions are more likely than not of being sustained upon examination. For such positions, the amount of tax benefit that the Company recognizes is the largest amount of tax benefit that is more than fifty percent likely of being sustained upon the ultimate settlement of such uncertain tax position. The Company records penalties and interests associated with the uncertain tax positions as a component of income tax expense. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">The Company uses the flow-through method to account for investment tax credits earned on qualifying projects placed into service. Under this method the investment tax credits are recognized as a reduction to income tax expense in the year the credit arises.  The use of the flow-through method also results in a basis difference from the recognition of a deferred tax liability and an immediate income tax expense for reduced future tax depreciation of the related assets. Such basis differences are accounted for pursuant to the income statement method.</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock" id="Tb_f_A25HYeS0C0dKfgrgcwjg" continuedAt="Tb_f_A25HYeS0C0dKfgrgcwjg_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(w)&#160;&#160;&#160;Revenue recognition</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company recognizes revenue when it satisfies a performance obligation by transferring a promised good or service to a customer.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Solar power products and materials</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Solar power products, including solar modules, other solar power products, solar system kits and materials related to solar power products are transferred at a point in time when the customer obtains control of the products, which is typically upon shipment or delivery depending on the contract terms. Revenues of solar product sales also include reimbursements received from customers for shipping and handling costs. Sales agreements typically contain the assurance-type customary product warranties but do not contain any post-shipment obligations nor any return or credit provisions, see note 2 (aa) for the Company&#8217;s accounting policy for warranty. </p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-20</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_wqodQOLIk0qpY2jzsLARsg_cont11" continuedAt="Tb_wqodQOLIk0qpY2jzsLARsg_cont12"><ix:continuation id="Tb_f_A25HYeS0C0dKfgrgcwjg_cont1" continuedAt="Tb_f_A25HYeS0C0dKfgrgcwjg_cont2"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company assessed whether it is probable that the Company will collect substantially all of the consideration to which it will be entitled in exchange for the products that will be transferred to the customer. As of December 31, 2018 and 2019, the Company had inventories of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_PublicUtilitiesInventoryAxis_csiq_UncollectableRevenueMember_TvJpH0SJtE-DtIo8F_DXEQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:InventoryNet" scale="6" id="Narr_kY9SUXtQw0-yHeqDkvuuAg">9.0</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_PublicUtilitiesInventoryAxis_csiq_UncollectableRevenueMember_mXmvI0l1EEeM5fFueacxQw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:InventoryNet" scale="6" id="Narr_9xIJIAmPNk2hIYTEsweFHA">7.7</ix:nonFraction>&#160;million, respectively, relating to sales to customers where revenues were not recognized because the collection of payment was determined to be not probable. The delivered products remain as inventories on consolidated balance sheets, regardless of whether the control has been transferred. If the collection of payment becomes probable in the future, the Company would then recognize revenue, adjust inventories and recognize cost of revenues. </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">O&amp;M services</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">O&amp;M services are transferred over time when customers receive and consume the benefits provided by the Company&#8217;s performance under the terms of service arrangements. Revenues from O&amp;M services are recognized overtime based on the work completed to date which does not require re-performances and the costs of O&amp;M services are expensed when incurred.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">EPC and development services</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">The Company recognizes revenue for sales of EPC and development services over time based on the estimated progress to completion using a cost-based input method. In applying the cost-based input method of revenue recognition, the Company use the actual costs incurred relative to the total estimated costs to determine the Company&#8217;s progress towards contract completion and to calculate the corresponding amount of revenue and gross profit to recognize. Cost-based input method of revenue recognition is considered a faithful depiction of the Company&#8217;s efforts to satisfy EPC and development services contracts and therefore reflect the transfer of goods or services to a customer under such contracts. Costs incurred towards contract completion may include costs associated with direct materials, labor, subcontractors, and other indirect costs related to contract performance. The cost-based input method of revenue recognition requires the Company  to make estimates of net contract revenues and costs to complete the Company&#8217;s projects. In making such estimates, significant judgment is required to evaluate assumptions related to the amount of net contract revenues, including the impact of any performance incentives, liquidated damages, and other payments to customers. Significant judgment is also required to evaluate assumptions related to the costs to complete the Company&#8217;s projects, including materials, labor, contingencies, and other system costs. If estimated total costs of any contract are greater than the estimated net revenues, of the contract, the Company recognizes the entire estimated loss in the period the loss becomes known. The cumulative effect of revisions to estimates related to net contract revenues and costs to complete contracts, including penalties, claims, change orders, performance incentives, anticipated losses, and others are recorded in the period in which revisions to estimates are identified and the amounts can be reasonably estimated. </span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Solar power projects</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Sales of solar power projects are recognized at a point in time when customers obtain control of solar power projects. For sales of solar power projects in which the company obtains an interest in the project sold to the customer, the Company recognizes all of the revenue for the consideration received, including the fair value of the non-controlling interest the Company obtained, and defer any profit associated with the interest obtained.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-21</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_5d9e877c_fc5a_4248_bf56_60a525c33b02"></a><a id="Tc_5t-xbhKV10yTWHzI2lhUuw_1_2"></a><a id="Tc_Sc1GqgxshkqZKYf6OCncvA_2_2"></a><a id="Tc_Ol8m7u9RgkWthJE5NJcNYQ_2_4"></a><a id="Tc_3gfGS7ZnhUmUyxJTf2F3pg_2_6"></a><a id="Tc_cJCRdKhcuESuFxJ2nQNuwA_3_2"></a><a id="Tc_1kUuLA1Ok0KlJTUkPPaDJg_4_0"></a><a id="Tc_VWn2PVpRWEm2mM0ovs76Lg_5_0"></a><a id="Tc_cr3v_T4Gzkut32BhOYmz4Q_6_0"></a><a id="Tc_w5AX_0n4u06SMEfqmYJizA_8_0"></a><a id="Tc_aJr11v9j-0-TlfAiyhzuuA_9_0"></a><a id="Tc_9LakGTWHzE-4ZtHeHinALA_10_0"></a><ix:continuation id="Tb_wqodQOLIk0qpY2jzsLARsg_cont12" continuedAt="Tb_wqodQOLIk0qpY2jzsLARsg_cont13"><ix:continuation id="Tb_f_A25HYeS0C0dKfgrgcwjg_cont2" continuedAt="Tb_f_A25HYeS0C0dKfgrgcwjg_cont3"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Electricity revenue</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Electricity revenue is generated primarily by the Company&#8217;s solar power plants under long-term PPAs and performance based energy incentives. For electricity sold under PPAs, the Company recognizes electricity revenue based on the price stated in the PPAs when electricity has been generated and transmitted to the grid. Performance-based energy incentives are awarded under certain state programs for the delivery of renewable electricity when the conditions attached to it have been met and there is reasonable assurance that the incentives will be received. During the years ended December 31, 2017, 2018 and 2019, the Company recognized performance-based energy incentives of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_Soojqgr3cUKB2qyCL8yiyg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="6" id="Narr_fbOy9lLCtUmlS-z8ZrETgg">10.9</ix:nonFraction> million, $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_ZAWDmQFn9E6h6EhTX_7omQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="6" id="Narr_7ORTE0V0uk6Xh84Qbj_FKg">4.7</ix:nonFraction> million, and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_BUFxCdL0A0y6BF12QikXqw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="6" id="Narr_RckIIpxizU-ThT7oXDnX6Q">3.9</ix:nonFraction> million, respectively, related to electricity generated and recognized in revenue.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Disaggregation of Revenue</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The table represents a disaggregation of revenue from contracts with customers for the years ended December 31, 2017, 2018, and 2019. See Segment Information Note 22 for details of revenues generated from each product or service and revenues generated from different geographic locations.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table represents a disaggregation of revenue recognized at a point in time or over time:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:DisaggregationOfRevenueTableTextBlock" id="Tb_XKHLQYQxJk2gB43KMxB1FA" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">MSS:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue recognized at a point in time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_QKxAMf0-RUuVnpa5Qx3uPQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ocADd6Q15kKaVq9tDiNhhg_5_2">2,705,985</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_GlG3OIvwy0uSqltQ5VaYKQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_kd9lf52Gw0iCBtOoC9DYgA_5_4">2,095,743</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_kqYJQ7mlgECOTJtnUDOsew" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_h94i-cCNxkq4IeUaN1Pg3A_5_6">2,238,310</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue recognized over time</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_xGoYbHVe-kWTZT4uU4a_yQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_qQ2ktVDxYUWaAvhkIQHqZA_6_2">6,938</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_fPGbU_p6XkysfyIatvq8Qw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_BOCfdY7NDEWdN0S1CrFLSg_6_4">73,175</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_fEC69IZKekeIix6zZJbfuw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_4XP0QZT4W0C8oCIY3ngrmg_6_6">242,828</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Energy:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue recognized at a point in time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_aDu_dfgu3ky_qZHc0wIUSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_LbIxNGmwvk2wHoIurQtcfQ_9_2">633,195</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_vxEfED5fB0WIbLKJSQuPTg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_2OtApepN9EKosgXWOwocTg_9_4">1,542,906</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_4C5vV0JRf06kUycJ0C1Beg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Eq4YcUMT-kinZMSymSsF_Q_9_6">668,476</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue recognized over time</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_sgvDmWqwaEuQg93l1PKZqA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_h2g5rdKhq0uGhjwFWmmMFw_10_2">44,275</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_ryBfuNTHlkGuLlfppM_PYw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_2_dRH44IWUG1ykoXkdAGAA_10_4">32,688</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_CDFN3rq2cEmAuhz7QKBAyw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_nRafzk7j1kWb_uYOBKPXyg_10_6">50,969</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Kc1UH4t5s0u2KJw24YQWGQ_11_2">3,390,393</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Xvhd0RqFz0WB8oz0_qQCIA_11_4">3,744,512</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_8nbBE6vu90mlcjY7mvFTxA_11_6">3,200,583</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;text-decoration:underline;visibility:hidden;">&#8203;</span></p></ix:continuation></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-22</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_e36cfd22_675b_43f9_82f4_726f70a4241d"></a><a id="Tc_xN3PGWU9BES5KndAR7arvg_1_2"></a><a id="Tc_vGrEuWmSDkim7xgo6WWBxA_1_4"></a><a id="Tc_lsQFJ_7COkiW5_t0Gu1Ahg_1_6"></a><a id="Tc_yeNwFT0BkkKBPny43Ek1pQ_2_2"></a><a id="Tc_mL7KnRabNUWg459M9It_lg_3_0"></a><a id="Tc_x9aBKOPkQ0Sb4TvdaxXpJA_4_0"></a><a id="Tc_0X1DHbHLRkaFLA3dBArPrA_6_0"></a><a id="Tc_HcYbmHOLZkO1zOtnJn4NDw_7_0"></a><a id="Tc_1N2LYWfwhE-MIUgria7Oew_8_0"></a><ix:continuation id="Tb_wqodQOLIk0qpY2jzsLARsg_cont13" continuedAt="Tb_wqodQOLIk0qpY2jzsLARsg_cont14"><ix:continuation id="Tb_f_A25HYeS0C0dKfgrgcwjg_cont3"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The Company&#8217;s contract assets and liabilities are as follow:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" id="Tb_srRq954XqESWH_5zv2-ACA" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:12.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,<br />2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;width:12.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December31,<br />2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fluctuation</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:40.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Contract Assets</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accounts receivables, unbilled</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnbilledReceivablesCurrent" scale="3" id="Tc_-fA-NU7SXkCb-4x7VBy65w_4_2">38</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnbilledReceivablesCurrent" scale="3" id="Tc_4OPpusb8tkOvAMbkFlzjMg_4_4">15,256</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInAccountsReceivablesUnbilled" scale="3" id="Tc_zcnGUtaCckC95N5diMBvCQ_4_6">15,218</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Contract Liabilities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Advances from customers</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_4O4pF2RG2Uy6RGXm8WCJXQ_7_2">39,024</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_KBKA1Ur0fEy2-JB2V2qkPA_7_4">134,806</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInAdvancesFromCustomers" scale="3" id="Tc_0QzX1KYdWEmhUEUu_XqJKQ_7_6">95,782</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ContractLiabilitiesOtherCurrentLiabilities" scale="3" id="Tc_bDvZRLrpjkSUhF_vciQXbg_8_2">51,381</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ContractLiabilitiesOtherCurrentLiabilities" scale="3" id="Tc_5KuDhrMS3keKOKfcA7dRoQ_8_4">20,917</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherCurrentLiabilitiesFluctuations" sign="-" scale="3" id="Tc_fizBVhI3sU22QrFaGncgVg_8_6">30,464</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiability" scale="3" id="Tc_87EajRlKR0iAf2K0g1BLDQ_9_2">90,405</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiability" scale="3" id="Tc_y1ThO5Ujq06eG8UWIj8Q_g_9_4">155,723</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInContractLiabilities" scale="3" id="Tc_OoW2uoENMUqP91mt3T1rSg_9_6">65,318</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;text-decoration:underline;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For the year ended December 31, 2019, $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" scale="6" id="Narr_R64pYR6glEejj8U4m06BDA">62.0</ix:nonFraction> million revenue is recognized from the beginning balance of contract liabilities as of January 1, 2019. Contract liabilities of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_csiq_cnst_2020-01-01_6S66jUOou0-n7G8ZoHbbPQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:RevenueRemainingPerformanceObligation" scale="6" id="Narr_CEuxQ_T5L0yTQDNB-NtSAA">155.7</ix:nonFraction> million as of December 31, 2019 are expected to be realized within <ix:nonNumeric contextRef="As_Of_12_31_2019_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_csiq_cnst_2020-01-01_6S66jUOou0-n7G8ZoHbbPQ" format="ixt-sec:durwordsen" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="Narr_G7cGX7z7DUuW8jMDgrXa9g">one year</ix:nonNumeric>.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Practical Expedients and Exemptions</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company applies the new revenue standard requirements to a portfolio of contracts (or performance obligations) with similar characteristics for transactions where it is expected that the effects on the financial statements of applying the revenue recognition guidance to the portfolio would not differ materially from applying this guidance to the individual contracts (or performance obligations) within that portfolio. Therefore, the Company has elected the portfolio approach in applying the new revenue guidance.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company has made an accounting policy election to not assess whether promised products are performance obligations if they are immaterial in the context of the contract with the customer. If the revenue related to a performance obligation that includes products that are immaterial in the context of the contract is recognized before those immaterial products are transferred to the customer, then the related costs to transfer those products are accrued.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company does not disclose the value of unsatisfied performance obligations for (i) contracts with an original expected length of one year or less and (ii) contracts for which the Company recognizes revenue at the amount to which it has the right to invoice for services performed.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company generally expenses incremental costs of obtaining a contract when incurred because the amortization period would be less than one year. The incremental costs are recorded in operating expense. Incremental costs of obtaining a contract with an amortization period more than one year are not material to the Company.</p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="csiq:ShippingsAndHandlingCostPolicyPolicyTextBlock" id="Tb_DHiu7AwKuUykLdH4zmVyjQ" continuedAt="Tb_DHiu7AwKuUykLdH4zmVyjQ_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(x)&#160;&#160;&#160;Shipping and handling costs</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Payments received from customers for shipping and handling costs are included in net revenues. Shipping and handling costs relating to sales of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_KrpZ0JApM0atDRTxQ0MKkg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingExpense" scale="3" id="Narr_OVkolovYtUKZOX_CukjPHw">79,853</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_X6HdNMxyLk6UYPVRb0alxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingExpense" scale="3" id="Narr_CaZwnash30KtzhVxI0F-5g">69,855</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_jjHP3wxIbk6iZgzCWyXAXA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingExpense" scale="3" id="Narr_p3VcyL0H_0-bftAxvENv_w">88,079</ix:nonFraction>, are included in selling expenses for the years ended December 31, 2017, 2018 and 2019, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-23</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_7Xlf8ZF0ekmVD-M28wI5iw_1_2"></a><a id="Tc_uH5cyq-btUy_nnW8VkcIww_2_2"></a><a id="Tc_TjbYgwWfQEGnP5Laf9xc8A_2_4"></a><a id="Tc_CMxruuh3QUKj6eMvdUFXJQ_2_6"></a><a id="Tc_h-8z3QxPRUuEAYwFZ0YnnA_3_2"></a><a id="Tc_mNllepXztEu88-PHNNRcwQ_3_4"></a><a id="Tc_qSvONLQPD0OWXmTcqlEvZg_3_6"></a><a id="Tc_FBK_9UmfLkOPkHRVOMdLbQ_4_0"></a><a id="Tc_SdtE9MPp6kSj0e7mvxdFdA_5_0"></a><a id="Tc_lY4UaRRhTE2PdgaEPgFRXA_6_0"></a><a id="Tc_STFpQH2c4EalXlpvLHvxiQ_7_0"></a><a id="Tc_w6enEZ0g3km9bK2f3-wI1A_7_4"></a><a id="Tc_4WHULItWoEuzI_stFOCXVA_7_6"></a><ix:continuation id="Tb_wqodQOLIk0qpY2jzsLARsg_cont14" continuedAt="Tb_wqodQOLIk0qpY2jzsLARsg_cont15"><ix:continuation id="Tb_DHiu7AwKuUykLdH4zmVyjQ_cont1"></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ResearchAndDevelopmentExpensePolicy" id="Tb_DTSoS1JfU0q1uPM-3NC43Q" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(y)&#160;&#160;&#160;&#160;Research and development</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Costs related to the design, development, testing and enhancement of products and silicon reclamation program are included in research and development expenses. Research and development costs are expensed when incurred and amounted to $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Narr_tGAaDwUBfEml3c3FkPgR7g">28,777</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Narr_ggVdOqp7b06paLx1LVVsZw">44,193</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Narr_V3X06S-FUEGbvT1J6ai45Q">47,045</ix:nonFraction> for the years ended December 31, 2017, 2018 and 2019, respectively.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="csiq:OtherOperatingIncomeExpensePolicyPolicyTextBlock" id="Tb_ZGJLKTB8fE-mXW9fTXxMyQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(z)</span><b style="font-weight:bold;">&#160;</b><span style="font-style:italic;font-weight:bold;">Other operating income, net</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Other operating income, net primarily consists of gains or losses on disposal of solar power systems and property, plant and equipment, and government grants received, and compensation from business interruption insurance.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Government grants received by the Company consist of unrestricted and restricted grants and subsidies. Unrestricted grants that allowed the Company&#8217;s full discretion in utilizing the funds are recognized as other operating income upon receipt of cash and when all the conditions for their receipt have been satisfied. Restricted grants related to prepaid land use rights, property, plants and equipment and certain projects, are recorded as deferred subsidies in other non-current liabilities and are amortized on a straight-line basis over the term of related assets.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s other operating income, net:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="csiq:ScheduleOfOtherOperatingIncomeExpenseTableTextBlock" id="Tb_mTB2sA-zVU-7lTSdq2md1Q" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net gain on disposal of solar power system</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" scale="3" id="Tc_lwNk0Of5j0GmqRGPxxwcag_4_2">27,803</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" scale="3" id="Tc_rMqsW7YgrEqrj6jNlymxWQ_4_4">36,098</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" scale="3" id="Tc_wh9dZdd-j0KzIvTs7poH7w_4_6">1,666</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net loss on disposal of property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" scale="3" id="Tc__n8i7MB65EeE6ssHeRJjNg_5_2">1,960</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" scale="3" id="Tc_o51hLgoLzkayhlSReB7fvg_5_4">2,565</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" scale="3" id="Tc_iPLfGaAmLECIJwZOQL3qZQ_5_6">1,227</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Government grants</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_us-gaap_GrantMember_IyVp6WbfrEmmRnpLB78etw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_O680W_KDskaUBW_nHEIRRQ_6_2">6,473</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_us-gaap_GrantMember_2srcXON2jEuS-ffiEI4ABA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_q4iehGC_g0mPFgczWNOBfw_6_4">11,013</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_GrantMember_GSLY653ToEWIvP0MwCXxPg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_ZNJ2wgoBlU6tzz-HEkoBEw_6_6">10,097</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Business interruption insurance compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainOnBusinessInterruptionInsuranceRecovery" scale="3" id="Tc_uLSULGG7KUKoHGYXHN0Tlg_7_2">15,238</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_cIW6dw2nSkGAT46IvAnYJw_8_2">47,554</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_-ANu8VjtTky59k9s49w8oQ_8_4">44,546</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_9aeHZrLhK0WGT8yzK13bpA_8_6">10,536</ix:nonFraction>)</p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:StandardProductWarrantyPolicy" id="Tb_0cx_1zS89Uy5veFVWZTzXA" continuedAt="Tb_0cx_1zS89Uy5veFVWZTzXA_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aa)&#160;Warranty cost</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Before June 2009, the Company typically sold its standard solar modules with a <ix:nonNumeric contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_OIwjmEy-g0-jBi_IfTdnJg" format="ixt-sec:durwordsen" name="csiq:StandardProductWarrantyPeriod" id="Narr_jkJhYqBo1kmYN4R6FzvwTA">two-year</ix:nonNumeric> guarantee for defects in materials and workmanship and a <ix:nonNumeric contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_OIwjmEy-g0-jBi_IfTdnJg" format="ixt-sec:durwordsen" name="csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" id="Narr_kJO3uD0a7U-oyzI0w8RGaw">10-year</ix:nonNumeric> and <ix:nonNumeric contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_OIwjmEy-g0-jBi_IfTdnJg" format="ixt-sec:durwordsen" name="csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" id="Narr_TN5VjgqnD0SYO0Rl94Nbzg">25-year</ix:nonNumeric> warranty against declines of more than <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_OIwjmEy-g0-jBi_IfTdnJg" decimals="2" format="ixt:numdotdecimal" name="csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" scale="-2" id="Narr_cgtOs1-eOEmr7ixTQmlEeg">10</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_OIwjmEy-g0-jBi_IfTdnJg" decimals="2" format="ixt:numdotdecimal" name="csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" scale="-2" id="Narr_XLNDOiKIwUKSWZnXpTLVXQ">20</ix:nonFraction>%, respectively, from the initial minimum power generation capacity at the time of delivery. In June 2009, the Company increased its guarantee for defects in materials and workmanship to <ix:nonNumeric contextRef="Duration_6_1_2009_To_6_30_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_t8cQY5bAzU-yeV-sxSagdA" format="ixt-sec:durwordsen" name="csiq:InsurancePolicyTerm" id="Narr_JNiPe8jn7EC_7KSdA8Pi-g">six years</ix:nonNumeric>. In August 2011, the Company increased its guarantee for defects in materials and workmanship to <ix:nonNumeric contextRef="Duration_8_1_2011_To_8_31_2011_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_MIQgX1VwqEybOAeurlaxHg" format="ixt-sec:durwordsen" name="csiq:InsurancePolicyTerm" id="Narr_SnAGdNP2qkK8f5b-JKs5vA">ten years</ix:nonNumeric>.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-24</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_wqodQOLIk0qpY2jzsLARsg_cont15" continuedAt="Tb_wqodQOLIk0qpY2jzsLARsg_cont16"><ix:continuation id="Tb_0cx_1zS89Uy5veFVWZTzXA_cont1" continuedAt="Tb_0cx_1zS89Uy5veFVWZTzXA_cont2"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2019, the Company increased its guarantee for defects in materials and workmanship up to <ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_XhAYtJxcUkeQuRT0kk1amw" format="ixt-sec:durwordsen" name="csiq:InsurancePolicyTerm" id="Narr_tpByK_fiMEC53bME5Cw1HA">twelve years</ix:nonNumeric> and the Company warrant that, for a period of <ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_7rh37m38QEi6EfxAGudRHQ" format="ixt-sec:durwordsen" name="csiq:InsurancePolicyTerm" id="Narr_JAs3jUib1EuVvsgX7vB_Dw">25 years</ix:nonNumeric>, its standard polycrystalline modules will maintain the following performance levels: (i) during the first year, the actual power output of the module will be no less than <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetySevenPercentInitialPowerCapacityMember_gyvGzgoBPk6U5a_JhPV_mg" decimals="3" format="ixt:numdotdecimal" name="csiq:ProductWarrantyAccrualRateForSalesOfSolarModules" scale="-2" id="Narr_ycr0kDtC70OBnjdEHEGeNQ">97.5</ix:nonFraction>% of the labeled power output; (ii) from the second year to the 24th year, the actual annual power output decline of the module will be no more than <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetyThreeInitialPowerCapacityMember_e6D4t8_Q3k6-4Du3ukDoww" decimals="3" format="ixt:numdotdecimal" name="csiq:ProductWarrantyAccrualRateForSalesOfSolarModules" scale="-2" id="Narr_n3Va-n5pOU6Ub4fhYuslKg">0.7</ix:nonFraction>%; and (iii) by the end of the 25th year, the actual power output of the module will be no less than <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_GuaranteeObligationsByNatureAxis_csiq_EightyPercentInitialPowerCapacityMember_ovzvu2KUh0q2ohJZ4l8x7Q" decimals="3" format="ixt:numdotdecimal" name="csiq:ProductWarrantyAccrualRateForSalesOfSolarModules" scale="-2" id="Narr_BjS1NwGIq0KJHw_0UX2ynA">80.7</ix:nonFraction>% of the labeled power output.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company has lengthened the warranty against decline in performance for its bifacial module and double glass module products to <ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_BifacialModuleAndDoubleGlassModuleMember_GaiVxGQb-Ea-Pf708CGEmA" format="ixt-sec:durwordsen" name="csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" id="Narr_iSRSUa7m2kimhO8Om8acBQ">30 years</ix:nonNumeric>.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For solar power projects built by the Company, the Company provides a limited workmanship or balance of system warranty against defects in engineering design, installation and construction under normal use, operation and service conditions for a period of up to <ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarPowerProjectMember_bm-757FtQU68ZBQWkstNJQ" format="ixt-sec:durwordsen" name="csiq:StandardProductWarrantyPeriod" id="Narr_8gguWfQAxkme8TNUu1A3UQ">ten years</ix:nonNumeric> following the energizing of the solar power project. In resolving claims under the workmanship or balance of system warranty, the Company has the option of remedying through repair, refurbishment or replacement of equipment. The Company has entered into similar workmanship warranties with its suppliers to back up its&#160;warranties.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company maintains warranty reserves to cover potential liabilities that could arise under these guarantees and warranties. Due to limited warranty claims to date, the Company accrues the estimated costs of warranties based on an assessment of its competitors&#8217; and its own actual claim history, industry-standard accelerated testing, estimates of failure rates from the Company&#8217;s quality review, and other assumptions that the Company believes to be reasonable under the circumstances. Actual warranty costs are accumulated and charged against the accrued warranty liability. To the extent that accrual for warranty costs differs from the estimates, the Company will prospectively revise its accrual rate. The Company currently records a <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="2" format="ixt:numdotdecimal" name="csiq:ProductWarrantyAccrualRateForSalesOfSolarModules" scale="-2" id="Narr_5obfnDzSYESUX6iZnqcgDg">1</ix:nonFraction>% warranty provision against the revenue for sales of solar power&#160;products.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company has entered into agreements with a group of insurance companies with high credit ratings to back up its warranties. Under the terms of the insurance policies, which are designed to match the terms of the Company&#8217;s solar&#160;module product warranty policy, the insurance companies are obliged to reimburse the Company, subject to certain maximum claim limits and certain deductibles, for the actual product warranty costs that the Company incurs under the terms of its solar&#160;module product warranty policy. The Company records the insurance premiums initially as prepaid expenses and amortizes them over the respective policy period of <ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" format="ixt-sec:durwordsen" name="csiq:InsurancePolicyTerm" id="Narr_LqpZMl0SikKSyVwiKSvwoA">one year</ix:nonNumeric>. The unamortized carrying amount is $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:InsurancePremiumUnamortizedAmountNoncurrent" scale="3" id="Narr_2KOpfEZO1ECW5KHFaX43ng">1,286</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:InsurancePremiumUnamortizedAmountNoncurrent" scale="3" id="Narr_9zEKANnuqUKlVJLBAnfx5Q">1,486</ix:nonFraction> as of December 31, 2018 and 2019, respectively and was included as a component of prepaid expenses and other current&#160;assets.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-25</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_wqodQOLIk0qpY2jzsLARsg_cont16" continuedAt="Tb_wqodQOLIk0qpY2jzsLARsg_cont17"><ix:continuation id="Tb_0cx_1zS89Uy5veFVWZTzXA_cont2"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The warranty obligations the Company records relate to defects that existed when the product was sold to the customer. The event which the Company is insured against through its insurance policies is the sale of products with these defects. Accordingly, the Company views the insured losses attributable to the shipment of defective products covered under its warranty as analogous to potential claims, or claims that have been incurred as of the product ship date, but not yet reported. The Company expects to recover all or a portion of the cost of its obligations with respect to the defective products through insurance claims. Therefore, the Company&#8217;s accounting policy is to record an asset for the amount determined to be probable of recovery from the insurance claims (not&#160;to exceed the amount of the total losses incurred), consistent with the guidance set forth at ASC&#160;410-30.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company considers the following factors in determining whether an insurance receivable that is probable and recoverability can be reasonably estimated: (i) reputation and credit rating of the insurance company; (ii) comparison of the solar module product warranty policy against the terms of the insurance policies, to ensure valid warranty claims submitted by customers will be covered by the policy and therefore reimbursed by the insurance companies; and (iii) with respect to specific claims submitted, written communications from the insurance company are monitored to ensure the claim has been submitted to the insurance company, and reimbursements are probable to be subsequently collected. The successfully processed claims provide further evidence that the insurance policies are functioning as anticipated.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">To the extent uncertainties regarding the solvency of insurance carriers or the legal sufficiency of insurance claims (including if they became subject to litigation) were to arise, the Company will establish a provision for uncollectible amounts based on the specific facts and circumstances. To date, no provision had been determined to be necessary. In addition, to the extent that accrual for warranty costs differs from the estimates and the Company prospectively changes its accrual rate, this change may result in a change to the amount expected to be recovered from&#160;insurance.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As the warranty obligation and related recovery asset do not meet the criteria for offsetting, the gross amounts are reported in the Company&#8217;s consolidated balance sheets. The asset is expected to be realized over the life of the warranty obligation, which is <span style="-sec-ix-hidden:Hidden_QfSZT8C17EqqpvabdpjiWw"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">25</span></span> or <ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_DZYOKKqhF0210mfrrrZweA" format="ixt-sec:durwordsen" name="csiq:InsurancePolicyTerm" id="Narr_KMurX0j6hESTk6TkkFrb9w">30 years</ix:nonNumeric> and is treated as a non-current asset consistent with the underlying warranty obligation. When a specific claim is submitted, and the corresponding insurance proceeds will be collected within twelve months of the balance sheet date, the Company will reclassify that portion of the receivable as being current. The insurance receivable amounts were $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InsuranceSettlementsReceivableNoncurrent" scale="3" id="Narr_knvjv__99US4lAJjpQ3xBw">75,617</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InsuranceSettlementsReceivableNoncurrent" scale="3" id="Narr_r46Fw1na_EWtMxqPkHlnew">79,888</ix:nonFraction> as of December 31, 2018 and 2019, respectively, and were included as a component of other non-current assets.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company made downward adjustments to its accrued warranty costs of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease" scale="3" id="Narr_miemmXa-CkWj3r_thGn1LA">1,446</ix:nonFraction> and other non-current assets of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherNoncurrentAssetsAdjustment" scale="3" id="Narr_Ou51d-oYQEq7-bHMsIxHwQ">800</ix:nonFraction>, for the year ended December 31, 2019, to reflect the general declining trend of the average selling price of solar modules, which is a primary input into the estimated warranty costs. Accrued warranty costs (net effect of adjustments) of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyExpense" scale="3" id="Narr_6JkUQO9OD0yKJ2XjZQw9PA">19,793</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyExpense" scale="3" id="Narr_Wxof2A4UzEC8m4Ob1o_Lqg">13,188</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyExpense" scale="3" id="Narr_gh3YRSvLJESFtADz6y_8Ig">28,044</ix:nonFraction> are included in cost of revenues for the years ended December 31, 2017, 2018 and 2019, respectively.</p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" id="Tb_l9cwlbvsA0-_8Kc3KWyD7Q" continuedAt="Tb_l9cwlbvsA0-_8Kc3KWyD7Q_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-26</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_wqodQOLIk0qpY2jzsLARsg_cont17" continuedAt="Tb_wqodQOLIk0qpY2jzsLARsg_cont18"><ix:continuation id="Tb_l9cwlbvsA0-_8Kc3KWyD7Q_cont1"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ab)&#160;Foreign currency translation</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The United States dollars (&#8220;U.S. dollars&#8221; or &#8220;$&#8221;), the currency in which a substantial amount of the Company&#8217;s transactions are denominated, is used as the functional and reporting currency of CSI. Monetary assets and liabilities denominated in currencies other than the U.S. dollars are translated into U.S. dollars at the rates of exchange ruling at the balance sheet date. Transactions in currencies other than the U.S. dollars during the year are converted into the U.S. dollars at the applicable rates of exchange prevailing on the transaction date. Transaction gains and losses are recognized in the consolidated statements of operations. Gains and losses on intra-entity foreign currency transactions that are of a long-term-investment nature (that is, settlement is not planned or anticipated in the foreseeable future) between consolidated entities are not recognized in earnings, but are included as a component of other comprehensive income.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The financial records of certain of the Company&#8217;s subsidiaries are maintained in local currencies other than the U.S. dollars, such as Renminbi (&#8220;RMB&#8221;), Euros, Canadian dollars (&#8220;CAD&#8221;), Japanese yen and Brazilian reals (&#8220;BRL&#8221;), which are their functional currencies. Assets and liabilities are translated at the exchange rates at the balance sheet date, equity accounts are translated at historical exchange rates and revenues, expenses, gains and losses are translated using the average rate for the year. Translation adjustments are reported as foreign currency translation adjustment and are shown as a separate component of other comprehensive income in the statements of comprehensive income.</p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ComprehensiveIncomePolicyPolicyTextBlock" id="Tb_SOBgQTtu3U29QkCJypCfYQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ac)&#160;Comprehensive income</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Comprehensive income includes all changes in equity except those resulting from investments by owners and distributions to owners. For the years presented, total comprehensive income included (i)&#160;net income, (ii)&#160;foreign currency translation adjustments, (iii)&#160;gains and losses on intra-entity foreign currency transactions that are of a long-term-investment nature (that is, settlement is not planned or anticipated in the foreseeable future) between consolidated entities and (iv) the unrealized gains or losses (effective portion) on derivative instruments that qualify for and have been designated as cash flow hedges. </p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="csiq:ForeignCurrencyRiskPolicyTextBlock" id="Tb_WIsBmFOA0EuihwtnPh3a8w" continuedAt="Tb_WIsBmFOA0EuihwtnPh3a8w_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ad)&#160;Foreign currency risk</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The majority of the Company&#8217;s sales in 2017, 2018 and 2019 were denominated in U.S. dollars, Renminbi and Japanese yen, with the remainder in other currencies such as Euros, Brazilian reals, Australian dollars, Canadian dollars.. The Company&#8217;s Renminbi costs and expenses are primarily related to the sourcing of solar cells, silicon wafers and silicon, other raw materials, including aluminum and silver paste, toll manufacturing fees, labor costs and local overhead expenses within the PRC. From time to time, the Company enters into loan arrangements with commercial banks that are denominated primarily in Renminbi, U.S. dollars and Japanese yen. Most of its cash and cash equivalents and restricted cash are denominated in Renminbi. Fluctuations in exchange rates, particularly between the U.S. dollars, Renminbi, Thailand Baht, British pounds, Canadian dollars, Japanese yen and Euros, may result in foreign exchange gains or losses. Since 2008, the Company has hedged part of its foreign currency exposures against the U.S. dollars using foreign currency forward or option contracts.</p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-27</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_wqodQOLIk0qpY2jzsLARsg_cont18" continuedAt="Tb_wqodQOLIk0qpY2jzsLARsg_cont19"><ix:continuation id="Tb_WIsBmFOA0EuihwtnPh3a8w_cont1"></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ConcentrationRiskCreditRisk" id="Tb_eevuNVUV-EWQXTCrbgllOg" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ae)&#160;Concentration of credit risk</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Financial instruments that potentially expose the Company to concentrations of credit risk consist primarily of cash and cash equivalents, restricted cash, accounts receivable, advances to suppliers and amounts due from related parties. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">All of the Company&#39;s cash and cash equivalents are held with financial institutions that Company management believes to have high credit quality.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company conducts credit evaluations of customers and generally does not require collateral or other security from its customers. The Company establishes an allowance for doubtful accounts primarily based upon the age of the receivables and factors surrounding the credit risk of specific customers. With respect to advances to suppliers, such suppliers are primarily suppliers of raw materials. The Company performs ongoing credit evaluations of its suppliers&#39; financial conditions. The Company generally does not require collateral or security against advances to suppliers, however, it maintains a reserve for potential credit losses and such losses have historically been within management&#39;s expectation.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The prepayments made by the Company are unsecured and expose the Company to supplier credit risk. As of December 31, 2018 and 2019, prepayments made to individual suppliers were all less than 10% of total advances to suppliers and the concentration risk is relatively low.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:FairValueOfFinancialInstrumentsPolicy" id="Tb_AXt9SAnDUEuhkkgcr5KiWg" continuedAt="Tb_AXt9SAnDUEuhkkgcr5KiWg_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(af)&#160;Fair value of financial instruments</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company applies authoritative guidance for fair value measurements for its financial assets and liabilities. The guidance defines fair value as an exit price representing the amount that would be received upon the sale of an asset or paid to transfer a liability in an orderly transaction between market participants. The guidance also establishes a fair value hierarchy, which prioritized the inputs used in measuring fair value. The standard describes three levels of inputs that may be used to measure fair value:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Level 1</i>&#8212;Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets. The Company&#8217;s restricted cash balance for all periods presented uses level one fair value inputs.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Level 2</i>&#8212;Inputs reflect quoted prices for identical assets or liabilities in markets that are not active; quoted prices for similar assets or liabilities in active markets; inputs other than quoted prices that are observable for the assets or liabilities; or inputs that are derived principally from or corroborated by observable market data by correlation or other means.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Level 3&#8212;</i>Unobservable inputs reflecting the Company&#8217;s own assumptions incorporated in valuation techniques used to determine fair value. These assumptions are required to be consistent with market participant assumptions that are reasonably available.<span style="font-style:italic;font-weight:bold;"> </span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-28</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_wqodQOLIk0qpY2jzsLARsg_cont19" continuedAt="Tb_wqodQOLIk0qpY2jzsLARsg_cont20"><ix:continuation id="Tb_AXt9SAnDUEuhkkgcr5KiWg_cont1"></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:DerivativesPolicyTextBlock" id="Tb_kNkqE0jLXE6VmsmiQB9g-A" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ag)&#160;Derivatives instruments and hedging activity</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company&#8217;s primary objective for holding derivative financial instruments is to manage risks. Depending on the terms of the specific derivative instruments and market conditions, some of the Company&#8217;s derivative instruments may be assets and liabilities at any particular point in time. The recognition of gains or losses resulting from changes in fair value of these derivative instruments is based on the use of each derivative instrument and whether it qualifies for hedge accounting.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company enters into derivatives to hedge its foreign currency risk exposure to losses from price adjustments of electricity and interest rate risk. When the Company determines to designate a derivative instrument as a cash flow hedge, the Company formally documents the hedging relationship and its risk management objective and strategy for undertaking the hedge, the hedging instrument, the hedged item, the nature of the risk being hedged, how the hedging instrument&#8217;s effectiveness in offsetting the hedged risk will be assessed, and a description of the method of measuring ineffectiveness. The Company also formally assesses, both at the hedge&#8217;s inception and on an ongoing basis, whether the derivative that is used in hedging transactions is highly effective in offsetting changes in cash flows of hedged items. The effective portion of gains and losses on derivatives designated as cash flow hedges are initially deferred in other comprehensive income before being recognized in the statements of operations in the same period as the hedged transactions are reflected in earnings. Gains and losses on derivatives that are not designated or fail to qualify as effective hedges are recognized in the statements of operations as incurred.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Fair value of the derivative instruments is determined using pricing models developed based on the underlying price of the hedged items. The values are also adjusted to reflect nonperformance risk of the counterparty and the Company, as necessary. </p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:EarningsPerSharePolicyTextBlock" id="Tb__nPIKehUMEG82tJTCPmTjA" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ah)&#160;Earnings (loss) per share</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Basic earnings (loss) is computed by dividing income (loss) attributable to holders of common shares by the weighted average number of common shares outstanding during the year. Diluted earnings (loss) per common share reflects the potential dilution that could occur if securities or other contracts to issue common shares were exercised or converted into common shares. Common share equivalents are not included in the calculation of dilutive earnings per share if their effects are anti-dilutive.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy" id="Tb_4oLlyDC0xE6-hFga8PECWQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ai)&#160;Share-based compensation</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s share-based compensation with employees, such as share options, restricted shares and restricted share units (&#8220;RSUs&#8221;), is measured at the grant date, based on the fair value of the award, and is recognized as compensation expense, net of estimated forfeitures, over the period during which an employee is required to provide service in exchange for the award, which is generally the vesting&#160;period.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="Tb_kt5kv_jPqkW2PLg6o-IFsA" continuedAt="Tb_kt5kv_jPqkW2PLg6o-IFsA_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-29</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_wqodQOLIk0qpY2jzsLARsg_cont20" continuedAt="Tb_wqodQOLIk0qpY2jzsLARsg_cont21"><ix:continuation id="Tb_kt5kv_jPqkW2PLg6o-IFsA_cont1" continuedAt="Tb_kt5kv_jPqkW2PLg6o-IFsA_cont2"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aj)&#160;Recently issued accounting pronouncements</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In February 2016, the FASB issued ASU 2016-02, &quot;Leases (Topic 842)&quot;, requires the recognition of right-of-use (&quot;ROU&quot;) assets and lease liabilities on the balance sheet and changes the pattern of expense recognition in the statement of operations. In July 2018, the FASB issued ASU 2018-11, &#8220;Leases (Topic 842)&#8212;Targeted Improvements&#8221;, which provided an optional transition method to apply the new lease requirements through a cumulative-effect adjustment in the period of adoption.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company adopted the new standard on January 1, 2019 using this optional transition method to all leases existed at the date of initial application. In addition, the Company elected the transition practical referred to as the &#8220;package of three&#8221;, that must be taken together and allows entities to (1) not reassess whether existing contracts contain leases, (2) carryforward the existing lease classification, and (3) not reassess initial direct costs associated with existing leases. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">This adoption primarily affects the Company&#39;s leases arrangements previously accounted for under Topic 840. As a result of adoption, the Company recognized right-of-use (&quot;ROU&quot;) assets and lease liabilities on the balance sheet for operating leases of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_1_1_2019_JrXLyDz_iE6bXdd_RjWC4w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="Narr_QsIDYus2ZU6AZo0GS3fbag">33,829</ix:nonFraction>. Upon adoption of ASC 842, the Company elected to use the remaining lease term as of January 1, 2019 in the estimation of the applicable discount rate for leases that were in place at adoption. For the initial measurement of the lease liability for leases commencing after January 1, 2019, the Company use the discount rate as of the commencement date of the lease, incorporating the entire lease term. The treatment of finance leases has no difference with that under Topic 840 and there is no significant impact on results of operations or cash flows.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The reported results for year 2019 reflect the adoption of Topic 842, while the reported results for year 2017 and 2018 were prepared under the previous lease accounting guidance. There is no impact to the beginning balance of retained earnings on January 1, 2019 for this adoption.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In June 2016, the FASB issued ASU 2016-13, &#8220;Financial Instruments&#8212;Credit Losses (Topic 326)&#8221;, which has been subsequently updated by ASU 2019-04, 2019-05, 2019-10, 2019-11 and 2020-03. The amendments change the impairment model for most financial assets, and will require the use of an &#8220;expected loss&#8221; model for instruments measured at amortized cost. Under this model, entities will be required to estimate the lifetime expected credit loss on such instruments and record an allowance to offset the amortized cost basis of the financial asset, resulting in a net presentation of the amount expected to be collected on the financial asset. This pronouncement is effective for fiscal years, and for interim periods within those fiscal years, beginning after December 15, 2019. The Company does not expect a material impact to its consolidated financial statement upon adoption of this ASU.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-30</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_wqodQOLIk0qpY2jzsLARsg_cont21"><ix:continuation id="Tb_kt5kv_jPqkW2PLg6o-IFsA_cont2"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="white-space:pre-wrap;">In August 2018, the FASB issued ASU 2018-13, &#8220;Fair Value Measurement (Topic 820): Disclosure Framework&#8211;Changes to the Disclosure Requirements for Fair Value&#8221;. ASU 2018-13 removes and modifies existing disclosure requirements on fair value measurement, namely regarding transfers between levels of the fair value hierarchy and the valuation processes for Level 3 fair value measurements. Additionally, ASU 2018-13 adds further disclosure requirements for Level 3 fair value measurements, specifically changes in unrealized gains and losses and other quantitative information. ASU 2018-13 is effective for fiscal years and interim periods within those fiscal years, beginning after December 15, 2019, with early adoption permitted.  The Company does not expect a material impact to its consolidated financial statement upon adoption of this ASU.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In October 2018, the FASB issued ASU 2018-17, &#8220;Consolidation (Topic 810): Targeted Improvements to Related Party Guidance for Variable Interest Entities&#8221;, which expands variable interests to indirect interests held through related parties under common control. ASU 2018-17 is effective for fiscal years and interim periods within those fiscal years, beginning after December 15, 2019, with early adoption permitted. It is required to be applied retrospectively with a cumulative-effect adjustment to retained earnings at the beginning of the earliest period presented. The Company does not expect a material impact to its consolidated financial statement upon adoption of this ASU.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">In December 2019, the FASB issued ASU 2019-12, Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes (&#8220;ASU 2019-12&#8221;), which simplifies income tax accounting in various areas including, but not limited to, the accounting for hybrid tax regimes, tax implications related to business combinations, and interim period accounting for enacted changes in tax law, along with some codification improvements. ASU 2019-12 is effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2020, with early adoption permitted. Certain changes in the standard require retrospective or modified retrospective adoption, while other changes must be adopted prospectively. The Company is currently evaluating ASU 2019-12 and its impact on its consolidated financial statements.</p></ix:continuation></ix:continuation><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-31</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_pS1G4_HH70m6Gl2RRAQzuQ_1_2"></a><a id="Tc_MakDn51IOkG02LMPd2adVA_2_2"></a><a id="Tc_LZhddPaH_kyIbzTwNK_jyw_2_4"></a><a id="Tc_FX07fxNeaUSweq9afZftnA_2_6"></a><a id="Tc_KFm2KYGWcku9Ne3B21JL1g_3_2"></a><a id="Tc_z_QKZ7NWP0W_SNKrN4B3jw_3_4"></a><a id="Tc_GWKIb--VMUG2Nzr3oN-dkQ_3_6"></a><a id="Tc_JJZdz8pQ-UGLHMECz8blzA_4_0"></a><a id="Tc_5co5bUoKOkyQTucBVMr1bw_5_0"></a><a id="Tc_1gwlPv-3yk2FFcPP6psOeg_6_0"></a><a id="Tc_opiN-kGnqUO0_2FaaMWhVQ_7_0"></a><a id="Tc_w5Xui7ZJbkyHpKQSXptFow_8_0"></a><a id="Tc_H1JsX4T9LUSMXwW38l8_bA_1_2"></a><a id="Tc_YIJiqIRzFEmTu8lVj2gNoA_2_2"></a><a id="Tc_qGUWch7hyEqR0EpxGhIxXw_2_4"></a><a id="Tc_BwngSVNPVUmKU1_q_GDC0A_2_6"></a><a id="Tc_VerjO0aH10W5E7gkNyDpLA_3_2"></a><a id="Tc_--5iTki3SUaCnjzStc8omA_3_4"></a><a id="Tc_nms5ozmFckq1kU5jc5xcWQ_3_6"></a><a id="Tc_7gEE7s_0WkKWtkdRP_CulQ_4_0"></a><a id="Tc_e81N4FeRt0icsjgoL26nlg_5_0"></a><a id="Tc_N_xg1x-oQkiqGYTkcOVTKA_6_0"></a><a id="Tc_rmeRt1kaEEay68JH4Lpj6Q_6_2"></a><a id="Tc_4jNX0QZ3WkemfT6gl5H9nA_6_4"></a><a id="Tc_tmUpDmfGak-bj_BO4588_Q_7_0"></a><a id="Tc_8-xmlVAUiUW2kb3tqB8Exw_8_0"></a><a id="Tc_Yp0gaQU19UGwXmSb9KJl3w_1_2"></a><a id="Tc_zxeAmauvnEy5g1-rRBUqgQ_2_2"></a><a id="Tc_7gdFIsNy4UiRDna861Jq9g_2_4"></a><a id="Tc_dDlT5-L3UkWja0A3yIZoUw_2_6"></a><a id="Tc_elRBVoDibUeR8m3LKmy_cg_3_2"></a><a id="Tc_UyCbduVM1Euqp6PxEk6V9A_3_4"></a><a id="Tc_fy8jMMErxk6-PXs3JyQsEA_3_6"></a><a id="Tc_BxbohtabJ0mB_7H0-tXarA_4_0"></a><a id="Tc__PFWEbo8CEmGrZqJ19LFfA_5_0"></a><a id="Tc_ikuUl9WN-0O1cd27x_zMJg_6_0"></a><a id="Tc_T5SZpgUgQ0KXs6NnoklXCQ_7_0"></a><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:AllowanceForCreditLossesTextBlock" id="Tb_er5wBCflKkWMa2tcauLzzA" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">3.&#160;ALLOWANCE FOR DOUBTFUL ACCOUNTS</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Allowance for doubtful accounts are comprised of allowances for accounts receivable trade, advances to&#160;suppliers and other receivables.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">An analysis of allowances for accounts receivable, trade for the years ended December 31, 2017, 2018 and 2019 is as&#160;follows:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_tq-G0UD3eEqDOF452JF6iA" name="us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" id="Tb_qO3ujPwtl068I-T3gpQVbQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Beginning of the year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2016_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_mZ3g8MrpQ0-vybcY6Rvc3A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_94pLOJl3p0mhH5_KSJADmg_4_2">26,119</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_-ZDYmEARK0q3GwoucbAxwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_Y2xCZV71z0OPCd7TwZmnYA_4_4">32,941</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_rPxbvVZoyUOdbR494kekJQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_ZO5JkFUtjEaK_mOafvavbg_4_6">32,733</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Allowances made (reversed) during the year, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_JJciRvPUpECtWVLfVRf7Qw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" scale="3" id="Tc_jYwn66_tlUiLxsCAit4-7g_5_2">5,345</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_qw-rezekUkyLyb8G-vtAGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" scale="3" id="Tc_lvIgbWno-kKwoGbjcUpWHQ_5_4">869</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_tq-G0UD3eEqDOF452JF6iA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" sign="-" scale="3" id="Tc_NyAmy2SzxUC4DbCTmVbHUw_5_6">1,386</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accounts written-off against allowances</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_JJciRvPUpECtWVLfVRf7Qw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="Tc_XWgzVASkx0uemEBx2pAWbA_6_2">174</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_qw-rezekUkyLyb8G-vtAGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="Tc_hAtk6w0NrECH5LsvbxIvxQ_6_4">297</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_tq-G0UD3eEqDOF452JF6iA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="Tc_kcD68A5O_kicJXggeAQZZg_6_6">309</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_JJciRvPUpECtWVLfVRf7Qw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" scale="3" id="Tc_YEsJL4XcsEuDAIbYMQ3XCg_7_2">1,651</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_qw-rezekUkyLyb8G-vtAGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" sign="-" scale="3" id="Tc_eLFxjWcGvUOYuP5d0w64sQ_7_4">780</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_tq-G0UD3eEqDOF452JF6iA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" sign="-" scale="3" id="Tc_4qnhX-h22EKSX-9FdddyMw_7_6">1,493</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Closing balance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_-ZDYmEARK0q3GwoucbAxwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_f2Sll-fSw0eXwaT2s0ygHg_8_2">32,941</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_rPxbvVZoyUOdbR494kekJQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_sP2J1tertESXT1aXDJC-MQ_8_4">32,733</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_5lpDB7_z30avE2UgNnsrpg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_K5UiFf8McUSfd-Kiv0jUmw_8_6">29,545</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">An analysis of allowances for advances to suppliers for the years ended December 31, 2017, 2018 and 2019 is as&#160;follows:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_08NS4dDeZkW17xdMEfRQ9w" name="us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" id="Tb_ToenKxpPG0eJ0CSRSpAbhw" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Beginning of the year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2016_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_xssyVKCLdUyZfs-laxRgLg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" id="Tc_YnKt-wqVakWyI3C1YkK8dA_4_2">19,527</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_rzoWy5S0EkWwbsFQPMyqGg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" id="Tc_nE3UNz-N8k-xg4AdFlxfzg_4_4">18,762</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_Hu3uJbMqmEG18Ij44StFEw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" id="Tc_kUrWt0qpPUmYPI9b6v2bOw_4_6">20,926</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Allowances made (reversed) during the year, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_b6e0wD063U6jthTtcMue7A" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" sign="-" scale="3" id="Tc_wPJVfryRIEqzpI5M_7fzbQ_5_2">833</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_tYZydkbTaU2vPy50VkeoYw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" scale="3" id="Tc_YIsMpFPRJ0CkntrtYvMnJw_5_4">2,287</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_08NS4dDeZkW17xdMEfRQ9w" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" scale="3" id="Tc_XysySH2ctEi-bMhkcfD0RQ_5_6">738</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accounts written-off against allowances</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_08NS4dDeZkW17xdMEfRQ9w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="Tc_FBzj0KAmMkaCJlXJBtke3g_6_6">1,452</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_b6e0wD063U6jthTtcMue7A" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" scale="3" id="Tc_iQXrSwCSekqOCqSm_VF8Fg_7_2">68</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_tYZydkbTaU2vPy50VkeoYw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" sign="-" scale="3" id="Tc_C8FLroJu5EWfDKTt_gvwJw_7_4">123</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_08NS4dDeZkW17xdMEfRQ9w" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" scale="3" id="Tc_I3VKV1YI0UudYHLCokUkyg_7_6">69</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Closing balance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_rzoWy5S0EkWwbsFQPMyqGg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" id="Tc_sx_Xoj57fEa9yI3v_1c-wg_8_2">18,762</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_Hu3uJbMqmEG18Ij44StFEw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" id="Tc_DsGeLJVEw0u_m32XUKu7kw_8_4">20,926</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_s7bHWbeGUUmQciZIb5al9A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" id="Tc_M84YHPiRF02TYQ37SZZvPA_8_6">20,281</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">An analysis of allowances for other receivables for the years ended December 31, 2017, 2018 and 2019 is as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_YSGxzb659E6SbtJO6dhrig" name="us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" id="Tb_jz1PUvTylkmnDB15Xk6jvQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Beginning of the year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2016_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_qqgz7TDEAEyfQkphhizXGw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" id="Tc_aHUXCv1zlEeTy7wD9niLpQ_4_2">9,251</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember__7suTM6Hl0-XrUgrMFpSRQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" id="Tc_eB6SoUW6yk6x11bXZQEVYg_4_4">10,349</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_RW_HNDzYM0mIk6SisQrGfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" id="Tc_ARF0wzPQIEyc0oykRfkNZQ_4_6">9,704</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Allowances made (reversed) during the year, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_AeiW6cj5mkCw2wBtgwjN8A" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" scale="3" id="Tc_3iSMaZos0UWonAUigp_Isg_5_2">549</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_4ZJXuiw2vEibW7MY-48vow" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" sign="-" scale="3" id="Tc_mLCjwEX9DE2YQIBtCcU-7Q_5_4">175</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_YSGxzb659E6SbtJO6dhrig" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" scale="3" id="Tc_3mFPJOZtkkORU5H9IdJIyQ_5_6">1,919</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_AeiW6cj5mkCw2wBtgwjN8A" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" scale="3" id="Tc_SeZRUbk1fkqwvEOpPixznw_6_2">549</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_4ZJXuiw2vEibW7MY-48vow" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" sign="-" scale="3" id="Tc_Lz23Ac2yV0mD6O68ydaqzQ_6_4">470</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_YSGxzb659E6SbtJO6dhrig" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" sign="-" scale="3" id="Tc_hN1PTZ01Ak6c8ARZY88BxQ_6_6">192</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Closing balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember__7suTM6Hl0-XrUgrMFpSRQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" id="Tc_roT9Ymh0lECu8wuKI-CGJw_7_2">10,349</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_RW_HNDzYM0mIk6SisQrGfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" id="Tc_WAEJ19_6G0m-AeSp8f3odw_7_4">9,704</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_qpPI1Oh1oUibN5u0UaWsjA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" id="Tc_M9m-CY0OlkKSYotQugdpsQ_7_6">11,431</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-32</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_sfwgX7DHz0W8VWz4kD-VAg_1_2"></a><a id="Tc_Ga2l2GcSeUebRYt5yP7s3A_1_4"></a><a id="Tc_xN1X6qKO5Ue2VEQywJpMHw_2_2"></a><a id="Tc_L1YN9spfuUOP4a01GT3GhQ_2_4"></a><a id="Tc_e15EgAGumUW6rDMT3QCiLw_3_2"></a><a id="Tc_Zn2dXUzNwE2jLpr5LgzoWA_3_4"></a><a id="Tc_aSbDnNtCgUOVueWFgaf4EA_4_0"></a><a id="Tc_TTDZ9Fv0fk6xohpGD7gxnQ_5_0"></a><a id="Tc_Bsy11ymLlkmlE_eiNy4YAg_6_0"></a><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:InventoryDisclosureTextBlock" id="Tb_l52gUMOfUUKWzdnBlsn20w" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">4.&#160;INVENTORIES</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Inventories consist of the following:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" id="Tb_wshIUdwKSUWHTa9AUY_LaQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Raw materials</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryRawMaterialsNetOfReserves" scale="3" id="Tc_R_6WW1864k2QYIeK8zIweA_4_2">47,759</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryRawMaterialsNetOfReserves" scale="3" id="Tc_MnKW8jW2wkOe5mBJSExCuA_4_4">75,722</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Work-in-process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWorkInProcessNetOfReserves" scale="3" id="Tc_ObM2BMDzpEWjZFNqoar6iw_5_2">46,817</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWorkInProcessNetOfReserves" scale="3" id="Tc_YdO7oBPSP0-434znL7vwjw_5_4">74,105</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Finished goods</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryFinishedGoodsNetOfReserves" scale="3" id="Tc_oqCxUpUa-EyQn6osJsQBig_6_2">167,446</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryFinishedGoodsNetOfReserves" scale="3" id="Tc_0krxvki83k-pzj0FFmFj1g_6_4">404,243</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryNet" scale="3" id="Tc_cMvZzNURhUiUUKnnP9zRvg_7_2">262,022</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryNet" scale="3" id="Tc_vX2tRCvuGE-irrEiJ58hgQ_7_4">554,070</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">In 2017, 2018 and 2019, inventory was written down by $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWriteDown" scale="3" id="Narr_kcsYkRURu0m7qUEEGrZ2wQ">17,820</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWriteDown" scale="3" id="Narr_5LhXQ6Hf-keFimZN2y3IYQ">14,646</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWriteDown" scale="3" id="Narr_ZSE44PRU9k-I-CAutwiFsA">19,447</ix:nonFraction>, respectively, to reflect the lower of cost and net realizable value.</p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="Tc_eLyJnWW7TECffIUZ42LGgg_1_2"></a><a id="Tc_9P37RVWakkaUNgbxWZ2jqg_1_4"></a><a id="Tc_2Lc7kKn_YUmQqSO2mkngOw_2_2"></a><a id="Tc_asiaNklKRUaNqJY6VsQzHg_2_4"></a><a id="Tc_0GlMTxyGVUaZVFOXF2R_sw_3_2"></a><a id="Tc_MBcgmcbpKk2kTsumji8cqQ_3_4"></a><a id="Tc_HMizAovhhUC6es1ORALeyA_4_0"></a><a id="Tc_70DU7rO6CEO7wDo9M9Vfpw_5_0"></a><a id="Tc_9r-kWskDbEKH7vfM2RmWGw_7_0"></a><a id="Tc_RBCS7k0sJEeGsoERQOH4xw_8_0"></a><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="csiq:ProjectAssetsDisclosureTextBlock" id="Tb__cz293t-lE-AAHxW6_kd6w" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">5.&#160;PROJECT ASSETS</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Project assets consist of the following:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="csiq:ScheduleOfProjectAssetsTableTextBlock" id="Tb_x9coUkUtbEqQHjdTHwu5sw" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Project assets &#8212; Acquisition cost</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost" scale="3" id="Tc_Te0C1L2ag0Wag10jNSL0-Q_4_2">51,635</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost" scale="3" id="Tc_78bxt5NVgku9jjwqMP-K0w_4_4">55,158</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Project assets &#8212; EPC and other cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" scale="3" id="Tc_gHWcUqpZx0WU-0hfCAjYyg_5_2">1,234,128</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" scale="3" id="Tc_DNjt1AeVfE-5UqZgGT1RzQ_5_4">1,031,976</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLand" scale="3" id="Tc_NGZTYUkQOkaLVmfyaB3Dww_6_2">1,285,763</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLand" scale="3" id="Tc_eFMgRby1pUKRsD9jSXOcNA_6_4">1,087,134</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCurrentPortion" scale="3" id="Tc_z-NMJn-4EUOGsMzQYBExtw_7_2">933,563</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCurrentPortion" scale="3" id="Tc_8FjQBHGyz0aXWrdgudRzEA_7_4">604,083</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Non-current portion</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandNonCurrentPortion" scale="3" id="Tc_Uu4sbiYIKkmxMY8uXn0Byg_8_2">352,200</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandNonCurrentPortion" scale="3" id="Tc_SE0l3KQz5ku3-YZNwgSM1Q_8_4">483,051</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The Company recorded impairment charges and write-off for project assets of <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt-sec:numwordsen" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Narr_aivO7Cj0PUq-NCmKuwBetA">nil</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Narr_7d_sYD1-sUaIsWXm934Rnw">9,016</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Narr_yUVuYFEqikqABPlzJmWTrg">20,194</ix:nonFraction> for the years ended December 31, 2017, 2018 and 2019, respectively.</p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-33</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_lA6QcP8S2kaMYeI2ZzNXlw_1_2"></a><a id="Tc_ep39aUSY-EK_H2ZN9tf0yQ_1_4"></a><a id="Tc_6IDZRV5FI0C7wvQwxTjReQ_2_2"></a><a id="Tc_GAcKy7bL00ebPeH3DOq0YQ_2_4"></a><a id="Tc_rPx4l8WBB0ifHtULwYAdVQ_3_2"></a><a id="Tc_JWpxvj9yEU6LCiFG5yLonQ_3_4"></a><a id="Tc_-0IR9A3JXECyooPMxYta6w_4_0"></a><a id="Tc_ZJnKaTmfIk2QCSfH98xkKw_5_0"></a><a id="Tc_hRKc3RHEyEidky8BPJyKfg_6_0"></a><a id="Tc_LBrZg4uAkkSawC0ZtWy_Ow_7_0"></a><a id="Tc_EO4HXmaHjEOxPQbr200jAA_8_0"></a><a id="Tc_MUMuBujWE0C82qCHWu_sAw_9_0"></a><a id="Tc_YsI-mE7JhE-6OZSyDyfRRQ_11_0"></a><a id="Tc_tt8Y5t-MRky_5chJ4Qkj2A_12_0"></a><a id="Tc_mZ13aEZkYUKY59Ve1DRcUg_13_0"></a><a id="Tc_WBtFo8Dg0UK_bBmWywpD8w_14_0"></a><a id="Tc_Day3n7C2D06V3OaAz9IGKA_15_0"></a><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock" id="Tb_ZcymERfYxUGAjCTO9YBceg" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">6.&#160;PROPERTY, PLANT AND EQUIPMENT, NET</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Property, plant and equipment, net consist of the following:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock" id="Tb_hoBCqG4XIkCpQpAjW8pGLg" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Buildings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_73Du0plvqkiawKwqIzGOGg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc__YTGed_z3E6DXU1xneKt2Q_4_2">441,975</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_GmK6ZhYAyUi6cHKvxVmutA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_itEGF6riBk2w7bLmPDbzkQ_4_4">453,712</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_f23kuwYC1kSUyMEzckDNDw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_K37-eI60nkGj60x6UwjoDw_5_2">13,058</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_TFQxLmDgpU6Abr3M6KeTqA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_CMV9ob3VJkaEZF4X7saKZA_5_4">14,225</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Machinery</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_zEWZcmjnkEGNpRkscYszFQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_BQXvYRV2MEWI1CvEqsrQFA_6_2">785,874</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_9nSd53ws90GOLDtJ9RZaQQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_8UWcjM7GzUyd2RcgASetkw_6_4">1,074,460</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Furniture, fixtures and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_fg65wBq9OEmHr2oisAXdGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_e418Bsyq9U-k2Tmnykd30A_7_2">64,135</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_XVRtc1OvPUGFBVrUd_vkSw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_QFbkLXeRzUmsU5uCYLL6EA_7_4">64,117</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Motor vehicles</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_RLUT85lMikOg6iM3_9GsDw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_tS2Qe_5aBE6SLbrJcDBkQg_8_2">6,100</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_B1LeOq-rGUmqf5I8JC8q0g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_l7C4OFfpIkOMO8VFg6dyrg_8_4">6,351</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Land</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_dzJaDJrpCUiB_VVzFGUM9Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_mpGSza-Wqk6DNJZEoWdJvw_9_2">18,810</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_qlK4e-1Bd0i9oV_AQt6GZQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_irJUsViNnEGUESXpCAS9qQ_9_4">20,451</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_dDD-5L-CgUGA7rgKJnfiiQ_10_2">1,329,952</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_K1KX3GUsdE2iRUIjOeql5g_10_4">1,633,316</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accumulated depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="3" id="Tc_aY-WBxrIekmO1QhxKWU0ow_11_2">489,927</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="3" id="Tc_ZMLCoEQjEUK34LkM5l2XKQ_11_4">598,297</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Impairment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:AccumulatedAssetImpairmentCharges" scale="3" id="Tc_wT1jJoO_K0ui91w32g2t0g_12_2">30,503</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:AccumulatedAssetImpairmentCharges" scale="3" id="Tc_IX6OYUXn70OjTVjXRVchkw_12_4">45,437</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Subtotal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet" scale="3" id="Tc_24cQKI1IY0ibhmy5YDqcgg_13_2">809,522</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet" scale="3" id="Tc_VWeHFRpm0k-XsrjHhBOofg_13_4">989,582</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Construction in process</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConstructionInProgressGross" scale="3" id="Tc_6ccR67fGAkK6O1IHRDmj5w_14_2">75,464</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConstructionInProgressGross" scale="3" id="Tc_sClpR4wbt0O9tSza3NcAEA_14_4">56,453</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Property, plant and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc_JfNlNt7hJEmiShKZE0qXkQ_15_2">884,986</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc_f2aKh-33y0itm0rtrQpPfw_15_4">1,046,035</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Depreciation expense of property, plant and equipment was $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Narr_YMVTFnQGrE2WZWMaTNF2Dw">88,931</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Narr_Jurd2NCF1062Y7PmWGPQMQ">120,834</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Narr_oWjZNNhPxUqEB60I5T4yAA">148,034</ix:nonFraction> for the years ended December 31, 2017, 2018 and 2019, respectively. Construction in process primarily represents production facilities under construction and the machinery under installation. </p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="Tc_NqYYQ-R2Y0ydbSIhC5TCKg_1_2"></a><a id="Tc_O5t3UmMjV0WARW5bv0PY3Q_1_4"></a><a id="Tc_U91ItHRwC0exIZvtmatbLw_2_2"></a><a id="Tc_8uRvSNfrkUSoI-NmmtgXig_2_4"></a><a id="Tc_jbZcZXdc6kGTveo-C2jakg_3_2"></a><a id="Tc_ON5jrbcJMkamDcVgWEq1dg_3_4"></a><a id="Tc_qVEcEaOymESRX-kiSvD6OQ_4_0"></a><a id="Tc_H8nvhGmqVEun9hmQYtKMsQ_5_0"></a><a id="Tc_bJpuMixK2UqH3fyMxs2aQQ_6_0"></a><a id="Tc_Oym5Y_G2vkqqPqDRe9Dfig_7_0"></a><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="csiq:SolarPowerSystemsTextBlock" id="Tb_-tmxj6qQPkeu97xyp-borw" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">7. SOLAR POWER SYSTEMS , NET</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Solar power systems, net consist of the following:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock" id="Tb_6KrP4rBmp0aKpiUH4J14Qg" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Solar power systems in operation</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_f4MtRWEu2U-HkSSZiE7hHQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystems" scale="3" id="Tc_5TxlDsnxVECuZubNRjp5ig_4_2">66,641</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_vYOHebeiJ0eGj6XPOERzxA" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystems" scale="3" id="Tc_bm7_X0S950WNTH0O_EAxEw_4_4">70,449</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Solar power systems under construction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_7qu8sGJfDkWFDX8HCOXxIg" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystems" scale="3" id="Tc_g8AfH4LzNkyQPuBOce79vQ_5_2">4,484</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_6UpYfub3BUGWytj8LnT_5A" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystems" scale="3" id="Tc_MC7taacQHESOFj2D2G0sOg_5_4">4,830</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accumulated depreciation</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" scale="3" id="Tc_Z3iRwjxM-kyWzIX--9U1nw_6_2">16,227</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" scale="3" id="Tc_N7VuqvssIEGf9e2PSl_bnQ_6_4">22,322</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Solar power systems, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystems" scale="3" id="Tc_UuT-lRBC8UCyzEJ9w-Z5sg_7_2">54,898</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystems" scale="3" id="Tc_MAknqQi3-Em0vapoPqHXWg_7_4">52,957</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Depreciation expense of solar power systems was $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_-I3Bne7KJUiW8JUykJbA3g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Narr_f7QtOFxMikq7rN3EXcbFLg">5,683</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_XeAS5nO-GkW-gpPwSZVHmw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Narr_vkXGZM87_EO6RbhQxxBMow">3,756</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_V3meU-7P10KA5q68VsFk0g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Narr_jJlvc4Ki-UG6klM7Ys2ylw">6,379</ix:nonFraction> for the years ended December 31, 2017, 2018 and 2019, respectively.</p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-34</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_592fb483_64e7_411e_be98_b5d33c1707ce"></a><a id="Tc_MULZCcmsvU68eamuqueI_g_1_2"></a><a id="Tc_fU5LpmvtDUaZm6gsAt35-A_2_2"></a><a id="Tc_1Io9BJaxH0edEH_SpO4aiw_2_4"></a><a id="Tc_MQtuulGKzkSKEb08rP5ivw_3_0"></a><a id="Tc_mIwrkvzCB0qVtuEGaYTIQA_3_2"></a><a id="Tc_5_ryCcqd9E2wg2lxWkScTg_3_4"></a><a id="Tc_ZbkXtkzyaUyag1rwWKNXvw_3_6"></a><a id="Tc_EmR3QeCMvE6Zgv_UNgKpsw_4_2"></a><a id="Tc_nV0H4fRoZkuRi-TRZEbllQ_4_4"></a><a id="Tc_HDLC-jXIsk-ajkHpNR6Plg_4_6"></a><a id="Tc_knDVUpfjzkGYKXty8obFLA_5_0"></a><a id="Tc_ewuY9K6Feke7DeUCvzonDQ_6_0"></a><a id="Tc_AczqQrBfFUWbknwIt1F-FA_7_0"></a><a id="_a093cbba_5a7d_4947_922d_6305e621fe65"></a><a id="Tc_e97_Z2RwQE2tH8lJGPj59Q_1_2"></a><a id="Tc_EewZ39jkHEin8z70txa2Ow_2_2"></a><a id="Tc_0yfv3alKw0a76xCIdsi8mg_2_4"></a><a id="Tc__N3dOCJZIU6VDD0DpuqpGA_3_0"></a><a id="Tc_EfXORy9u-0-R4fXiEmA56Q_3_2"></a><a id="Tc_0Z1ogT8wZk2ZCKur59GLZw_3_4"></a><a id="Tc_-UxNa8MNJkCWs75xOR2ZXQ_3_6"></a><a id="Tc_lpbx_vrAtU-aL8mROfhqYg_4_2"></a><a id="Tc_3y7qHRbQTkOADBbrSDnWcw_4_4"></a><a id="Tc_iBcJYjpla0S0mrxSBi_NKQ_4_6"></a><a id="Tc__U8q0fRIXESEgKYLQFdJRw_5_0"></a><a id="Tc_zlyNDUZqJEK3kGzgCbk3gQ_6_0"></a><a id="Tc_1ZGdkWakkUWzvAbs2yoOcg_7_0"></a><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:IntangibleAssetsDisclosureTextBlock" id="Tb_nH6u-ibBcU6KY-hxhxIjbg" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">8.&#160;INTANGIBLE ASSETS, NET</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s intangible assets:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock" id="Tb_UoDWHjSpMkWAD-2PnvMJ6w" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">At December&#160;31, 2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Technical know-how</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_K9s1t9xmDEi1P_8wpselHw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_cQM2vn-EbUOU0ZXWTvHWqA_5_2">1,428</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_K9s1t9xmDEi1P_8wpselHw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_uCY9XiS3cUmTj-1c1bmZWQ_5_4">1,425</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_K9s1t9xmDEi1P_8wpselHw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_WgwN9e2m_E2gwi1P71fBKg_5_6">3</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Computer software </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_eiq8SALzx0OHXfXWP63Q7A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_jHuVDM3L5USst35ajaTlVA_6_2">38,205</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_eiq8SALzx0OHXfXWP63Q7A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_wQ8Wu3L58E-TfGNza9RmGg_6_4">15,417</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_eiq8SALzx0OHXfXWP63Q7A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_bddl621HsUyawVaQZSkR0A_6_6">22,788</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total intangible assets, net </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_ZnO_m2h820GcKU7DYHMOKw_7_2">39,633</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_yhMQF9zSgUakW7XborvBzg_7_4">16,842</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_JRMmzdQbcUWER4YfkdYIGw_7_6">22,791</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">At December&#160;31, 2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Technical know-how</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_3uJmFY4lBE2owhw_xfx0XA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_NEXsyT3B4kepSkGqVV-m5g_5_2">2,369</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_3uJmFY4lBE2owhw_xfx0XA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_1SJoKjsHbU-2ksHeCjPoMw_5_4">1,458</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_3uJmFY4lBE2owhw_xfx0XA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_EigpJ3hYEUKhatpb6y3ZsA_5_6">911</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Computer software </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_-etyClXZPEScfax9xrGO3A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_SjM6SIYct0iaqzXzmCGl0Q_6_2">25,882</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_-etyClXZPEScfax9xrGO3A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_5dy8SZCK8UqA13mUx0zktQ_6_4">11,890</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_-etyClXZPEScfax9xrGO3A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_zih0kJeNVkmj0ybr8hMjOw_6_6">13,992</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total intangible assets, net </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_iApA0LaivESNI_3e7Nl7Rg_7_2">28,251</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_rKSZ6OMlak6anokW9KlrZw_7_4">13,348</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_7Lu3QVvoTkSM2E2W1pgKxg_7_6">14,903</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Amortization expense for the years ended December 31, 2017, 2018 and 2019 were $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Narr_gOanakeNWUqNhtu3VncTWw">4,659</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Narr_8auq1bBEPkSlWwjuxtdVNQ">4,666</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Narr_jIbLJ1TX8USCKmwKlfNsUQ">5,310</ix:nonFraction>, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Amortization expenses of the above intangible assets are expected to be approximately $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" scale="6" id="Narr_YDESMPTNXUOaRka_-jUUIw">4.4</ix:nonFraction>&#160;million, $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" scale="6" id="Narr_umNM078z_k67bLT909IXRw">3.6</ix:nonFraction>&#160;million, $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" scale="6" id="Narr_NpD--eduQ0SrFEoblrNZJw">3.1</ix:nonFraction>&#160;million, $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" scale="6" id="Narr_fMaEAfhrq0iPuqho5PFOYw">2.5</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-5" format="ixt:numdotdecimal" name="csiq:FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter" scale="6" id="Narr_MvW2CuET6ku7xENK6CrWkA">9.2</ix:nonFraction>&#160;million for the years ended December&#160;31, 2020, 2021, 2022, 2023, 2024 and thereafter, respectively.</p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:FairValueDisclosuresTextBlock" id="Tb_DIiu5yG6nkKuj9U_IHgEiQ" continuedAt="Tb_DIiu5yG6nkKuj9U_IHgEiQ_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">9.&#160;FAIR VALUE MEASUREMENT</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company measures at fair value its financial assets and liabilities by using a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value. Fair value is the price that would be received from the sale of an asset or paid to transfer a liability (i.e., an exit price) on the measurement date in an orderly transaction between market participants.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">As of December 31, 2018 and 2019, the Company&#8217;s financial assets and liabilities were measured at fair value on a recurring basis in periods subsequent to their initial recognition all using the significant other observable inputs, which are Level 2 inputs. </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-35</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_DIiu5yG6nkKuj9U_IHgEiQ_cont1" continuedAt="Tb_DIiu5yG6nkKuj9U_IHgEiQ_cont2"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">9.&#160;FAIR VALUE MEASUREMENT </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Foreign exchange</span> <span style="font-style:italic;font-weight:bold;">option and forward contracts</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company entered into certain foreign currency derivative contracts to protect against volatility of future cash flows caused by the changes in foreign exchange rates. The foreign currency derivative contracts do not qualify for hedge accounting and, as a result, the changes in fair value of the foreign currency derivative contracts are recognized in the consolidated statements of operations.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s foreign currency derivative instruments relate to foreign exchange options or forward contracts involving major currencies such as Renminbi, Canadian dollars, British pounds, and Japanese yen. Since its derivative instruments are not traded on an exchange, the Company values them using valuation models. Interest rate yield curves and foreign exchange rates are the significant inputs into these valuation models. These inputs are observable in active markets over the terms of the instruments the Company holds, and accordingly, the fair value measurements are classified as Level&#160;2 in the hierarchy. The Company considers the effect of its own credit standing and that of its counterparties in valuations of its derivative financial instruments.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Interest rate swap</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">During the year ended December 31, 2016, the Company entered into fixed for floating interest rate swaps with <ix:nonFraction unitRef="Unit_Standard_Institution_s8f8AkKbRUGRIp83T9dPtA" contextRef="Duration_1_1_2016_To_12_31_2016_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_83pBn5QsOkCv9_yelZJGtw" decimals="INF" format="ixt-sec:numwordsen" name="csiq:InterestRateSwapsNumberOfFinancialInstitutions" scale="0" id="Narr_JWioFGEcuUaJ1ITLh-ZArA">two</ix:nonFraction> financial institutions to hedge the interest rate risk on its project debts obtained in the United Kingdom with notional amount totaling GBP<ix:nonFraction unitRef="Unit_Standard_GBP_Dc2Gdnkog0-JfFMrmYG68g" contextRef="As_Of_12_31_2016_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_7KYF7h6oZ0uG4S2HskieZA" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DerivativeLiabilityNotionalAmount" scale="6" id="Narr_KfLZXPRD30uBYu0sRp064A">78.4</ix:nonFraction> million ($<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2016_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_7KYF7h6oZ0uG4S2HskieZA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DerivativeLiabilityNotionalAmount" scale="6" id="Narr_t7RnkBGU4ki8lVpV3iTXMQ">96.8</ix:nonFraction> million), which will expire between 2033 and 2034. The interest rate swaps had been designated as cash flow hedges for accounting purposes. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2018, the UK projects were sold and the interest rate swaps were assumed by the third party buyer.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The interest rate swap contracts of total notional amounts of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_2P1MxjUaxE-zr9CuDsznLg" decimals="5" format="ixt:numdotdecimal" name="us-gaap:DerivativeNotionalAmount" scale="6" id="Narr_sY19oZtjRkOIbW7VnHWG0g">399.0</ix:nonFraction> million were entered into for Recurrent projects and designated as cash flow hedges. The interest rate swap contracts were transferred along with the sale of the underlying projects, and the fair value of the remaining swap contract representing a notional amount of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_iTN31H1YCkqecbamZCUcgg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DerivativeLiabilityNotionalAmount" scale="6" id="Narr_JaHd2qXQLU69tE778lQkTw">47.4</ix:nonFraction> million entered into for Roserock project loan was recorded as derivative liabilities of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_iTN31H1YCkqecbamZCUcgg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesFairValueDisclosure" scale="3" id="Narr_l4BXY6ijdUisT6vHC0y-tg">2,170</ix:nonFraction> on the balance sheet as of December 31, 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The estimated fair value of interest rate swaps was measured based on observable market data, which are considered Level 2 inputs.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-36</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_e33cfce8_1fa1_4df6_8a48_19d8a37f0af8"></a><a id="Tc_IpPYyYGNikKldSixD8IXyw_1_2"></a><a id="Tc_Td1HpUY3uEqPN9Tvdo9H_Q_2_2"></a><a id="Tc_nnef4xZYVUK7YIk-0OmTAg_2_6"></a><a id="Tc_2StH532Elku7pzosuv3TVQ_3_2"></a><a id="Tc_5OXBeTPy6E-p8ezi6UtwxQ_3_4"></a><a id="Tc_rHlD5lM7nUKpbWkp2DvshQ_3_6"></a><a id="Tc_yBQQyHsS-UKcJDOgd2J0Kg_3_8"></a><a id="Tc_ajx3RjW3qEGUqxtrQaF7gQ_4_4"></a><a id="Tc_IXYRRUlCWUuXUT7xFBp-MQ_4_8"></a><a id="Tc_ymmap-Wb2Ui93NjP9YlkJg_5_0"></a><a id="Tc_i7LUR0M8j02Pzc6O6QSNdg_5_2"></a><a id="Tc_4nLAVlI6MkqT76aWp7np-Q_5_6"></a><a id="Tc_VVKd0W4tUUWwka0YQ3FFNA_6_0"></a><a id="Tc_agaKgZ8HoECP_j7pOdRhLQ_6_2"></a><a id="Tc_dFbtNo5Vi0OG-_alcLMu1Q_6_6"></a><a id="Tc_wuzYQeAdRUibmeKea8oh0Q_7_0"></a><a id="Tc_NSxMqlaNl0OVZyVHlpkgtg_7_2"></a><a id="Tc_WiWw7yIDLUGADqbm7ICawQ_7_6"></a><a id="Tc_QFUlVAZzP0y0fUkJa990cw_7_8"></a><a id="Tc_o8TWE1icw0KCpsIHJuPitA_8_0"></a><a id="Tc_0lNsPv6mukWhptSlmxClig_8_2"></a><a id="Tc_KEwweuLMqEC1llCZfI6v1Q_8_6"></a><a id="Tc_et3tCTef40KpQzk-M1S0WQ_8_8"></a><a id="Tc_q1tNm3r8b0a9ol2jBC3yfw_9_2"></a><a id="Tc_iizqzpDyn0WXh4LPv7qUYw_9_6"></a><a id="_2f48f4ff_77d0_47b6_93cb_3abf4d6aa3d0"></a><a id="Tc_SVi9whodLUSgRAhFqEgA_A_1_2"></a><a id="Tc_ip1KRQ90wkCrAi632b1DBw_2_2"></a><a id="Tc_KNoXIJmoBEC0ljClEMpr_w_2_6"></a><a id="Tc_dwd8guskl0SaTu3cCZ88YQ_3_2"></a><a id="Tc_tGiLT7-DykqBJql3t8Vy3g_3_4"></a><a id="Tc_AOl8srgHEU6oBMcToeupXA_3_6"></a><a id="Tc_elBhyAjJ2UaaSZ0ZhGUKtg_3_8"></a><a id="Tc_wOmrbT9HHkSEDx-FpXW-UA_4_4"></a><a id="Tc_gYyVsFZoDE6JG3P_iItloA_4_8"></a><a id="Tc_y9lmARl7uUKvExzz1XNneg_5_0"></a><a id="Tc_ruCVHcwQyUaPT5StxQ0-OQ_5_2"></a><a id="Tc_F7lYZpilkEeJ9RUz2SSPEQ_5_6"></a><a id="Tc_5d_TGwnzyU2nYDsoeOhMgg_6_0"></a><a id="Tc_8BdIVTgJyUu27s5orqT4Yw_6_2"></a><a id="Tc_gPfoz-jxc0ObjurShPtokQ_6_6"></a><a id="Tc_PSjGadcmGEevPPpQz9-Asw_7_0"></a><a id="Tc_vXGiI6TX7EyVllRUElYwCQ_7_2"></a><a id="Tc_p7ejX5FSlEqxdqNj8hgfVw_7_4"></a><a id="Tc_-RSpIE6e7U6uWNtsslx_Xg_7_6"></a><a id="Tc_-KXFhCEtQ06WkGgpGMBPhg_8_0"></a><a id="Tc_Qc1KtlQ8yk2o_goPlir2Xw_8_2"></a><a id="Tc_K0gELdOF9E2--H4quwUiUw_8_4"></a><a id="Tc_FgYqf9ptsUG5L2LdvURwVg_8_6"></a><a id="Tc_PTffxd1yGUOYpDPEhniuow_9_2"></a><a id="Tc_M0IBpix2V0uVENFss9yRaQ_9_6"></a><a id="Tc_WABuUTdctEujKMMVYB0EEA_1_4"></a><a id="Tc_O0GAS8DPdUizehqgpObWNA_2_4"></a><a id="Tc_1W6Vduo3-0iebV0OdP2Vww_3_2"></a><a id="Tc_6HXNkq0J9E6RLVK1Rz7CMg_3_4"></a><a id="Tc_aEzZd5w6P0yVxCIHuZf1rQ_4_2"></a><a id="Tc_8FTXm4AkT0OGz1RPl9l1Ew_4_4"></a><a id="Tc_M6ypOwH5AESjRWoD5SphkQ_5_2"></a><a id="Tc_ID9r6zN6ZUCdLQ2crSrFkg_5_4"></a><a id="Tc_2LBW0BXgKE6YBnevGxQf1Q_5_6"></a><a id="Tc_Cx9RPzbQaESnwJHWa85LSg_5_8"></a><a id="Tc_SR9L2_ZewkmzqrxN0ad8Kg_6_4"></a><a id="Tc_WugG_yYtW024ZleU00gKeg_6_6"></a><a id="Tc_ujZ13cag0UO-Xzdai6UiZA_6_8"></a><a id="Tc__rFHsCn6mU-dKeDTOhvNdQ_7_0"></a><a id="Tc_fDglW0wUYES7lQMcTwyHIQ_7_2"></a><a id="Tc_BYQefMpG50yokqD0E94sbQ_8_0"></a><a id="Tc_cOjjAYtTIUGZYH3Kbr1wIw_8_2"></a><a id="Tc_hT0o-vLcoU-NtOgjtWRNGA_8_4"></a><a id="Tc_fGbYmXFS302FZCkLV6wLDg_9_0"></a><a id="Tc_f2tDhscrRki2dwT98P30bg_9_2"></a><a id="Tc_hP2xyEuAUEW0fUGTH6zbxw_9_6"></a><a id="Tc_WrfdvHePYUeYSGwtVNk0vg_9_8"></a><a id="Tc_NmHRAEbLY0C2DrB114m5uQ_10_0"></a><a id="Tc_itIKHlP4ZU-hYtssMCViww_10_2"></a><a id="Tc_r6KaNxa1WUOgs4s8LTW_rA_11_2"></a><ix:continuation id="Tb_DIiu5yG6nkKuj9U_IHgEiQ_cont2" continuedAt="Tb_DIiu5yG6nkKuj9U_IHgEiQ_cont3"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">9.&#160;FAIR VALUE MEASUREMENT </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The fair value of derivative instruments on the consolidated balance sheets as of December 31, 2018 and 2019 and the effect of derivative instruments on the consolidated statements of operations for the years ended December 31, 2017, 2018 and 2019 are as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" id="Tb_4634U-HIh0O-w-PW5HD8EA" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:66.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of&#160;Derivative&#160;Assets</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Foreign exchange forward contracts</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_OJdIjAijS0K6Qrc47uH1tQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_Y7yXqGWYgUW2pZg1h_hz3Q_5_4">4,166</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_86xcdACTLUif_r6p94OxHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_-cFE0ZhZUU-pOePj3cNdCg_5_8">5,097</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Foreign exchange option contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_zugAsS9LjE2wufdZ6ofbPg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_782ucWBJlkqpSugrr-Hirg_6_4">1</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_ALYSHxr72kGVWkgQRImQ1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_8E_iS3iQvkmST8czz5SSCg_6_8">450</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Interest rate swap</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_WIbc_F7jLUKmdSmAPmFjUA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_FTSRS_sV702_foBz4FyqTA_7_4">594</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative assets &#8212; non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsNoncurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_HZa1K7Qq1UaU_k67pukp5w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_LRBgA--tN0680m9XcboavQ_8_4">3,216</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative assets &#8212; non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:31.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_9loSfc2vo0y89KmJDPnUhQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_6mklq-H4JkOoROymugAyFQ_9_4">7,977</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_nYaVjTJgHk-KjaHXERQOpQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_k2qCA33SXke2ETs1sllVzw_9_8">5,547</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:71.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of&#160;Derivative&#160;Liabilities</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Foreign exchange forward contracts</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_V6D2k0G1CkivzsJ26fwRMQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" scale="3" id="Tc_jz5Hyc97UEOEo4zY9r2QwQ_5_4">13,480</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_ACJRmqa3tEiWpgv_X_4yzA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" scale="3" id="Tc_GzDPgzqGCkK9CzfhOLA7ZQ_5_8">10,127</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Foreign exchange option contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_LD3kvwSK5kaoJ8oD1jmSZA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" scale="3" id="Tc_yt4m9sMksEygewPdAVZ2eA_6_4">218</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_Lht7gLwOlkyRnARoUEadvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" scale="3" id="Tc_IgkB-kLeDkOahqRXqnJ7Zw_6_8">25</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Interest rate swap</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_E96IprHxEU-HXPo_yPXOEw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" scale="3" id="Tc_2xOvGA2JLkKXGBwyQ-bJoA_7_8">329</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesNoncurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_i5m7ctdmwEqFUFFiBLJFzA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" scale="3" id="Tc_ud7yqY8cKkCq6n6-PPnXPA_8_8">1,841</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_9loSfc2vo0y89KmJDPnUhQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" scale="3" id="Tc_rv5EQMWOvECKoG3sMmfZfg_9_4">13,698</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_nYaVjTJgHk-KjaHXERQOpQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" scale="3" id="Tc_S9yVwSQSJEqh488y3r3wIQ_9_8">12,322</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" id="Tb_o4tV5cg6-UeRdi06aMZx6A" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount&#160;of&#160;Gain&#160;(Loss)</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Recognized&#160;in&#160;Statements</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Location&#160;of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">of&#160;Operations</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gain&#160;(Loss)&#160;Recognized</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">in&#160;Statements&#160;of&#160;Operations</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Foreign exchange forward contracts</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_zLx4eDqeIUmirrjXr6DE5g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" sign="-" scale="3" id="Tc_kK1ho7Lk1UOT1mbpWwxFfA_7_4">2,638</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_7MwrSxG1zE6KO4Ty0Eaapg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" sign="-" scale="3" id="Tc_10RMO_4rQUybMzGzg_uKgw_7_6">16,414</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_uhx8jb_DpU2wiJcNn3l0Pg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" sign="-" scale="3" id="Tc_0brIhgPPYEaTK4NsWnxjhQ_7_8">20,249</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Foreign exchange option contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_eyAcrO_73kexw3dXrjeWfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" sign="-" scale="3" id="Tc_srt6kJ23gEOUS0DXnUvTcQ_8_6">2,023</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_cGXa-9vzCkm-xGQTAMbWhQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" sign="-" scale="3" id="Tc_6E0Ty30Zv0aU9_O2wcilEg_8_8">1,022</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Warrants</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_DerivativeInstrumentRiskAxis_csiq_WarrantsMember_m0nbIynUtUiAV34r6IGW_w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" scale="3" id="Tc_-_vPh3yJDkWx4gz6rQdX-w_9_4">711</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_W6uTe13AW0qQxfTXx4T11Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" scale="3" id="Tc_dY_PI88gLkqMNFOyaj_KkQ_10_4">1,655</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_2_qkaxWROEyxRADTMrU6tA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" sign="-" scale="3" id="Tc_mJHlG7-ZwUyCLMM9p8yRPA_10_6">793</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_ZI0GHubZiEeh_RMUN13OLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" sign="-" scale="3" id="Tc_GRFaFoCa-ES_hzFDZnLMPg_10_8">947</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" sign="-" scale="3" id="Tc_cEYeoStqLUG64gFZBLHp1A_11_4">272</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" sign="-" scale="3" id="Tc_Bz6AyrmeCkeYjzdL5Ue4Nw_11_6">19,230</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" sign="-" scale="3" id="Tc_C6SnXj_A7E-CwJzd13vDEg_11_8">22,218</ix:nonFraction>)</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Other fair value measurements</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company measures certain long-lived assets or long-term investments at fair value on a non-recurring basis in periods after initial measurement in circumstances when the fair value of such assets is below its recorded cost and impairment is required. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The Company recorded impairment charges for certain manufacturing asset group of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_pAa81lVLlE67sC4ZVr-sxA">11,626</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_FLpDza6_l0OdAj3I_mNmOg">30,968</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_fE3IjBs7qkqOep94HZ1zDg">21,866</ix:nonFraction> for the years ended December 31, 2017, 2018 and 2019, respectively. The fair value of these assets was measured based on prices offered by unrelated third-party willing buyers and classified as level 3 fair value measurements as the offering prices are not observable. The impairment was recorded in general and administrative expenses of the MSS segment.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-37</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_DIiu5yG6nkKuj9U_IHgEiQ_cont3"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">9.&#160;FAIR VALUE MEASUREMENT </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company also holds financial instruments that are not recorded at fair value in the consolidated balance sheets, but whose fair value is required to be disclosed under the U.S. GAAP. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The carrying values of cash and cash equivalents, restricted cash, trade receivables, billed and unbilled, amounts due from related parties, accounts payables, short-term notes payable, amounts due to related parties and short-term borrowings approximate their fair values due to the short-term maturity of these instruments. Long-term borrowings were $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermNotesAndLoans" scale="3" id="Narr_y6lc4MlIFUu13yIxUkTeXQ">393,614</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermNotesAndLoans" scale="3" id="Narr_4_MCOvG7cUec3gbYAJPJpQ">619,477</ix:nonFraction> as of December 31, 2018 and 2019, respectively, which approximate their fair values since most of the borrowings contain variable interest rates. The fair value of long-term borrowings was measured based on discounted cash flow approach, which is classified as level 2 as the key inputs can be corroborated with market data.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The carrying value of the Company&#8217;s outstanding convertible notes was $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ConvertibleLongTermNotesPayable" scale="6" id="Narr_mRpjFEwzWkS9ItbOdTeBbA">127.4</ix:nonFraction> million and <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-5" format="ixt-sec:numwordsen" name="us-gaap:ConvertibleLongTermNotesPayable" scale="6" id="Narr__LT_83KMqUq648u5luRxGg">nil</ix:nonFraction> as of December 31, 2018 and 2019, respectively, which approximates the fair value.</p></ix:continuation><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="Tc_fWWEo3a9wkq4291cx6V2vg_1_2"></a><a id="Tc_SNHOba_g4E-KN-cLMy8cvw_1_4"></a><a id="Tc_vOukL24ISUuru0JTeXHdoA_2_2"></a><a id="Tc_-rTux_FlQE66AqFPrHJdxg_2_4"></a><a id="Tc_uxMfxA_O6kO7d1e3K-7gkg_3_2"></a><a id="Tc_e2DhWkMDfkGbxbo9DE73Wg_3_4"></a><a id="Tc_xaopegdRMkWLTPrlEU2nyw_4_0"></a><a id="Tc_a6oQkZN4iUa44dsNNj46Eg_5_0"></a><a id="Tc_f4riRSMge0WJeYLzDOzyag_6_0"></a><a id="Tc_EHr7IInHbES4xYekuAMACg_8_0"></a><a id="Tc_ugScVKrHLU2f9xAPXoYiCw_9_0"></a><a id="Tc_BrEVjxJlXEWI9HbCrmj_YA_9_4"></a><a id="Tc_QRxMeKYZHEOZp-_QWZbxqA_10_0"></a><a id="Tc_HE7UlyZtlE2930YtqPztUA_11_0"></a><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:VariableInterestEntityDisclosureTextBlock" id="Tb_AjQyJS-xHE2uOHP0jtlALQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 5pt 0pt;"><b style="font-weight:bold;">10. VARIABLE INTEREST ENTITIES</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Since 2016, the Company, through its wholly owned subsidiary, CSE Japan Investment Company Limited, entered into silent partnership agreements with various Japan project companies, for the purpose of raising project finance bonds arranged by Goldman Sachs Japan Co., Ltd. Under the silent partnership agreements, the project entities are considered VIEs in which the Company has no equity interests, but is entitled to substantially all of the economic interests of the projects. In addition, the Company has the power to make decisions over the activities that most significantly impact the economic performance of the projects under the asset management agreement signed simultaneously between the project companies and Canadian Solar Project K.K, a subsidiary of the Group. As such, the Company concluded it was the primary beneficiary of the project companies and thus these project companies were accounted for as consolidated VIEs since their establishment.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2018 and 2019, the carrying amounts and classifications of the consolidated VIEs&#8217; major assets and liabilities with immaterial items combined, excluding intercompany balances which are eliminated upon consolidation, included in the Company&#8217;s consolidated balance sheet are as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ScheduleOfVariableInterestEntitiesTextBlock" id="Tb_vnE1DNflGkmMy_mllmtC9w" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Project assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_WOrYLpJ4Pk-F1cMSt3yv4Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssets" scale="3" id="Tc__EhCY3ifTUWAqXfY3JUBpw_4_2">185,448</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maCPKEXMVE-j2Nxn8cvqXw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssets" scale="3" id="Tc_CiEQi9O-ykqhXqiOqe3FYQ_4_4">197,366</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other assets</p></td><td style="vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_WOrYLpJ4Pk-F1cMSt3yv4Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssets" scale="3" id="Tc_nB538ku0xUebiLExJgJ-Ww_5_2">21,836</ix:nonFraction></p></td><td style="vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maCPKEXMVE-j2Nxn8cvqXw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssets" scale="3" id="Tc_l6Cm9a1AbEyCNnPK0aEqsw_5_4">26,102</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_WOrYLpJ4Pk-F1cMSt3yv4Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_DM0-eqLdS0yt_puGNABF8w_6_2">207,284</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maCPKEXMVE-j2Nxn8cvqXw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_Zw6GxQMh_ESH6apEZijjlA_6_4">223,468</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Short-term borrowings</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_WOrYLpJ4Pk-F1cMSt3yv4Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermBorrowings" scale="3" id="Tc_wSKbLXNn10GfQfL5z68eDw_8_2">9,160</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maCPKEXMVE-j2Nxn8cvqXw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermBorrowings" scale="3" id="Tc_Z2ySeTOeW028GdNGKVk4UA_8_4">139,708</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_WOrYLpJ4Pk-F1cMSt3yv4Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebt" scale="3" id="Tc_8PoC2ynWYEOA7tQoVZAdPg_9_2">113,973</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_WOrYLpJ4Pk-F1cMSt3yv4Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilities" scale="3" id="Tc_qMRzqBiJS0iGbhewBVTf7g_10_2">59,476</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maCPKEXMVE-j2Nxn8cvqXw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilities" scale="3" id="Tc_3tv3TbrZTk67SFMNN28maA_10_4">66,569</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_WOrYLpJ4Pk-F1cMSt3yv4Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_7r7nmcl-uEiDUBWxIma1Lg_11_2">182,609</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maCPKEXMVE-j2Nxn8cvqXw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_oP-SdY6jO06epOiQm8VHqw_11_4">206,277</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Net income and overall cash flow activities during the year are immaterial to the consolidated financial statements.</p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-38</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_8AXt4fNtwkCLCypwbFjl8g_1_2"></a><a id="Tc_au7wjK3ZBES2Fu5_kTPvHA_2_2"></a><a id="Tc_HRofsLJKCkm408Rb9sf0_w_2_6"></a><a id="Tc_0IhG4y78_kiGOS-IPH_U2A_3_2"></a><a id="Tc_piZZP2uEckS6wTQaamvN5Q_3_4"></a><a id="Tc_MtTdByTqWE-yj_8kpMS1DA_3_6"></a><a id="Tc_fwD400QIzUi7ojlMwPXdJQ_3_8"></a><a id="Tc_iE8GsVnKdUinxL4KpT4GMQ_4_2"></a><a id="Tc_POvKsWs2VUiDqEDMhn4k-w_4_4"></a><a id="Tc_2ePLD0-q_k20iVZXY_aD6g_4_6"></a><a id="Tc_eZ3l_IhvAUWF3NI6TRRsAg_4_8"></a><a id="Tc_UAuhlA-f4EC5tGn9qGqhUw_5_2"></a><a id="Tc_U_IsXf7ZhEq0Y6UWbMrOOg_5_4"></a><a id="Tc_ECE3dZWrB0CRaquImBBF1w_5_6"></a><a id="Tc_kAyh_cJD-ki4LVt8AQwszg_5_8"></a><a id="Tc_AbIurq-j9EauevXr8MNCxA_6_0"></a><a id="Tc_7JzcqpZMTUm9NH0PLCG81A_7_0"></a><a id="Tc_hX0aPG8GCUut6P22XkSmSQ_8_0"></a><a id="Tc_KSxdvewoWkKBHLAJNXBKiQ_9_0"></a><a id="Tc_0Jj_jCgn8UeYgpxT-IakqQ_9_4"></a><a id="Tc_1RHm-bhCBUWIlQ2Iq-YdBw_9_8"></a><a id="Tc_nNqBgBi1ZE2PS0o6Ti3dlA_10_0"></a><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:EquityMethodInvestmentsDisclosureTextBlock" id="Tb_8YWTnGZC1kWIbkwGjA_SvA" continuedAt="Tb_8YWTnGZC1kWIbkwGjA_SvA_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">11.&#160;INVESTMENTS IN AFFILIATES</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Investments in affiliates consist of the following:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:EquityMethodInvestmentsTextBlock" id="Tb_NUeu86Bl_ki-MROYrFJ7Rw" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:38.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ownership</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ownership</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percentage</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percentage</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(%)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(%)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">RE Roserock Holdings LLC (&#8220;Roserock&#8221;)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_45338GMEgEmACNWyIsRdng" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_3xvPDW2uN0a7z6t0VhAsTQ_6_2">62,767</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_45338GMEgEmACNWyIsRdng" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc__n1kOcK-Mk-vDbTnbx3UPQ_6_4">49</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_3_3kA9863Uqpmpr8Nr82IA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_UcxUfz4ca0i6XZ--afiq9Q_6_6">83,034</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_3_3kA9863Uqpmpr8Nr82IA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_ZNyCfjHMcUOV-XJhEBZrhw_6_8">49</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Canadian Solar Infrastructure Fund, Inc.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_lvmCPoeg9E6zhxGlRm4vIQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_XSxnv8QfJEOJNIGDsjoScQ_7_2">23,990</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_lvmCPoeg9E6zhxGlRm4vIQ" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_iQGvBfR-dUa2SelqOdxIdg_7_4">14.66</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_wlK1-Iyzvka0rOPFORBjQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_1PGNAoNBfEW-_0r1CR0vqg_7_6">19,162</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_wlK1-Iyzvka0rOPFORBjQA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_7Slzn8yrDUmz00VQgIZRBg_7_8">14.66</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Suzhou Financial Leasing Co., Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_WUbOo5Ymb0WFBAgditdKsA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_FLnVMFLaMUi1HDjK9V8wdw_8_2">14,361</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_WUbOo5Ymb0WFBAgditdKsA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_ZYyD-WM1n0211eEaNZsKrA_8_4">6</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_LJ1Pdkc2iE-LpWHQOoApUQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_CBLMUgqOr0WhHwOzoDqRyQ_8_6">16,050</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_LJ1Pdkc2iE-LpWHQOoApUQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_2GdxbOEMJUGNuN5QsdSKrA_8_8">6</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_hIkB5vi1X0-Px0z6AeNOvA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_ArID_REiUE2aBwUli2gLlg_9_2">24,977</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2018_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_KMuBise7OUOQiRB4yNOb0A" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_RFofDR4d3UOmF1-mjY7OQw">21</ix:nonFraction>-<ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2018_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_KhP7w9NlGUuayLs6labngg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_AxUKVZYg4Ei4sbthblOOGw">49</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_a2uc7kYqWkme20DzcCAvFw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_QrcghpVqVUCLC4pN_Mw4IA_9_6">34,582</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2019_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_URLU5YKbh0Kyytn66vXQJA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_3duGn8GeY0m_cosi3u8JWQ">15</ix:nonFraction>-<ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2019_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_XKBDabUyW0CD8iogaTXkQg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_f2EE2fvRLUCHnwRpkkFNDg">49</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_Ypi30_Q_hEK4VCadgEqF8g_10_2">126,095</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_vS4508dUmkSB2AXu36nMrw_10_6">152,828</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Tax equity transactions</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2015, the Company, through its wholly owned subsidiary, Recurrent, entered into the following tax equity transactions: </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In December 2015, the Company completed the sale of <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_12_1_2015_To_12_31_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassAMember_gkKSV9gF2EGbZgaq8gBPnA" decimals="INF" format="ixt:numdotdecimal" name="csiq:EquityMethodInvestmentOwnershipPercentageSold" scale="-2" id="Narr_59FV5g-2Jk-trGn-PvD-aQ">100</ix:nonFraction>% of the class A membership interests of RE Roserock Holdings LLC, the holding company of the Roserock project companies, to Southern. The Company maintains <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassBMember_atfeGdwVF0mBEc7vyhZd6w" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_yQpGdkNMhkeLG2RACFXQhw">100</ix:nonFraction>% ownership in the class B membership interests of RE Roserock Holdings LLC. Southern paid the Company an initial contribution of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_12_1_2015_To_12_31_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassAMember_gkKSV9gF2EGbZgaq8gBPnA" decimals="-6" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfInvestmentProjects" scale="6" id="Narr_oE9RNppZvkybcUvB2yX9Bw">45</ix:nonFraction> million in cash for the class A membership interests in RE Roserock Holdings LLC.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the LLC agreements, the class A membership interests and class B membership interests will receive <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2019_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassAMember_6op6Ex1lRUCkN7e7zL6wmg" decimals="2" format="ixt:numdotdecimal" name="csiq:CashFlowDistributionPercentage" scale="-2" id="Narr_EDwsWOETD06KDwGxNLtiJw">51</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2019_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassBMember_PNsHc0u5PkCTT9zn-4EF_Q" decimals="2" format="ixt:numdotdecimal" name="csiq:CashFlowDistributionPercentage" scale="-2" id="Narr_R4exG98lvkC922Diy8M8kA">49</ix:nonFraction>%, respectively, of future cash flow distributions, and Southern is entitled to substantially all of the projects&#8217; federal tax benefits.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Effective with the sale of the class A membership interests, the Company ceased having controlling financial interests in Roserock, and accounted for the transactions as partial sales of real estates under ASC360-20 when the transactions incurred in 2015. The Company also considered that it would continue to exercise significant influences over its retained interests in and has accounted for these interests pursuant to the equity method of accounting.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under this method, the Company recognizes its equity in earnings attributable to class B membership interests according to its proportionate share of investees&#8217; operating cash flows. Additionally, the Company amortizes the basis difference between the cost of investment and its proportionate share of the investees&#8217; net assets over the estimated lives of the related assets.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-39</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_8YWTnGZC1kWIbkwGjA_SvA_cont1"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">11.&#160;INVESTMENTS IN AFFILIATES </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In December 2018, the Company wrote down the class B membership interests in Roserock project to its anticipated resell value by $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_12_1_2018_To_12_31_2018_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassBMember_Wy0k8Dw-q0OGQJ8s6C-rYA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOtherThanTemporaryImpairment" scale="6" id="Narr_C53nnIe9JEeTQBcUzYwPJA">5.0</ix:nonFraction> million.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Other investments</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On September 8, 2015, SZSP established an entity, Suzhou Financial Leasing Co., Ltd., for cash consideration of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_9_8_2015_To_9_8_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_BOjWTJgvMEaSRomTHtEAoA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireInterestInJointVenture" scale="3" id="Narr_3US30NhTJE6gpMkCoEh7-g">13,860</ix:nonFraction>, in which the Company holds <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_9_8_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_zoofUt6-skKcJlyAiZZvVg" decimals="2" format="ixt:numdotdecimal" name="csiq:CostMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_1AlysnRd3Eavoawgeh7eug">6</ix:nonFraction>% voting interests. <ix:nonFraction unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA" contextRef="Duration_9_8_2015_To_9_8_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_BOjWTJgvMEaSRomTHtEAoA" decimals="INF" format="ixt-sec:numwordsen" name="csiq:NumberOfBoardMembersDesignatedByTheAcquiredEntity" scale="0" id="Narr_1rDtsUMsCkuaFM7n35NPmQ">One</ix:nonFraction> of <ix:nonFraction unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA" contextRef="Duration_9_8_2015_To_9_8_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_BOjWTJgvMEaSRomTHtEAoA" decimals="INF" format="ixt-sec:numwordsen" name="csiq:NumberOfBoardMembers" scale="0" id="Narr_vNeR4tQsUEeim0X2J4ZX7Q">five</ix:nonFraction> board members is designated by SZSP and, as such SZSP is considered having significant influence over the investee and the equity method is used in this investment.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On October 26, 2017, Canadian Solar Infrastructure Fund, Inc. (&quot;CSIF&quot;) priced its initial public offering. As of December 31, 2018 and 2019, the Company owned <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_lvmCPoeg9E6zhxGlRm4vIQ" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_Kb66TJQJLECoa_Jpt26xig"><ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_wlK1-Iyzvka0rOPFORBjQA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_F2LZNDHIc0W5l9jupUf_5A">14.66</ix:nonFraction></ix:nonFraction>% of total units of CSIF. One out of the three members of the board of directors of CSIF represents the Company. The quorum for a board resolution of CSIF is a majority of the members of the board of directors, and the adoption of a resolution requires a majority of the votes presents.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In September 2018, the Company made full impairment charge of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_9_1_2018_To_9_30_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_EnowIncMember_L3kCVTNU-UOX58ThrnFpqw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ImpairmentOfInvestments" scale="6" id="Narr_IkH8Sp7BREWbyODdUcl-vQ">0.7</ix:nonFraction> million on investment in eNow, Inc., in which the Company holds <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_9_30_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_EnowIncMember_xpU4nJdTK02J6qL3DLUAXA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_28mCYGmajEmJJpNohIjcsA">10</ix:nonFraction>% voting interests, due to deterioration of the investee&#8217;s financial position.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Equity in earnings of unconsolidated investees were $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Narr_ifl0Lb7gw0m80299TwoIsw">9,411</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Narr_hHiLJ8qfAk-kjCm5XAXukg">5,908</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Narr_XJGDb__G_EWrCtn4xx9YFw">28,948</ix:nonFraction> for the years ended December 31, 2017, 2018 and 2019, respectively.</p></ix:continuation><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_01d2620d_5b1c_4815_886c_a592a89cb134"></a><a id="_c49ddc6b_e672_4af3_990e_28f3e29da3ef"></a><a id="_5f3a3c3e_032e_4f9a_847c_5ee660c8eb1f"></a><a id="_e67de1bb_108c_4f87_91a2_98a7e3cf4abe"></a><a id="Tc_gYtU9j2Kcka2nf9lGMP-fg_1_2"></a><a id="_f40362ab_34fa_4eb4_b03a_7de862cea505"></a><a id="Tc_l_TwI2Opz0-oCBN4yjOMqw_2_2"></a><a id="_893e43c7_dcb4_4e52_b8a1_84ab2b7229d5"></a><a id="Tc_47j65mzFr0iCLFwjsMbs4w_3_2"></a><a id="_868083bf_5bcb_4c9e_bb65_978b9c3d2d1d"></a><a id="Tc_GzDajuYwR0aoos1t12Cybw_4_0"></a><a id="_85b42f9a_a461_4c35_9bdc_cacac81b19e1"></a><a id="Tc_FPzau8Ugo06jSkBGqj0CLA_5_0"></a><a id="_4a50bba3_053f_4749_8618_34a5d9bab854"></a><a id="Tc_3Z8YNjHCKEms-vtUVyVzDg_6_0"></a><a id="_779b21aa_286f_4f15_98e6_8fc5c543d70d"></a><a id="Tc_OHRBafbHc0WUrRJ8wdXLeA_7_0"></a><a id="_f8434057_1ef6_44c8_bfbf_f90650d581f2"></a><a id="Tc_Ef7Eo0QmFU-HULeMaUmaGA_8_0"></a><a id="_0714d84c_3130_4a10_bfa4_87c168272988"></a><a id="Tc_1WGGMDdP7ECetTAE43nRFg_9_0"></a><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:LesseeOperatingLeasesTextBlock" id="Tb_NXnSH5WVuUuqOWD_DWvY_A" continuedAt="Tb_NXnSH5WVuUuqOWD_DWvY_A_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">12</b><span style="font-style:italic;font-weight:bold;">.</span><b style="font-weight:bold;"> LEASE</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company leases office space, office equipment, vehicles, spaces for solar power plants construction, and manufacturing facilities in various regions where the Company operates. Leased assets mainly locate in China, United States, Japan, German, and Italy.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The leases considered as ROU assets have various terms of up to twenty years. The Company also has certain leases with terms of 12 months or less, which are not recorded on the balance sheet.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The components of lease expenses were as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:LeaseCostTableTextBlock" id="Group_ES9bMXHopE2qV0sSKMYVaQ" escape="true"><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year&#160;ended</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Finance lease cost:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Amortization of right-of-use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" scale="3" id="Tc_oh0jLZEc-0uDvEfan1RPLA_5_2">18,900</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest on lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseInterestExpense" scale="3" id="Tc_jkLAcXVuYkubo27BArWyIQ_6_2">3,213</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Operating fixed lease cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseCost" scale="3" id="Tc_LN_r_zZ-3keQYXxobPSuBQ_7_2">17,619</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Short-term lease cost</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermLeaseCost" scale="3" id="Tc_J8zu5CQLVESSv0tP0gywNA_8_2">8,920</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total lease cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LeaseCost" scale="3" id="Tc_hBJ4c0Rw7E6qQz7vee0ymA_9_2">45,916</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The operating lease expenses were $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseExpense" scale="6" id="Narr_F2MGpPfRgEiP1ApVP7jfQQ">20.9</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseExpense" scale="6" id="Narr_AA0hMSKmYkC5puhn7sT4KA">19.8</ix:nonFraction> million for the years ended December 31, 2018, and 2017, respectively. Finance lease expenses were $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-5" format="ixt:numdotdecimal" name="csiq:FinanceLeaseExpense" scale="6" id="Narr_wLeAY6_KekWVX8deTFbujQ">24.7</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-5" format="ixt:numdotdecimal" name="csiq:FinanceLeaseExpense" scale="6" id="Narr_FqB7IhkUakWnHgp3wtnH2g">19.1</ix:nonFraction> million for the years ended December 31, 2018 and 2017, respectively.</p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-40</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_6ed50eb6_ff69_47e2_954d_90ea50d3d1e1"></a><a id="_a23696bc_1b5a_4fa5_ac5c_a798fe6676c5"></a><a id="_9e4050c6_ee8e_451e_ab7d_783ca5661877"></a><a id="_01dd41bd_5805_4791_8b70_1fff5403d920"></a><a id="_2ffd40e5_0665_4711_a2a6_f45f1393d2c3"></a><a id="Tc_wnmnKBe9CEqK6Fjdyfip8g_1_2"></a><a id="_1c01bf57_6745_4c28_b2a0_202a5beb386a"></a><a id="Tc_U0IR5xpgvkiyiBwmSch7ww_2_2"></a><a id="_3e9a9a07_74be_465a_a87c_d0dc407a455d"></a><a id="Tc_DfssFhpSck6VM0txDkeBDw_3_2"></a><a id="_079c5f64_134b_4767_83d4_aeee6883a48c"></a><a id="Tc_jLWofcl1RUuERhFQgBnpMQ_4_0"></a><a id="_32c74239_c7c3_4737_884d_2f36f58f9f9a"></a><a id="Tc_lyB1WFyF40iXdzQQIOxfrw_5_0"></a><a id="_5fe1c0b5_69f8_4396_8ec2_91f4159ef0ec"></a><a id="Tc_xoiYRzrJeU-rLu2WDDjEiA_6_0"></a><a id="_2ba4dc39_e5a2_47b6_91bd_402397d02fbb"></a><a id="Tc_PC66zut-wEOoytR5vDfPvA_7_0"></a><a id="_d2a07e1e_a1fc_47d9_97b6_2a4f70996f15"></a><a id="Tc_zJLEM6ZcOUCt_7sfVcdUsA_8_0"></a><a id="_59d6fc53_1a0f_4b24_83e8_16db45aa426a"></a><a id="Tc_02A1HdbHNEamCc09HVN7WA_9_0"></a><a id="_bde45c16_2cdc_48fe_861e_105c6c2e98c4"></a><a id="_468c95d1_449f_4d07_a0dd_140311117414"></a><a id="_4d5cdd8b_eb84_4397_8184_e33e0816049f"></a><a id="_e265e1f4_90ab_404d_aa9b_efe1b78199f4"></a><a id="_fddede3e_893e_4c1d_bf57_12a06204cf40"></a><a id="_769eeefb_ee68_4bc4_bf5c_5b2be4c6c986"></a><a id="Tc_CX0FaF2ymUihGIcFZORTwg_1_2"></a><a id="_dde4e3d4_9e46_4d9e_985a_fb31dff905bc"></a><a id="Tc_JNpLfaPD0UGRjAMXEpGB-A_2_2"></a><a id="_7d4e01c3_ebe5_4bda_bd1d_6a1408b54052"></a><a id="_ca3b0ccc_7170_473d_957d_17b25f9e82fa"></a><a id="Tc_fu4c35jyTUa07QZ428EQdg_3_0"></a><a id="Tc_i554ykHmQ0-dsB89SHJiIQ_3_2"></a><a id="_da359a81_b118_4ca1_80b4_1fe0e3ec455c"></a><a id="_b9bcd31c_7e31_4410_adf0_27b68e6de8a4"></a><a id="Tc_XG9EjFrIIUKPZUcGUoD0sQ_4_0"></a><a id="Tc_xqVV_i0rr0Wk5MC_OrV_Iw_4_2"></a><a id="_aca4bc27_974c_41a5_b78e_9d54caa74cb9"></a><a id="_154b09e6_6733_46b9_ab85_2f13312773ef"></a><a id="Tc_Pjvqd4tcgkO29LBbtAKlpg_6_0"></a><a id="Tc_llnm7aH7RUSB1YAbU99Djg_6_3"></a><a id="_796d8ca7_b618_4e19_9a38_e6986911faa6"></a><a id="Tc_Zj1x2UVcGEKNTTaONIKm3g_7_0"></a><a id="Tc_3tGMwaVJrUOcMo0n2F8eSA_7_3"></a><a id="_39d9412e_4b02_4da0_9134_3e3865cb6050"></a><a id="_65a4a5a8_2cb5_4cf4_8b77_487ee6c7bbed"></a><a id="_ff0a4bfc_1103_431c_bb57_3e5f25f58f31"></a><a id="_6580b691_2af7_496f_8099_1abf90af330f"></a><a id="_8452c413_2a5f_4b33_9771_344123678e1e"></a><a id="_8ceecf51_18bb_401d_a630_e60eff291ad9"></a><a id="_15641c08_7fb4_4d4f_88e8_abb673ef27b8"></a><a id="_2410bc13_d646_4e2f_896a_59915b72b245"></a><a id="Tc_ojc9hgMN9EaaiayicuRAGw_1_2"></a><a id="Tc_dGYdK0oiM024vzp7fIVo0A_1_4"></a><a id="Tc_u4f0DjwtN0qjr8yti27QUw_1_6"></a><a id="_9cc5fcf2_a034_4416_81e9_feb81f0e24ac"></a><a id="Tc_ojiKHPNlvk2sa04U4OblfA_2_0"></a><a id="Tc_3YjPSG2MT0S6sdWUA4wOrg_2_2"></a><a id="Tc_i8vQL8WWX0iYLoSVyO0L5A_2_4"></a><a id="Tc_NVIia-yOB0u4V_bxrSCRVQ_2_6"></a><a id="_dfbe1f91_439b_4648_a8fd_0060a7a7c04f"></a><a id="_716ef3c4_6cee_4382_be6a_4cffe38e24bc"></a><a id="_8fe46d50_ce44_4875_98be_d21d001e6d01"></a><a id="_b5ab9d16_9f09_415d_88e3_3959a58a2a41"></a><a id="Tc_bLCYPAppaE-xJnptdRWlEQ_3_0"></a><a id="_6742b52f_81d0_43ab_8741_e19c3c20fd32"></a><a id="_8b0f939d_7f5c_49ed_ada1_7b21609dd6f5"></a><a id="_7cc4bb5d_c33b_4a21_825b_5f878176f53d"></a><a id="_919a89d1_1d52_444d_8802_1450b96bc315"></a><a id="Tc_zFfFy8fe6UylbjYU3DXf0Q_4_0"></a><a id="_1a41f41f_0c66_4f70_b9f2_8a648b608ee1"></a><a id="_050c2249_c2b3_4a41_be70_a410564d6b68"></a><a id="_a5229bac_ae24_402e_94d6_7b51e1721bfe"></a><a id="_4912a4b9_5d75_4d57_a30b_592bbdcf83a9"></a><a id="Tc_Jo4gzSzkAU6zs9Pt8gk47g_5_0"></a><a id="_68899232_4122_4dd4_8f68_0595b0536fcc"></a><a id="_d9d61f69_64bf_47e8_b18d_28ca51621cf2"></a><a id="_00ed276f_aadc_467a_93be_3b92c59b26b7"></a><a id="_136da70e_69e9_4e56_bee3_38b14de52d1f"></a><a id="Tc_mGAwxJuro0qNZFNwe7PpmA_6_0"></a><a id="Tc_iQ8RfM5laEOcSN5BEykh5w_6_4"></a><a id="_3b42ef56_bba9_42ba_ad55_c51e82413a67"></a><a id="_6f152225_513b_4f02_b786_75481ec08078"></a><a id="_7c0943ed_3506_4b83_b34b_fff0e89b61ea"></a><a id="_451f36c9_2e93_4424_a110_1ef393d99bd9"></a><a id="Tc_raUxR23P40C3GmVT6xXS9g_7_0"></a><a id="Tc_ogHUWUkVBUa7TfZGyaPdDg_7_4"></a><a id="_ca983589_bc89_4b14_9047_9ed890d75eb4"></a><a id="_47ae822d_2b3d_496c_a4fd_b801476f72b0"></a><a id="_d5d02908_9151_49d7_8ef1_976672aee3d5"></a><a id="_57c2d9cb_82b4_4b46_b2d1_7b5f76038978"></a><a id="Tc_7MyaHDcqXUyt9-CnV4HeEg_8_0"></a><a id="Tc_EUen6sAkykOJ92R02XGeUg_8_4"></a><a id="_3247b35b_6dc8_49b6_9f7a_37c0c5d408e8"></a><a id="_474fc758_230f_4ecd_8102_dc1e276ca463"></a><a id="_7cfcf6b2_9683_4012_b64f_9087b79958a0"></a><a id="_33195cfd_ac28_4f53_a63e_d9104d62e62b"></a><a id="Tc_qPgRCVMNk0eLy9eZXeTQWQ_9_0"></a><a id="_9101fedb_fa79_43bb_b978_6d795f4b4608"></a><a id="_ea8ad2af_e0f4_43a8_8378_1bf105408492"></a><a id="_5a49ffff_7ed3_4a23_bd40_d1afeb4d3352"></a><a id="_04d4b94b_d242_472f_b990_be721d27c3d6"></a><a id="Tc_sFXPC_X4OUKUfyCqsbOLgA_10_0"></a><a id="_0d2e527a_34b0_4b9d_a941_2471d38d8b9b"></a><a id="_3356b2fe_ba10_449b_b67b_d92388e777ac"></a><a id="_7da2602a_0c5c_409b_aae2_534221f01ac8"></a><a id="_983680c6_381d_47cd_b2e3_11b9f47779b6"></a><a id="Tc_uaj1HQWQUUyRBypJI-JdeA_11_0"></a><a id="_481c8e48_f50b_42d2_89b8_076148b0341f"></a><a id="_9aa757ef_27b0_4a36_8c16_11b99a2eb6f6"></a><a id="Tc_nhjbpurOhE6aB7g6M0qevQ_13_0"></a><a id="_20995c4d_e2e1_4038_a0cd_cc7fce85e978"></a><a id="_e4c635d9_35a2_4f29_b2af_27d9d3696792"></a><a id="_c96a53d7_e5d9_4f39_ad20_d043fde0ec75"></a><a id="_1f427986_7e5a_4fd2_955a_71bf1c407266"></a><a id="Tc_QmNlkxQ35kmQJclte0JxzQ_14_0"></a><a id="_40e60856_0b76_40cd_8a3d_514d6b60248f"></a><a id="_f664c3d6_74a1_4578_b986_5e98938f8b25"></a><a id="_0e1ec5d9_6aed_4390_ba4b_4a842cfe672e"></a><a id="_577c02d1_05dd_4e1b_99ec_134437a37bc3"></a><a id="Tc_dxVwzGdDAECVG2qF3u9-sw_15_0"></a><a id="_ae4d02cf_7c6d_4a15_ac4f_5605e6bbd334"></a><a id="_cec60b5a_af79_471f_ae2a_0e37353a1bea"></a><a id="_a3797466_16f3_4bb4_b8ab_31618987cc1c"></a><a id="_7421f1aa_5cdb_4985_ba0f_0de6e36702bf"></a><a id="Tc_K74SSihmw0O9rPZzV9pMCA_16_0"></a><ix:continuation id="Tb_NXnSH5WVuUuqOWD_DWvY_A_cont1" continuedAt="Tb_NXnSH5WVuUuqOWD_DWvY_A_cont2"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">12</b><span style="font-style:italic;font-weight:bold;">.</span><b style="font-weight:bold;"> LEASE </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Other supplemental information related to leases is summarized below:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="csiq:LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock" id="Tb_pZl-hdRkak6yCcVDhb-OKA" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year&#160;ended</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash paid for amounts included in the measurement of lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating cash flows from finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseInterestPaymentOnLiability" scale="3" id="Tc_ntrRRN3GMkCAplNkR_KiLg_5_2">3,213</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating cash flows from operating lease</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeasePayments" scale="3" id="Tc_Es7hMR3lWEuAa0ghsPztGg_6_2">15,866</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Financing cash flows from finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsForFinancingCashFlowsFromFinanceLease" scale="3" id="Tc_clHJx-3Fk0KHR0zJ1I0y1Q_7_2">33,614</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Right-of-use assets obtained in exchange of new finance lease liabilities in non-cash transaction</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="3" id="Tc_PW89APgjhkyFhsIFbneXFg_8_2">7,300</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Right-of-use assets obtained in exchange of new operating lease liabilities in non-cash transaction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" scale="3" id="Tc_P0NxwblZtE2O8DasZtBKVg_9_2">18,222</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Weighted average of remaining operating lease term - finance leases (in years)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="-sec-ix-hidden:Hidden_M-Q2a2b3OEOOK02jTa1BjQ"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:right;">1.41</span></span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Weighted average of remaining operating lease term - operating leases (in years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="-sec-ix-hidden:Hidden_GCueFfnbSEaf4cRxYJqJlw"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:right;">3.03</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Weighted average of operating lease discount rate - finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Tc_hwVKXGyKJk2R0s_Lvfselg_6_2">5.82</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Weighted average of operating lease discount rate - operating lease</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Tc_LGqWe8y730qaOn1qKTBzQQ_7_2">4.36</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">As of December 31, 2019, maturities of operating and finance lease liabilities up to five years were as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="Tb_oTwNtH6fSEa4H2xnJp_lgw" escape="true"><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Operating&#160;Lease&#160;Payment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Finance&#160;Lease&#160;Payment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total&#160;Lease&#160;Payment</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Year Ending December 31:</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" scale="3" id="Tc_6iMv2xc2zEGO_duj0fvptg_3_2">18,953</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" scale="3" id="Tc_Ghl_7_nIdkebGTYcH71ZSw_3_4">27,439</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDueNextTwelveMonths" scale="3" id="Tc_DBt63Qe4HEKXS2VmcTDDQQ_3_6">46,392</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" scale="3" id="Tc_v4licqNCc0KTihHFJHlMUw_4_2">12,980</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo" scale="3" id="Tc_ae4raBMkikSFDITuvhdAAg_4_4">13,087</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDueYearTwo" scale="3" id="Tc_HwF8nyHt2kadSoyS93uvPA_4_6">26,066</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2022</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" scale="3" id="Tc_KPjpibGMiUevsSHmlAPGQw_5_2">4,666</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree" scale="3" id="Tc_tU6zxdguiEmL0iFEdtMWNA_5_4">604</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDueYearThree" scale="3" id="Tc_2w6KVQmb0kWuovYDHgEvWA_5_6">5,270</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" scale="3" id="Tc_pp7AWfix2EeE8qqvVhT5WA_6_2">2,541</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDueYearFour" scale="3" id="Tc_6nHjKoWiT0qYBYjk_Du5eQ_6_6">2,541</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2024</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" scale="3" id="Tc_AMvbKH0ZbEKtKpzBVg4fjg_7_2">1,077</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDueYearFive" scale="3" id="Tc_-Zc94n2xKUq9baLeSnTnIw_7_6">1,077</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" scale="3" id="Tc_MawF9KcBI0aWE7fR_02-yw_8_2">1,504</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDueAfterYearFive" scale="3" id="Tc_4xJhYyFFlEigYnvCHSHmsA_8_6">1,504</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total future minimum lease payments</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" scale="3" id="Tc_a96HhPxAmEK_KmGjkprSow_9_2">41,721</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDue" scale="3" id="Tc_muv0phNVB0y8H9OkUpoejg_9_4">41,130</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDue" scale="3" id="Tc_2SHxwvGtrEihwM22meEj9g_9_6">82,851</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Less: imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" scale="3" id="Tc_-Whxi-BRqEyDz1jxAY2dKw_10_2">2,236</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount" scale="3" id="Tc_P51EY9m2AkiBSMkH2r6WOQ_10_4">2,056</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityUndiscountedExcessAmount" scale="3" id="Tc_-jBIZ5qFLEyAC3_n5xMScA_10_6">4,292</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">NPV for future minimum lease payments</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="Tc_Mpdw9TN4SEWLOam9QlVlZQ_11_2">39,485</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiability" scale="3" id="Tc_q4vVN3elDUigeoflvGNeFQ_11_4">39,074</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeaseLiability" scale="3" id="Tc__yE-J60CV02FYOUF6KO1ug_11_6">78,559</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Analysis as:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Short-term</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_ZPOkdy86RkaREkg0JHpCDg_14_2">18,767</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityCurrent" scale="3" id="Tc_cyzecY45OEmitlTxOSA20w_14_4">25,998</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeaseLiabilityCurrent" scale="3" id="Tc_aaNGxT8OKkCRhATZMGX9mQ_14_6">44,765</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_tobJO1tGdEOFGsz-gkeBow_15_2">20,718</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityNoncurrent" scale="3" id="Tc_ZoREB2_eNUWKrkqCP2CwjQ_15_4">13,076</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeaseLiabilityNoncurrent" scale="3" id="Tc_aiUAl0asgUewNLfDQPmYWg_15_6">33,794</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="Tc_jGDDpQU90UC7JrOR1rUljw_16_2">39,485</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiability" scale="3" id="Tc_VTnyDUYtFk676G_-Tyl65g_16_4">39,074</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeaseLiability" scale="3" id="Tc_N7HLTi_JhUOl2Q7q5bxldA_16_6">78,559</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-41</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_31a4e92c_1d47_4687_8762_b8a64bed8bd1"></a><a id="_16e99200_5f58_4b95_89b2_383e56c286bf"></a><a id="_9ec67fc7_904e_469c_b101_71b8c06e5ead"></a><a id="_e4c9f4ca_2c79_4e7c_b668_82f4a3daf43c"></a><a id="_d56c933f_1507_4c29_b51f_8b55616367ac"></a><a id="_0d410b3d_7547_4042_a173_0c54c6e1307d"></a><a id="_c08be9c9_e739_4e21_9770_ede646ac58bd"></a><a id="_23db42eb_d1e2_4dbb_949f_c7923475ad5a"></a><a id="_5a2c3881_b6b4_4ea6_ac64_b14cd20bd781"></a><a id="_9cce1f71_8483_4ce1_8465_3ed3dfc360b6"></a><a id="Tc_I3ZdU0caL0WTB-AePfnBdg_1_2"></a><a id="Tc_kya4T4f3nEiIwuHNXhv1VQ_1_4"></a><a id="Tc_T-mwa6CrXE-x-SxA1sMUlg_1_6"></a><a id="_5cd75271_340a_4067_9596_8106ec4e3aa5"></a><a id="Tc_j3QQ8xDjpU6HznLecLyMrw_2_0"></a><a id="Tc_ZpC8oYi1FUqcsbs3xWGWgw_2_2"></a><a id="Tc_7KmgnZBRFEmcseFuqkrnPw_2_4"></a><a id="Tc_y7epYW0p1k-hgyosdAlMEw_2_6"></a><a id="_69b4c691_0520_4abe_a782_f1fbc94fb2ac"></a><a id="_91b3628a_6fb4_4cd0_9c3d_2fbff6574d4c"></a><a id="_acdcdd97_ac15_4521_a2d3_2580682b271a"></a><a id="_a972b94a_bfa8_4fd0_a709_4a83bb93da81"></a><a id="Tc_g9lua7hK7UuiS77jpgX_Uw_3_0"></a><a id="_15f79692_47ed_41b0_92d2_29c8ee43a68b"></a><a id="_fb5e924f_a612_4a6e_9100_a8734c9a1de6"></a><a id="_a9fc40ce_6853_4ac2_8682_8189ac58f7d0"></a><a id="_8073ea63_4ad0_4e74_bcd3_9d5fea559012"></a><a id="Tc_uvTBt-uYlEKVvY1ezhEVMg_4_0"></a><a id="_60f8bcd0_4ec4_4dcd_b57e_fa0f9f2720a6"></a><a id="_2e5e1ab4_16da_474a_97bb_c4882cb7f4bb"></a><a id="_f655347d_11a0_4255_b916_2ad1804d45e5"></a><a id="_e7177e62_6705_4dfd_8ec2_50e5c78ba3e8"></a><a id="Tc_5u0tCIDmhUCm0tayIC624w_5_0"></a><a id="_b225f1a3_2821_44d1_bd15_75a2e0b9cdfc"></a><a id="_5637c02c_61f4_4c7c_aaea_6367d69cc6f6"></a><a id="_96b908e5_969b_4988_bd63_779f0c8205ba"></a><a id="_a097348e_65cc_40f3_9d2e_72917d330475"></a><a id="Tc_HGeQrYGxmU2wo64QX_WzsA_6_0"></a><a id="_59eddec3_322d_4980_939e_247b288555b6"></a><a id="_16d379c8_e716_42f0_963e_6dbf0706d78c"></a><a id="_0b36d787_4fdd_439e_82e9_9da4cd8c8b30"></a><a id="_c280e4a9_63d4_4a34_96da_0e760c99ce8f"></a><a id="Tc_fFA0rGsy2UKt01Uo97bvbg_7_0"></a><a id="Tc_Xcmxc-H_BU6ee5nDO9Mzug_7_4"></a><a id="_f79638dc_4f5a_4a62_afe3_e35a3e43026e"></a><a id="_adfcdeda_1bff_49d6_8ce2_36b898722c05"></a><a id="_bfa956b7_8005_40f4_9944_3f4f29912161"></a><a id="_ff2c8296_7035_4fbd_ad4d_c94d78323d15"></a><a id="Tc_CjwOH55qJkyEosClycMgbw_8_0"></a><a id="Tc_4uPzVLgfZESeHpEafvz3wA_8_4"></a><a id="_65acd8e3_1fdd_436a_9a67_ecab2ae3cf67"></a><a id="_cad03c85_152b_4156_9a77_5c55db3e9d81"></a><a id="_0b388248_952f_49a3_bc0c_a8bcf1d6ee07"></a><a id="_d5f285fb_7018_4881_b2de_6fa91131a876"></a><a id="Tc_BSR3Vlsjt0aw32gLDDkHGA_9_0"></a><a id="_e04d46cd_bdf8_4d68_b389_1544b5a49fb4"></a><a id="_0db2d4f4_571b_496e_ab5f_fd75ffa9f931"></a><a id="_6994d112_0c45_41a5_9243_4098339d4b04"></a><a id="Tc_qqxiqIlVc0uZL1af5H9npw_10_0"></a><a id="_817f34dc_deec_4771_90db_744caf23fea6"></a><a id="_7463bf18_a156_4ff5_9ed3_f1539214e672"></a><a id="_e521a05a_269e_423e_9b81_96883120438d"></a><a id="Tc_SN0vnAHemUKs-6DijJVnrQ_11_0"></a><ix:continuation id="Tb_NXnSH5WVuUuqOWD_DWvY_A_cont2"><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="csiq:ScheduleOfFutureMinimumLeasePaymentsForLeasesTableTextBlock" id="Tb_Z6jygwY-gkao9YH72ISrEQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The future minimum lease payments from 2018 Form 20-F as filed in accordance with Leases (Topic 840) were as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Operating&#160;Lease&#160;Payment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Finance&#160;Lease&#160;Payment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total&#160;Lease&#160;Payment</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Year Ending December 31:</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent" scale="3" id="Tc_lNGnB3M24Ear0FpVLDMVrg_3_2">18,287</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalLeasesFutureMinimumPaymentsDueCurrent" scale="3" id="Tc_ujIuofDQVUiqS7o7LR6pLQ_3_4">40,945</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeasesFutureMinimumLeasePaymentsDueCurrent" scale="3" id="Tc_PhPTEkt2IEesNF3BXo6iCw_3_6">59,232</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeasesFutureMinimumPaymentsDueInTwoYears" scale="3" id="Tc_l_wsj1vgTUOpROpIuAicMw_4_2">11,790</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalLeasesFutureMinimumPaymentsDueInTwoYears" scale="3" id="Tc_zv4XhI4wrk2pr59d3Hz5Yg_4_4">23,483</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeasesFutureMinimumLeasePaymentsDueInTwoYears" scale="3" id="Tc_ALib8YCLWk-5nQtcraCEyQ_4_6">35,273</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeasesFutureMinimumPaymentsDueInThreeYears" scale="3" id="Tc_8ejAoHJGFUO4tjB1YG37lA_5_2">9,379</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalLeasesFutureMinimumPaymentsDueInThreeYears" scale="3" id="Tc_6KlZ1Y0jU0mA0o1XuHldFA_5_4">11,842</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeasesFutureMinimumLeasePaymentsDueInThreeYears" scale="3" id="Tc_uA4OvsThQkW9mpGFBKurFg_5_6">21,221</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFourYears" scale="3" id="Tc_9JIB4zgyCUyLqn6ktX5DDg_6_2">2,485</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalLeasesFutureMinimumPaymentsDueInFourYears" scale="3" id="Tc_QeH7MKI92UKaG8HLOzqlKA_6_4">556</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeasesFutureMinimumLeasePaymentsDueInFourYears" scale="3" id="Tc_S9S7ei1ps0WisxaRF4IAkQ_6_6">3,041</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFiveYears" scale="3" id="Tc_RX8ynaJpik6GTdlIibtwrA_7_2">838</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeasesFutureMinimumLeasePaymentsDueInFiveYears" scale="3" id="Tc_UyajIyMXH0yu8Q_iqzIorA_7_6">838</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeasesFutureMinimumPaymentsDueThereafter" scale="3" id="Tc_1XzfyFZbt06-bX-GFWj9aA_8_2">7,743</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeasesFutureMinimumLeasePaymentsDuethereafter" scale="3" id="Tc_ayf5JwlKlkeC7_5v-y7gkQ_8_6">7,743</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">Total future minimum lease payments</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeasesFutureMinimumPaymentsDue" scale="3" id="Tc_KfBsd1pI2E-pM7Hymoqiyw_9_2">50,522</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalLeasesFutureMinimumPaymentsDue" scale="3" id="Tc_D6Fd7ZxMBkqDxygGZgwf2A_9_4">76,826</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeasesFutureMinimumLeasePaymentsDue" scale="3" id="Tc_zikZrZhHGEeSagvl-hjJQA_9_6">127,348</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">Less: imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments" scale="3" id="Tc_1XmQTVzqOkWeSNtc6quLlQ_10_4">5,024</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeasesFutureMinimumPaymentsInterestIncludedInPayments" scale="3" id="Tc_sQ2ubP9h106oQK1_3i7K_w_10_6">5,024</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">NPV for future minimum lease payments</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments" scale="3" id="Tc_wLBkEnfRXkOPLJaP5Nfk6A_11_4">71,802</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments" scale="3" id="Tc_4l3aCPQpaU6zR5syAbaH6g_11_6">71,802</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:continuation><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-42</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;min-height:11.5pt;"><a id="_Hlk38056125"></a><a id="Tc_RZQsuASK5UqYyM-OhD4Cug_1_2"></a><a id="Tc_EqaoqAVSqkOy-hKIUzXFQA_1_4"></a><a id="Tc_g_v4-CPpv0GTbbHZHZjWAQ_2_2"></a><a id="Tc_eUSbdwQJG02Zd2YvFxh8cQ_2_4"></a><a id="Tc_hqEUXtVeikKZhIkwB2IMqA_4_0"></a><a id="Tc_EUpDoMEzSUqcoQpJWzq0dw_5_0"></a><a id="Tc_TjO9u2Vdn0WMtPvEtyKJRw_6_0"></a><a id="Tc_UiNFFXccRUWQDphp_nvW9g_7_0"></a><a id="Tc_MwJi95b9oECVSV4e83_siw_8_0"></a><a id="Tc_g0xyG7R_nk67P3qSslj37g_9_0"></a><a id="Tc_RqYCl1h8AkCc8w-AxT7vlA_11_0"></a><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:DebtDisclosureTextBlock" id="Tb_NQtANaEScEWgJgDKBkcScw" continuedAt="Tb_NQtANaEScEWgJgDKBkcScw_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">13</b><span style="font-style:italic;font-weight:bold;">.</span><b style="font-weight:bold;">&#160;BORROWINGS</b></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ScheduleOfDebtTableTextBlock" id="Tb_ysFlI9idCEi5LrbYKoM8KQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Analysis as:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherShortTermBorrowings" scale="3" id="Tc_dVdtMUm7B0Ck3EW7sMDYAg_5_2">856,876</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherShortTermBorrowings" scale="3" id="Tc_fOo-vOeyF0OOkVOLdnMLGA_5_4">819,031</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term borrowings, current portion</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtCurrent" scale="3" id="Tc_vJZi2BSxFUuGqj5iWaSiaQ_6_2">171,051</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtCurrent" scale="3" id="Tc_aO25hPpEqkqlcKzNOGo1Qw_6_4">114,089</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Subtotal for short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermBorrowings" scale="3" id="Tc_m7BD-WrWU06a5WEhZeLMvg_7_2">1,027,927</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermBorrowings" scale="3" id="Tc_r4iPKVzDOEeGkG00kuDFqA_7_4">933,120</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term borrowings on project assets &#8212; current<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:LongTermBorrowingsOnProjectAssetsCurrent" scale="3" id="Tc_T9wNBmrrukG0-s7FU-xGcA_8_2">265,770</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:LongTermBorrowingsOnProjectAssetsCurrent" scale="3" id="Tc_m4EjlhNQp0qipoWhmJ4S8Q_8_4">286,173</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermNotesAndLoans" scale="3" id="Tc_Mh33dl-UakGsd-v2O8ItGg_9_2">393,614</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermNotesAndLoans" scale="3" id="Tc_Uu8_mBkYgUWscUE-IZTI5w_9_4">619,477</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Tc_Y95ZJXXCCUOfOAabvLTKbg_11_2">1,687,311</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Tc_HIQAo12PfkOcADYIb4nZ_Q_11_4">1,838,770</ix:nonFraction></p></td></tr></table></ix:nonNumeric><div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Certain long-term borrowings were classified as current liabilities because these borrowings are associated with certain solar power projects that are expected to be sold within one year.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2019, the Company had contractual credit facilities of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_nw1AxTFMckCSnF9eMHvNCQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_71I5sEsMmEqCTFaZ_-HleQ">2,331,226</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_nw1AxTFMckCSnF9eMHvNCQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" scale="3" id="Narr_hSKSAYwMfEGBNMqqUsRemw">579,545</ix:nonFraction> was available for draw down upon demand. In addition, as of December 31, 2019, the Company also had non-binding credit facilities of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember_NkfUFHvpiki-98GFkz5oaA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_9tmkc0Y_q0iEKZ1b0_nNhw">513,566</ix:nonFraction>.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2019, short-term borrowings of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:SecuredShortTermDebt" scale="3" id="Narr_KEkSnZVg_UW4bf8bYdn3XQ">708,787</ix:nonFraction>, long-term borrowings on project assets &#8211; current of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SecuredDebtCurrent" scale="3" id="Narr_K3qU0GEPkUW76r_4DJOKdg">283,409</ix:nonFraction> and long-term borrowings of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SecuredLongTermDebt" scale="3" id="Narr_SeVI-fM0MkOouafuZcQ43w">513,622</ix:nonFraction> were secured by property, plant and equipment with carrying amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment" scale="3" id="Narr_vC50cmWFZ0yy-NI9oIpVgQ">192,103</ix:nonFraction>, inventories of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedAssetsNotSeparatelyReportedInventory" scale="3" id="Narr_hYn7fPP22k6K0tZX2p5tsw">55,955</ix:nonFraction>, prepaid land use rights of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight" scale="3" id="Narr_-m3d7crCC0SXTcU12etJQA">28,763</ix:nonFraction>, restricted cash of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedAssetsNotSeparatelyReportedRestrictedCash" scale="3" id="Narr_TsT2kXky_kS0qx73SK8UyA">138,950</ix:nonFraction>, accounts receivable of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedAssetsNotSeparatelyReportedAccountsReceivable" scale="3" id="Narr_1crh1ctXQkyvM5-kBPOT-w">226,938</ix:nonFraction>, equity interest of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedEquityNotSeparatelyReported" scale="3" id="Narr_qZxKxH_sYEGglAJtL5ECSg">373,751</ix:nonFraction> and project assets and solar power systems of&#160;$<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedAssetsProjectAssetsAndSolarPowerSystems" scale="3" id="Narr_qjJOtSGv9UmXwZ2qfLJ4TQ">579,695</ix:nonFraction>.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Long term borrowings newly obtained during the year ended December 31, 2019 were as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On January 31, 2019, Canadian Solar Japan K.K. entered into a financing agreement with Mizuho Bank, Ltd, denominated in JPY, which agreed to provide revolving long-term working capital financing of approximately $<ix:nonFraction unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ" contextRef="As_Of_1_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_SecuredByInventoryAndAccountsReceivableMember_dFjpPyfdT0yiKEnn9IuxwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_LEG6WnqOR0m845Ys1QwA5w">8,476</ix:nonFraction>. The total outstanding borrowings under this agreement equaled $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_SecuredByInventoryAndAccountsReceivableMember_hdNSdECI10-ZOuoW3A_S4w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="3" id="Narr_sDYPI9TOEE269_oHTDTYQA">8,476</ix:nonFraction> at December 31, 2019. The loan is secured by inventory and accounts receivable. The agreement does not contain any financial covenants or restrictions.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On January 25, 2019, CSI Cells (Yancheng) Co., Ltd. entered into a financing agreement, denominated in RMB, with a Chinese financial institution, which agreed to provide long-term Capex financing of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_1_25_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember_47PUT9M-pEG19ZgH0VNFsQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_lwDm2dPisEiEGFRAulp8kQ">129,010</ix:nonFraction> in Jiangsu Province. The outstanding borrowing under this agreement was $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember_4OvvNdHmPkOJX1eQ44pPWg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="3" id="Narr_s5q6HF6PL0KQtUos540ArA">40,136</ix:nonFraction> at December 31, 2019, which requires repayment in 2021 and 2022. The loan is secured by prepaid land use rights and guaranteed by Chinese Subsidiary of CSI. The agreement does not contain any financial covenants or restrictions.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On March 18, 2019, Canadian Solar Projects K.K. entered into a financing agreement, denominated in JPY, with a Japanese financial institution, which agreed to provide revolving long-term working capital financing of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_3_26_2018_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_soD0AKKIuUuNnrkbdBGCHw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_baynQlHuYki9RMFOeVIhBQ">49,290</ix:nonFraction> for Solar power project development in Japan. The outstanding borrowing under this agreement was $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_fCMeD0tB102XyJd5n4KIjA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="3" id="Narr_VUJNZopbMUGlF9_J-sL_Ug">11,881</ix:nonFraction> at December 31, 2019, which requires repayment in 2022. The loan is unsecured and guaranteed by CSI. The agreement does not contain any financial covenants or restrictions.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-43</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_NQtANaEScEWgJgDKBkcScw_cont1" continuedAt="Tb_NQtANaEScEWgJgDKBkcScw_cont2"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">13.&#160;BORROWINGS </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On May 8, 2019, CSI entered into a financing agreement, denominated in USD, with Credit Suisse, which agreed to provide revolving long-term working capital financing of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_3_30_2018_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_H02AytcwPkqjfLjt3UCu_Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_DbkmuMkSB0iYlcXRaQQiVg">50,000</ix:nonFraction> for Solar power project development worldwide. The outstanding borrowing under this agreement was $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_LR3iHk2vW0KQebnCNviWTg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="3" id="Narr_37P5nqNey0GOz4FOtWV1wg">50,000</ix:nonFraction> at December 31, 2019, which requires repayment in 2021. The loan is secured by equity and guaranteed by SEA subsidiaries of CSI. As of December 31, 2019, the Company met all the requirements of financial covenants.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On June 25, 2019, CSI Cells Co., Ltd. entered into a financing agreement, denominated in RMB, with a Chinese financial institution, which agreed to provide long-term Capex financing of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_4_5_2018_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_ZaO8-lOzmkSOpXV4cotMHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_U4Ujl6ikUUSMcgoSKTF9UQ">43,003</ix:nonFraction> in Jiangsu Province. The outstanding borrowing under this agreement was $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_YxgnMJzRbEuNZzwUeEkYlg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="3" id="Narr_1QkFxYItZUW2Rfseuc-4EQ">34,188</ix:nonFraction> at December 31, 2019, which requires repayment in 2024. The loan is secured by property, plant and equipment and guaranteed by Chinese Subsidiary of CSI. The agreement does not contain any financial covenants or restrictions.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On June 28, 2019, Europe Clean Energies Asia K.K. entered into a financing agreement, denominated in JPY, with a Japanese financial institution, which agreed to provide project financing of $<ix:nonFraction unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ" contextRef="As_Of_6_28_2019_us-gaap_LongtermDebtTypeAxis_csiq_FinancingAgreementMember_Or7w3L2W5Uu6Os4lh3U82Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_lH63iZRtwEKeV1LJl4w0mw">5,989</ix:nonFraction> for Solar power project development in Japan. The outstanding borrowing under this agreement was $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_6_28_2019_us-gaap_LongtermDebtTypeAxis_csiq_FinancingAgreementMember_Or7w3L2W5Uu6Os4lh3U82Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="3" id="Narr_g7PHI4G57EesE_T1sRzWCg">1,503</ix:nonFraction> at December 31, 2019, which requires repayment in 2021. The loan is secured by project assets and guaranteed by CSI. As of December 31, 2019, the Company met all the requirements of financial covenants.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On July 15, 2019, Canadian Solar Manufacturing (Thailand) Co.,Ltd. entered into a financing agreement, denominated in USD, with syndicate financial institutions, which agreed to provide long-term Capex financing of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_7_15_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_67RkCDdGfUyMt7-vVUuIGg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_jT26k0GjsUG3KpZF_VYdyQ">110,000</ix:nonFraction> in Thailand. The outstanding borrowing under this agreement was $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_Unnv7A6IF0SNpUA-z-kfzQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="3" id="Narr_FZOjo7QvlEy6lAvU1HN-2Q">91,095</ix:nonFraction> at December 31, 2019, which requires repayment in 2024. The loan is secured by prepaid land use rights and property, plant and equipment and guaranteed by Chinese Subsidiary of CSI. As of December 31, 2019, the Company met all the requirements of financial covenants.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On September 6, 2019, Re SH ProCo LLC entered into a financing agreement, denominated in USD, with Syndicate financial institutions, which agreed to provide module supply financing of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_9_14_2018_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_65cKx5UOmUCkMoGigo2IqA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_ae9aVKuv60SLfsl0SpvsMA">123,708</ix:nonFraction> for in US. The outstanding borrowing under this agreement was $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_Fsc3B2vRw0iyfhOc95NwbA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="3" id="Narr_iXozLOfkO02KflEGhVEPnQ">123,708</ix:nonFraction> at December 31, 2019, which requires repayment in 2022. The loan is secured by equity and guaranteed by CSI. As of December 31, 2019, the Company met all the requirements of financial covenants.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On October 11, 2019, Re SH Mezz Borrower LLC. entered into a financing agreement, denominated in USD, with a Japan financial institution, which agreed to provide module supply financing of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_10_11_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_us-gaap_LongtermDebtTypeAxis_csiq_FinancingAgreementMember_KjOWdZ75a0WfTHSlg9itng" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_k0YTA0Nf9E2QctvP5Txilw">60,000</ix:nonFraction> for in US. The outstanding borrowing under this agreement was $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_10_11_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_us-gaap_LongtermDebtTypeAxis_csiq_FinancingAgreementMember_KjOWdZ75a0WfTHSlg9itng" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="3" id="Narr_u_qtw5_ZjE2ImR27wHt5dw">60,000</ix:nonFraction> at December 31, 2019, which requires repayment in 2022. The loan is secured by equity and guaranteed by CSI. As of December 31, 2019, the Company met all the requirements of financial covenants.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On October 25, 2019, Canadian Solar Projects K.K. entered into a financing agreement, denominated in JPY, with a Japanese financial institution, which agreed to provide revolving long-term working capital financing of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_10_31_2018_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_7ApNkRhE_0CMLMlGE-tNdA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_BuHO1pmnfkKt2WlsZyZGGg">93,975</ix:nonFraction> for Solar power project development in Japan. The outstanding borrowing under this agreement was $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_aoxurKTLVEiDwuHolZCXcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="3" id="Narr_sUf33hRi50GtKUNZpJp11A">93,975</ix:nonFraction> at December 31, 2019, which requires repayment in 2021. The loan is unsecured and guaranteed by CSI. The agreement does not contain any financial covenants or restrictions. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The newly obtained long-term borrowings disclosed above bear effective floating interest rates from <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtWeightedAverageInterestRateOverTime" scale="-2" id="Narr_K5xzO6Qde0evgxzTSe0zWg">0.95</ix:nonFraction>% to <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtWeightedAverageInterestRateOverTime" scale="-2" id="Narr_J4mOL7t9UE2ph7ikCs6hCg">8.28</ix:nonFraction>% per annum.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-44</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_3PKcb8RyG0qUr3599-Myog_1_0"></a><a id="Tc_7-GC_T_bbkemPtpVr8gpng_2_0"></a><a id="Tc_WqSqdcK7q0G1FB50k_t9Kg_3_0"></a><a id="Tc_WONkYIJDbEiLE1GPpvuStA_4_0"></a><a id="Tc_dF09LtkvU0iHDz8oJNuAvQ_5_0"></a><a id="Tc_iEQXY_CnjkK52WfDlNj9xg_6_0"></a><a id="Tc_myoYwEMJhkmft9hsO475uA_7_0"></a><a id="Tc_53Z-4rdLZE2Lx5bsHsWT6w_8_0"></a><a id="Tc_8IfrtZIPJkiGLel860UO0Q_9_0"></a><a id="Tc_n8FW6_AFKUyJqUcwYe2fzg_9_2"></a><a id="Tc_cAWbW2LxZEWp8DcIeBmrHg_1_2"></a><a id="Tc_QkT-gBV-eUS5QNOrwySI-A_1_4"></a><a id="Tc_2AEcs0HKYk2Vjwm6R3zLGg_2_2"></a><a id="Tc_2YFrWeWap0G9laZlhmty7w_2_4"></a><a id="Tc_mJDvFARiBkKcBfijxbb4Nw_3_0"></a><a id="Tc_yed4TX1gikawZaNcO-9MGQ_3_3"></a><a id="Tc_gwEInYFB0E-MMN4Yn9Lpmg_3_5"></a><a id="Tc_5DJHQ1GV0kiuhx7nQr0D2A_4_0"></a><a id="Tc_hzUl-oo_A0GhzwKXrAYTfQ_4_3"></a><a id="Tc_xjVLEGcrYUm6lyrqBfnbOw_4_5"></a><a id="Tc_ujg3HLCHJE61zgS04L8H3Q_5_0"></a><a id="Tc_x35T5lNCUEmDqsxW-eMNjQ_5_3"></a><a id="Tc_G02UhItKS0SHv-Ja1Fe8MA_5_5"></a><a id="Tc_BR9lGr0GoUK23ZsQjtsaCw_1_2"></a><a id="Tc_KKSaYM4wFkOQXhiJnz_qVw_2_2"></a><a id="Tc_ST3ucREdoUu5Zjnt8VLVmQ_2_4"></a><a id="Tc_2RZWsfCTnka5-WK46HV8oQ_2_6"></a><a id="Tc_cUb_CvNzdUqHvb6IAkYIfQ_3_2"></a><a id="Tc_Gtr0m-0wgk-FLBMzVB8vig_3_4"></a><a id="Tc_grkktDIv7UiLomgSq-wYvA_3_6"></a><a id="Tc_oZXV3puavEqcvJZ74Zgiog_4_0"></a><a id="Tc_92iMd0S6OkiSz6bUvsLvxQ_5_0"></a><a id="Tc_ehZ4OF0DKkW_oDnXT09r7A_6_0"></a><a id="Tc_pQ__5khWg0-uxhUZgCi1rQ_7_0"></a><ix:continuation id="Tb_NQtANaEScEWgJgDKBkcScw_cont2"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">13.&#160;BORROWINGS </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Future principal repayments on the long-term borrowings are as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" id="Tb_p7IpFvCdLEOwgUKZ_wSfiA" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" scale="3" id="Tc_Yr7s-2JwzU6wy2PLiPbV-w_1_3">400,262</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" scale="3" id="Tc_T1x1tet3uEOawlg92tWfCA_2_3">245,927</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2022</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" scale="3" id="Tc_BEl71p4qzEyr1kyEbZzfIw_3_3">276,675</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" scale="3" id="Tc_cizUypqnpkaZKKWBqpa6Mg_4_3">40,679</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2024</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" scale="3" id="Tc_OHTNR_d1aUCO7-hNhLkTyA_5_3">15,158</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" scale="3" id="Tc_FC53vSkrSUS3R11SQLfSkA_6_3">41,038</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebt" scale="3" id="Tc__1lXykiraUqf1TWFFM_vEw_7_3">1,019,739</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Less: future principal repayment related to long-term borrowings, current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LoansPayableCurrent" scale="3" id="Tc_NUHQpTD2UEOmFewIyQ07_g_8_3">400,262</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total long-term portion</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermNotesAndLoans" scale="3" id="Tc_fzfvZV4gFUijmxwIgFpMew_9_3">619,477</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Interest expenses</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Average effective interest rates on borrowings are as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="csiq:ScheduleOfEffectiveInterestRatesTableTextBlock" id="Tb_AFhoJLGDoUKrlW8x9XzbOQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">Short-term borrowings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2018_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_V5qWxWd2PE6gJIqF5det4w" decimals="INF" format="ixt:numdotdecimal" name="csiq:DebtInstrumentInterestRateFloatingPercentage" scale="-2" id="Tc_RdZ3Hm13M0Woq_z_0VPs1A_3_2">4.58</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_QB6FQT6tsUu2JlD0M-uS9A" decimals="INF" format="ixt:numdotdecimal" name="csiq:DebtInstrumentInterestRateFloatingPercentage" scale="-2" id="Tc_ZOy2nMshGk2Ca1y94CaR0Q_3_4">4.86</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">Long-term borrowings on project assets &#8211; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2018_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_kaMjFIZagEOypzTRPqfy3g" decimals="INF" format="ixt:numdotdecimal" name="csiq:DebtInstrumentInterestRateFloatingPercentage" scale="-2" id="Tc_O04M5ckVpUWiOKxrZDAsRQ_4_2">4.61</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_4LmkbPUO0EaVzVJKFVhl9w" decimals="INF" format="ixt:numdotdecimal" name="csiq:DebtInstrumentInterestRateFloatingPercentage" scale="-2" id="Tc_DWBQfDEf-kOyHcZddhoxUQ_4_4">3.65</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">Long-term borrowings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="INF" format="ixt:numdotdecimal" name="csiq:DebtInstrumentInterestRateFloatingPercentage" scale="-2" id="Tc_NQIB_UOcqEyP-AvdPFOZxg_5_2">3.13</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="INF" format="ixt:numdotdecimal" name="csiq:DebtInstrumentInterestRateFloatingPercentage" scale="-2" id="Tc_9-ME-2d7ak6NAPhpE_aBHg_5_4">5.43</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The Company capitalized interest costs incurred on borrowings obtained to finance construction of solar power projects or property, plant and equipment until the asset is ready for its intended use. The interests incurred during the years ended December 31, 2017, 2018 and 2019 are as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="csiq:ScheduleOfInterestExpenseTableTextBlock" id="Tb_g_XrKxQPwUORBbEzegc6QA" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:35.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Interest capitalized &#8212; project assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedProjectAssets" scale="3" id="Tc_5BCe8Sisq0GkEBshGZt0DA_4_2">13,274</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedProjectAssets" scale="3" id="Tc_jyrgowkzUkGOm6N6VwoQrg_4_4">15,462</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedProjectAssets" scale="3" id="Tc_KwHo9QSGmk-WsDmOYqbtbg_4_6">10,794</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Interest capitalized &#8212; property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedPropertyPlantAndEquipment" scale="3" id="Tc_ZbtUSMhNS0Wo-m4U1TnFWg_5_2">1,010</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedPropertyPlantAndEquipment" scale="3" id="Tc_flTRM02j60GcZDhBDDhLBA_5_4">1,182</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedPropertyPlantAndEquipment" scale="3" id="Tc_t5wTg06eUU6-dJGUrpekFQ_5_6">2,620</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Interest expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_GS80DDWAGUuL_Bs7Usk-mw_6_2">117,971</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_9Jbl1oxW-kOS-Ev5RSEqWQ_6_4">106,032</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_TzvnNJ1hk0Kuplmu_HYFrA_6_6">81,326</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total interest incurred</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestCostsIncurred" scale="3" id="Tc_hs1wi-kV5kmEhtT-w_rzqA_7_2">132,255</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestCostsIncurred" scale="3" id="Tc_tucjIpqLN0y4IgtFPqD7ug_7_4">122,676</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestCostsIncurred" scale="3" id="Tc_sy4-aDVUjkmgVFeKptsC2Q_7_6">94,740</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:continuation><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-45</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="csiq:ShortTermNotesPayableTextBlock" id="Tb_aT8eOxxF5k2L1wTg-Uq1Og" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">14.&#160;SHORT-TERM NOTES PAYABLE</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The Company enters into arrangements with banks whereby the banks issue notes to the Company&#8217;s vendors, which effectively serve to extend the payment date of the associated accounts payable. Vendors may present the notes for payment to a bank, including the bank issuing the note, prior to the stated maturity date, but generally at a discount from the face amount of the note. The Company is generally required to deposit restricted cash balances with the issuing bank, which are utilized to immediately repay the bank upon the banks&#8217; settlement of the notes. Given the purpose of these arrangements is to extend the payment dates of accounts payable, the Company has recorded such amounts as short-term notes payable. As payments by the bank are immediately repaid by the Company&#39;s restricted cash balances and other deposits with the same bank, the notes payable does not represent cash borrowings from the bank. As of December 31, 2018 and 2019, short-term notes payable was $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ShortTermNotesPayable" scale="3" id="Narr_v7TBCTaoQ0S4L3gTQ7qydg">369,722</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ShortTermNotesPayable" scale="3" id="Narr_JNm-Z_mKV0SxsyyOYzlI8Q">544,991</ix:nonFraction>, respectively.</p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="Tc__DGyih0GHEafaJVtZRIq5Q_1_2"></a><a id="Tc_0IXBqscyBk2jL_NjztgCdQ_2_2"></a><a id="Tc_wcG-KjtE-Umzueicd1alzA_2_4"></a><a id="Tc_axJZjuEYpEyfVh-bQE3rfA_2_6"></a><a id="Tc_1hgW3IU6ZEK75m4Agd_EZw_3_2"></a><a id="Tc_Kr1O4X-sbkiWE8wblamzXw_3_4"></a><a id="Tc_Fj_1Tg3R10Co86ggHXU8Yg_3_6"></a><a id="Tc_HJVwHE9UBUSoAr2G3Esbzg_4_0"></a><a id="Tc_XT0FR6N_ekSEEPkXatO95w_5_0"></a><a id="Tc_-BFF69fsCU-5aBHEWbEV0Q_6_0"></a><a id="Tc_WICyIriIyE2cVOjQh1oUjw_7_0"></a><a id="Tc_2YrPLzAobEuCcUN_k4DnNw_8_0"></a><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ProductWarrantyDisclosureTextBlock" id="Tb_hSf_o0l_9EC5b-9h2ZbjmA" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">15.&#160;ACCRUED WARRANTY COSTS</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The Company&#8217;s warranty activity is summarized below:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock" id="Tb_2J63jZ12v0e0SNAXvWOTUg" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:35.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Beginning balance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2016_1CpwSxbtS0GMUYvki678nw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_ImW0JARWQUKF29ZRX-uDQA_4_2">61,139</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2017_kjGpnzkm3E6qIMnIr7nQSg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_OM8CnuensUuHP3ED75wpBg_4_4">55,659</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_UMLJJJY-k0qyggalF5kuCg_4_6">50,605</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Warranty provision</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease" scale="3" id="Tc_qMb93dskSki1LKzBpgi4uA_5_2">19,793</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease" scale="3" id="Tc_WAoPmi7wIUybCT9CU52fwg_5_4">13,188</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease" scale="3" id="Tc_yzN6U2bd_0SVoOy1qv9sEQ_5_6">28,044</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Warranty costs incurred</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualPayments" scale="3" id="Tc_ZzelXo3L80yeJrM-PLWRXA_6_2">26,552</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualPayments" scale="3" id="Tc_Q5oAW1mzrEWI_Qmuy6JuXw_6_4">16,732</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualPayments" scale="3" id="Tc_NE5aGjAOXEK6SjFw4F1TBQ_6_6">23,282</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" scale="3" id="Tc_w1sUW3YRdU6mTBw4P7xMvw_7_2">1,279</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" sign="-" scale="3" id="Tc_hHsyrcULZU2qjsKsrrfv1w_7_4">1,510</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" scale="3" id="Tc_EhrBUXQtkUSfKJyofTn7Zg_7_6">511</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Ending balance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2017_kjGpnzkm3E6qIMnIr7nQSg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_6imYBMrx1EGBoRxagVMcxQ_8_2">55,659</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_29FR0fbJ0UeZ02HOVkBLhg_8_4">50,605</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_xjVPA64eY02haF4VhiLVBg_8_6">55,878</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:RestrictedAssetsDisclosureTextBlock" id="Tb_LjEx_RftEEaJab8DkaM41A" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">16.&#160;RESTRICTED NET ASSETS</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As stipulated by the relevant laws and regulations applicable to China&#8217;s foreign investment enterprise, the Company&#8217;s PRC subsidiaries are required to make appropriations from net income as determined under accounting principles generally accepted in the PRC (&#8220;PRC&#160;GAAP&#8221;) to non-distributable reserves, which include general reserve, enterprise expansion reserve and staff welfare and bonus reserve. The wholly-owned PRC subsidiaries are not required to make appropriations to the enterprise expansion reserve but appropriations to the general reserve are required to be made at not less than <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="2" format="ixt:numdotdecimal" name="csiq:MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage" scale="-2" id="Narr_eLSY5a0w_EyN8uIphmuv9Q">10</ix:nonFraction>% of the profit after tax as determined under PRC GAAP. The board of directors determines the staff welfare and bonus&#160;reserve.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The general reserve is used to offset future losses. The PRC subsidiaries may, upon a resolution passed by the stockholder, convert the general reserve into capital. The staff welfare and bonus reserve is used for the collective welfare of the employee of the subsidiaries. The enterprise expansion reserve is for the expansion of the PRC subsidiaries&#8217; operations and can be converted to capital subject to approval by the relevant authorities. These reserves represent appropriations of the retained earnings determined in accordance with Chinese&#160;law.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">In addition to the general reserve, the Company&#8217;s PRC subsidiaries are required to obtain approval from the local PRC government prior to distributing any registered share capital. Accordingly, both the appropriations to general reserve and the registered share capital of the Company&#8217;s PRC subsidiaries are considered as restricted net assets amounting to $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" scale="6" id="Narr_zpI0843DtU2xMSlZopVL7Q">497.2</ix:nonFraction> million as of December 31, 2019.</p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-46</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="csiq:ConvertibleNotesDisclosureTextBlock" id="Tb_vEfV3e9lSUus6pY1-wpscA" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">17.&#160;CONVERTIBLE NOTES</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On February 18, 2014, the Company issued $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_2_18_2014_To_2_18_2014_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_QLwd4HpR902K_A8wABiJsQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromConvertibleDebtInitialIssuance" scale="3" id="Narr_duMTkYiuw0CkslI5uEm-Jg">130,000</ix:nonFraction> of convertible notes (the &quot;2014 Notes&quot;). The Company granted the initial purchasers a <ix:nonNumeric contextRef="Duration_2_18_2014_To_2_18_2014_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_QLwd4HpR902K_A8wABiJsQ" format="ixt-sec:durday" name="csiq:DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance" id="Narr_7Y3QHQsI1kK_8eUAJj9S6w">30</ix:nonNumeric>-day option to purchase up to an additional $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_2_18_2014_To_2_18_2014_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_QLwd4HpR902K_A8wABiJsQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromConvertibleDebtAdditionalIssuance" scale="3" id="Narr_Rn06FHdC4EC7IuehXh-l4g">20,000</ix:nonFraction> aggregate principal amount of the 2014 Notes. The option was fully exercised by initial purchasers on the same day. The key terms of the 2014 Notes are described as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Maturity date.</i> The 2014 Notes mature on February 15, 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Interest.</i> The 2014 Notes holders are entitled to receive interest at <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yPbS4uCAjE2BEL6v9hroJg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_2uXkvf9_I0u2Noj97gQbEQ">4.25</ix:nonFraction>% per annum on the principal outstanding, in semi-annually installments, payable in arrears on February 15 and August 15 of each year, beginning August 15, 2014.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Conversion.</i> The initial conversion rate is <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_L7BCEJZcxUq493NghpmhNg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentConvertibleConversionRatio1" scale="0" id="Narr_wE8Fs4wlakm_jd5iYcOlFg">22.2222</ix:nonFraction> shares per $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yPbS4uCAjE2BEL6v9hroJg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentAnnualPrincipalPayment" scale="3" id="Narr_I9zLx_BuLk6hnCWZrxpQTw">1,000</ix:nonFraction> initial principal amount, which represents an initial conversion price of approximately $<ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yPbS4uCAjE2BEL6v9hroJg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentConvertibleConversionPrice1" scale="0" id="Narr_8fY0kQY8m0ybJybE4GN_iA">45.00</ix:nonFraction> per share. The 2014 Notes are convertible at any time prior to maturity. The conversion rate is subject to change for certain anti-dilution events and upon a change in control. If the holders elect to convert the 2014 Notes upon a change of control, the conversion rate will increase by a number of additional shares as determined by reference to an adjustment schedule based on the date on which the change in control becomes effective and the price paid per common share in the transaction (referred to as the &quot;Fundamental Change Make-Whole Premium&quot;). The Fundamental Make-Whole Premium is intended to compensate holders for the loss of time value upon early exercise.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Redemption.</i> The Company may redeem for cash all or any portion of the notes (i) at the Company&#8217;s option, on or after February 21, 2017, if the last reported sale price of the Company&#8217;s common stock has been at least <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_L7BCEJZcxUq493NghpmhNg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" scale="-2" id="Narr_t1UpJ-TXvUmooE_D0336xQ">130</ix:nonFraction>% of the conversion price then in effect for at least <ix:nonFraction unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_L7BCEJZcxUq493NghpmhNg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentConvertibleThresholdTradingDays" scale="0" id="Narr_cnM73fFgJ0ir1113OSq3MA">20</ix:nonFraction> trading days (whether or not consecutive) during any <ix:nonFraction unitRef="Unit_Standard_D_TD5KJN6-H0iWH7G2g_795w" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_L7BCEJZcxUq493NghpmhNg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" scale="0" id="Narr_Gtr8-u1zvE-tEUdV7NfLJQ">30</ix:nonFraction> consecutive trading day period (including the last trading day of such period) ending on, and including, the trading day immediately preceding the date on which the Company provides notice of redemption, or (ii) following the occurrence of certain tax related events, in each case, at a redemption price equals to <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_L7BCEJZcxUq493NghpmhNg" decimals="2" format="ixt:numdotdecimal" name="csiq:DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" scale="-2" id="Narr_MVsraHyFW0iPWUpRnldGGw">100</ix:nonFraction>% of the principal amount of the notes to be redeemed, plus accrued and unpaid interest to, but excluding, the redemption date.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2018, and 2019, the carrying value of the convertible notes was $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_qagh29pxOEOnWidIWH6_mA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConvertibleNotesPayableCurrent" scale="3" id="Narr_rjiGc062v0mlUU6ejB0GCA">127,428</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yPbS4uCAjE2BEL6v9hroJg" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:ConvertibleNotesPayableCurrent" scale="3" id="Narr_5tMQasE1mkSjSamG0q8tMA">nil</ix:nonFraction><span style="white-space:pre-wrap;">, respectively.  The balance at December 31, 2018 and 2019 was net of unamortized issuance costs of $</span><ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_qagh29pxOEOnWidIWH6_mA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DeferredFinanceCostsGross" scale="6" id="Narr_Jl_vK31P00KHVbtOo620HA">72</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yPbS4uCAjE2BEL6v9hroJg" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:DeferredFinanceCostsGross" scale="3" id="Narr_DLIcDKjj7kCAxJUl3zmieg">nil</ix:nonFraction>, respectively. The debt issuance costs are being amortized through interest expense over the period from February 18, 2014, the date of issuance, to February 15, 2019, the date of expiration, using the effective interest rate method which was <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yPbS4uCAjE2BEL6v9hroJg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" scale="-2" id="Narr_xw_wEczmBkySE-OffneA0w">4.96</ix:nonFraction>%. The amortization expense was $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_wzoGpx0GgkmiZaayun2EzQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfFinancingCosts" scale="3" id="Narr_a-JFpIXXD0-X5Gv98zAZkg">907</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_uLpMdt-vpE-VIUzEDDSsCA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfFinancingCosts" scale="3" id="Narr_p0tkpaZ5AUC1rTYPfX5WHg">953</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_L7BCEJZcxUq493NghpmhNg" decimals="-2" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfFinancingCosts" scale="3" id="Narr_Qj01FAz9eUK0P1YifXuvew">71.8</ix:nonFraction> for the years ended December 31, 2017, 2018 and 2019, respectively. Coupon interest of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_uLpMdt-vpE-VIUzEDDSsCA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpenseDebtExcludingAmortization" scale="3" id="Narr_OrnUgRtdGkC3EGm-R7AHHQ">5,419</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_L7BCEJZcxUq493NghpmhNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpenseDebtExcludingAmortization" scale="3" id="Narr_aKlpaPIlOEuKvRmYUygwng">903</ix:nonFraction> was recorded for the years ended December 31, 2018 and 2019, of which, $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_us-gaap_AccountsPayableAndAccruedLiabilitiesMember_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_z6P2d2lnrESe6ot6hqkgYg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPayableCurrentAndNoncurrent" scale="3" id="Narr_xbZJGCYAFU2seBAR7dmDfg">2,008</ix:nonFraction> and recorded in other payables as of December 31, 2018 and all amounts were paid upon December 31, 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">In February 2019, the company repaid the entire $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_2_1_2019_To_2_28_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_gK9F7jLB9UOrvT57XyoeyA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfConvertibleDebt" scale="6" id="Narr_TFgTB-3i8UayXakiSG6rOA">127.5</ix:nonFraction> million outstanding balance of senior convertible notes.</p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-47</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_Vi8q04MDnkCBXdefI4kelQ_1_2"></a><a id="Tc_jX8vRMQF7E6uhpclEf0dVg_2_2"></a><a id="Tc_NRuBbFYDn0K03VcSflcD5A_2_4"></a><a id="Tc_obxzxOB8U0qiaHSDVnfHAw_2_6"></a><a id="Tc_LCI00vEd1EurkXui9u-DiA_3_2"></a><a id="Tc_QdMVLfm3tkCbJqruB77rwg_3_4"></a><a id="Tc_EIRltItsqEWyIuB-CnDrnw_3_6"></a><a id="Tc_VTjiO8pSK027uq0QcZV6mg_4_0"></a><a id="Tc_dJS1yQxP9ES4bEY7JpvXqA_5_0"></a><a id="Tc_mESpa1gGJkW544C60PNugA_6_0"></a><a id="Tc_Bm72VJ6a00abXyEMA0KovA_7_0"></a><a id="Tc_d5v1dm3Sp02wazbdrSrcoA_8_0"></a><a id="Tc_sZ4DDtLbaE6lSm8aP0pTyQ_9_0"></a><a id="Tc_Hu_m5cUKwEel5EZ9O2g11g_11_0"></a><a id="Tc_-NpiQfsSxEOlLK8OO3bbyw_12_0"></a><a id="Tc_tvTur3sENU6gUfdJ9Zbr-w_13_0"></a><a id="Tc_E8zmrKDoBUGPdRcuHdfo1Q_14_0"></a><a id="Tc_klLkaSQ-xUyse5HYFSZJqQ_15_0"></a><a id="Tc_HXe-C_9XkE216XGEmeQfdQ_16_0"></a><a id="Tc_LTACqv8dHEij4o4BPhvK2g_18_0"></a><a id="Tc_cw7n1uQeFEieyLRpxM7ZTg_19_0"></a><a id="Tc_Z_JfuD0760OavsvnIx2-0g_20_0"></a><a id="Tc_cwyaQyKsME-yaveS0OBREw_21_0"></a><a id="Tc_htDv4kYV7kiCdexaiCLGiw_22_0"></a><a id="Tc_GKRaBom5t0-eXONQddzhJg_23_0"></a><a id="Tc_N4B-dZUSQEWfJacFNQDNBA_25_0"></a><a id="Tc_QQaqU2JXbU-57HH1TeD1SA_26_0"></a><a id="Tc_RVam83CiEEGITy2-83XKWA_27_0"></a><a id="Tc_Y1e8uGJFX06w0RrYS2Z4_w_28_0"></a><a id="Tc_l0N5_GETm02MtBikzCnCQQ_29_0"></a><a id="Tc_p1M2v5x4hU6i-1w4Qgl9fQ_30_0"></a><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:IncomeTaxDisclosureTextBlock" id="Tb_The_diRSjUGvm-dKXf5F6w" continuedAt="Tb_The_diRSjUGvm-dKXf5F6w_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Income tax expenses</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The provision for income taxes is comprised of the following:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" id="Tb_nSsIGL8eT0emGf4HDcjkWQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:35.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Income before income taxes</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CA_8lrpAC0yQ0qnB8EtGcL3RQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_wePQcwNuDUKNaLWVUHFx4A_5_2">30,524</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CA_lkq9bzFnokGNNmNq000F_A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_vyytDmOp-EarVO9kG0_85w_5_4">10,570</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CA_U73UV985r06bSeqJDxjsSA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_AskWUEXcQUqcli-TWmoA-g_5_6">61,880</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">United States</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_US_-EVDgMOdCU-0mdktAlGL9A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_7hNU0tP_qkSAcuhB8iSlgg_6_2">33,205</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_US_Cg9N18tgPkGGqXSIouQ2Hg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_b5nLVDuENU2rjxj4Qbok-Q_6_4">61,377</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_US_8h2LHSK_bUK7g5XVIxosNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_pdx1YXIRnkC-oF-BWbc2Aw_6_6">8,319</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">PRC including Hong Kong and Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CN_e1vAKk1TBU6eWIsQNy8tVA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_TyPs0C-ygkSwlCM7hO-NLg_7_2">173,266</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CN_Y5EsbEFvbU2KImnwbOE3sA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_p8d_KQ1q_UGG3IuSl4IfVg_7_4">178,050</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CN_Vckiv6w5gEy0eKEJr_uPjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_gBRVKCAsYkyMOztdDt_BNg_7_6">204,632</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Japan</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_JP_YSDQydabYEqMEJzZeiUKBg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_5MHAHPfm-0CNzQIUCLPMPg_8_2">28,164</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_JP_NFSvTIHfdUKxTEQnrrJjNA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_xaC2HWa5YkWh1QrpRZa_uw_8_4">27,555</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_JP_sO2imR9DuU2CdSHZxG7lOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_nCOxiqcGD0qqhY7B6R1EOQ_8_6">29,335</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_uu1We7nTlEWup-RQoPbnHw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_QOfbimeSpUe6TiiyIsMnZQ_9_2">6,233</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_fBc-TynnSkmfwM8MkJwtQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_XIvoe0IfkUyyd5q4SEpaEw_9_4">26,848</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_Tpvl9ys9pEiBod_oOxh7bw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_mC2Bl4wqbkiyPtlk3MMk8A_9_6">28,215</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_U70uSX2SUUqqlt7SW-HlwQ_10_2">143,934</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_wTzzqN9FVUWVmw8enhHq6Q_10_4">304,400</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_lsHWC6hlH0a-OR4G6bDWbQ_10_6">208,621</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Current tax</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CA_8lrpAC0yQ0qnB8EtGcL3RQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_QIapsrqN6E2XedQxkIAJIQ_12_2">346</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CA_lkq9bzFnokGNNmNq000F_A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_QW0R87a4zkSa2dVX4ujkNg_12_4">1,846</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CA_U73UV985r06bSeqJDxjsSA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_ZUgV2bBBUkGX7fXvWwqy4A_12_6">3,420</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_US_-EVDgMOdCU-0mdktAlGL9A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_qSJqtRxtDUCOrARQjFcl1A_13_2">54,482</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_US_Cg9N18tgPkGGqXSIouQ2Hg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_Wkh5xgmJtkm1gvUUVfB2pg_13_4">14,786</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_US_8h2LHSK_bUK7g5XVIxosNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_Yu5CGBXpGk2DEMHi6V6Obg_13_6">4,803</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">PRC including Hong Kong and Taiwan</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CN_e1vAKk1TBU6eWIsQNy8tVA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_cRqBKP84uUiX1kmxhNEipg_14_2">7,383</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CN_Y5EsbEFvbU2KImnwbOE3sA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_zWfUUKELBkWCA-v8sh0nfQ_14_4">27,285</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CN_Vckiv6w5gEy0eKEJr_uPjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_8MH32NqRD0COyMIX4kj5Ng_14_6">44,622</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_JP_YSDQydabYEqMEJzZeiUKBg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_cQnUgzeXp0Sb9--31tDeAw_15_2">31,266</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_JP_NFSvTIHfdUKxTEQnrrJjNA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_WsXznABHVUiyR83UfnAcWQ_15_4">5,325</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_JP_sO2imR9DuU2CdSHZxG7lOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_dqnPPWEvGE6FamylouAKNw_15_6">13,229</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_uu1We7nTlEWup-RQoPbnHw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_F3zSUGPqQUulyULXdO4aKQ_16_2">8,008</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_fBc-TynnSkmfwM8MkJwtQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_plF_gHJnP0qYrG10NvSljA_16_4">2,397</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_Tpvl9ys9pEiBod_oOxh7bw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_WdiXDaTG60a0t_wRQDNerQ_16_6">7,057</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_pE3g231ab0aojfKf1ZHkwQ_17_2">38,261</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_0wuL-qpS0kWvPttcZuT4_Q_17_4">18,375</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_6yQLOW_XTkCYHn_O1X6-Xg_17_6">56,685</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Deferred tax</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CA_8lrpAC0yQ0qnB8EtGcL3RQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_wJfp-FIKuEuV_uWSJUhcEQ_19_2">6,464</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CA_lkq9bzFnokGNNmNq000F_A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_ciqUnROzBUqLalb8zsk8LA_19_4">12,117</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CA_U73UV985r06bSeqJDxjsSA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_iANT6FoHO0iPIDGyHB4xCA_19_6">6,558</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">United States</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_US_-EVDgMOdCU-0mdktAlGL9A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_f26HZjZi00WvjiEbg_oQCA_20_2">67,426</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_US_Cg9N18tgPkGGqXSIouQ2Hg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_96LWna51B0O6747nF6DiUg_20_4">32,696</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_US_8h2LHSK_bUK7g5XVIxosNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_npza97JBz0ej_qIX0Dke5g_20_6">2,412</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">PRC including Hong Kong and Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CN_e1vAKk1TBU6eWIsQNy8tVA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_aEoWAU24OEaqGDnlh1yGHA_21_2">23,452</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CN_Y5EsbEFvbU2KImnwbOE3sA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_KjpVCnGb7UOXiGNEjtVZng_21_4">2,653</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CN_Vckiv6w5gEy0eKEJr_uPjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_JuXIcJnk7Ue4VQ23P3WKfg_21_6">5,333</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Japan</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_JP_YSDQydabYEqMEJzZeiUKBg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_Sg7J-egjc021xAQULi2KpA_22_2">4,499</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_JP_NFSvTIHfdUKxTEQnrrJjNA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_r__tUpAItUmQDYb-G4Ws-Q_22_4">3,381</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_JP_sO2imR9DuU2CdSHZxG7lOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_pXIpYQrGr0WUGA-ait3Q2g_22_6">2,953</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_uu1We7nTlEWup-RQoPbnHw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_nV1-k7hQcEiDdZt5KlU2rA_23_2">703</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_fBc-TynnSkmfwM8MkJwtQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_tCJzjaUEjEW9OtynIWqxtA_23_4">491</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_Tpvl9ys9pEiBod_oOxh7bw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_NPdqKy6OwkeGRWt6Yy6g_Q_23_6">2,637</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_HosaBxgg7UqVW0Mv2aVRag_24_2">79,212</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_S94CIcUflUSL_REl_Gc0jg_24_4">43,594</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_2s8ZqHuMA0y4EWSCRbPpUg_24_6">14,619</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CA_8lrpAC0yQ0qnB8EtGcL3RQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_ZyA4mT0XdE25O98o1fHcJA_26_2">6,118</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CA_lkq9bzFnokGNNmNq000F_A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_lDYefv8bvUCt299xgrf7pA_26_4">10,271</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CA_U73UV985r06bSeqJDxjsSA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_axPVn7lLLEG8wvknCtQCMg_26_6">9,978</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_US_-EVDgMOdCU-0mdktAlGL9A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_tdnP4lJxOUWLpw3fshf_ag_27_2">12,944</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_US_Cg9N18tgPkGGqXSIouQ2Hg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_3VMvc0UeYkSU9pqRf_RX3g_27_4">17,910</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_US_8h2LHSK_bUK7g5XVIxosNg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_pJ-UenjTL06-X2fj663y3Q_27_6">7,215</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">PRC including Hong Kong and Taiwan</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CN_e1vAKk1TBU6eWIsQNy8tVA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_WqX8SoYQVUeIz83zUbyrwg_28_2">16,069</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CN_Y5EsbEFvbU2KImnwbOE3sA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_ANUL6mrIC0epu-AcKiTUDw_28_4">29,938</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CN_Vckiv6w5gEy0eKEJr_uPjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_sBmuhFM6hEqAJ-TJz5zT2Q_28_6">39,289</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_JP_YSDQydabYEqMEJzZeiUKBg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_KIA0RTCuCkitv8403zOKcg_29_2">26,767</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_JP_NFSvTIHfdUKxTEQnrrJjNA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_vCrYOGXeTEK3rJFY_j7xgA_29_4">1,944</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_JP_sO2imR9DuU2CdSHZxG7lOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_GGhfnpzraUOBAM0oHS4nxg_29_6">10,276</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_uu1We7nTlEWup-RQoPbnHw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_nJkZln9vfUeSWxY70RFNcg_30_2">8,711</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_fBc-TynnSkmfwM8MkJwtQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_JeBhRY8Xz0CzDLQ1hE-GYA_30_4">1,906</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_Tpvl9ys9pEiBod_oOxh7bw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_6RZEDQq7nU6t0iauwLqCRg_30_6">9,694</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_Zn1jYngVFEmW61CP7ftvaw_31_2">40,951</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_259OATnEE0a8sNGlh3svCA_31_4">61,969</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_xHshAKEE9kiemqxOTTYIzw_31_6">42,066</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company mainly operates in Canada, PRC, Japan, Germany, the United&#160;States, Hong&#160;Kong, Thailand and Vietnam.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Canada</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The Company was incorporated in Ontario, Canada and is subject to both federal and Ontario provincial corporate income taxes at a rate of <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_FuqNMzntKkC3oW2vZfXXEQ" decimals="3" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Narr_bjjT09utI0WVvxcigSjyjg"><ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_oMfXEVnV40enxqssJftNdg" decimals="3" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Narr_HGfVmoBAg0aVEkzKPe6l_A"><ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_LRvKjJEMkUKk4ypEQ6GI8g" decimals="3" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Narr_oGWTwSnTVUuykMd4dNB-Yw">26.5</ix:nonFraction></ix:nonFraction></ix:nonFraction>% for the years ended December 31, 2017, 2018 and 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-48</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_The_diRSjUGvm-dKXf5F6w_cont1" continuedAt="Tb_The_diRSjUGvm-dKXf5F6w_cont2"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar Solutions&#160;Inc. was incorporated in Ontario, Canada and is subject to both federal and Ontario provincial corporate income taxes at a rate of <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_c98FVmoqQkyW_kLaSAxMdw" decimals="3" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Narr_7M1PKIxy2EK1qKD8yKiosQ"><ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_tiD3_T5xBUm2DSnaLrAVcQ" decimals="3" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Narr_OCuFgGvNAUeP6ZvqseSzVA"><ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_ZvCdVuOIL0WUgu2MyAEiBA" decimals="3" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Narr_NkZi3jZBH0uzyEx1gt5IWA">25</ix:nonFraction></ix:nonFraction></ix:nonFraction>% for all years ended December 31, 2017, 2018 and 2019. </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">United&#160;States</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Canadian Solar (USA)&#160;Inc. was incorporated in Delaware, USA and is subject to federal and state corporate income taxes at a rate of <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_Bv4q5MiEmkWzYnjY2n1DDw" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_2x_H4Cpx-EaAcLwpnCPolw">38.61</ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_pNY_HOZnIk6S_Cx_AraG-A" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_70l6kMrqZUWOm245n5vliw">24.82</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_bkAVaYM15EmQbIM35GduTg" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_yKtGrw0RlkW09fAkkVdXDQ">22.89</ix:nonFraction>% for the years ended December 31, 2017, 2018 and 2019, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Recurrent Energy Group Inc. was incorporated in Delaware, USA and is subject to federal and state corporate income taxes at a rate of <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_zP9wRc_tCEWZ-xX99ys6pQ" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_UXOPoCtgl0uemkgzJJFSFw">38.32</ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_3OIr_K05xEuzbasWpuYRgQ" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_HB73WDF5Y0mxwAASGqFfKw">25.32</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_NPh8C7LJHECeEmAuTzFAiw" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_qis3OByHsEq2pSntfYzG6w">27.89</ix:nonFraction>% for the years ended December 31, 2017, 2018 and 2019, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Japan</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar Japan K.K. was incorporated in Japan and is subject to Japanese corporate income taxes at a normal statutory rate of approximately <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_dlAOFm7h4E235UcaiMqK9Q" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_r2KB5q9e9kKmL9ScYuOs9Q">32.02</ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_FlG6nKVTo0KAB9DKt_5AEw" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_-WFNZgYJCE-A7Verzo-upw">32.02</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_DOY-AYh8JUi8k0idPnt4NQ" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_0HM0mv2E8Ui0ZfP-t5Wqpw">31.78</ix:nonFraction>% for the years ended December 31, 2017, 2018 and 2019, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Germany</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar EMEA&#160;GmbH was incorporated in Munich, Germany and is subject to German corporate income tax at a rate of approximately <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_yQTe_lwLrkin8aDcC1uNwQ" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_ABVgJi9gLUGXnU9BFfrAIw"><ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_FzwS043JFkCFXZkQylZQzw" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_LeNk-luT9EWU_UC_o1F7HQ"><ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_JLou2P7_vEqXT73wTfXT1A" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_iOO7yaoWhU6LWl7lU8y5Fg">33</ix:nonFraction></ix:nonFraction></ix:nonFraction>% for the years ended December 31, 2017, 2018 and 2019, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Vietnam</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar Manufacturing Vietnam Co., Ltd was incorporated in Vietnam on June 25, 2015 and is subject to Vietnamese corporate income taxes at a normal statutory rate of <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingVietnamCo.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_VN_ocDHkN3-qEOTyq04go9m_g" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_px9B6jIh7EizjO76mEuuEA">10</ix:nonFraction>%. The Company enjoyed full tax exemption from 2016 to 2019 and will use a reduced statutory rate of <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingVietnamCo.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_VN_amsmSJQ6Wku4fhLRaqNHVA" decimals="2" format="ixt:numdotdecimal" name="csiq:ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions" scale="-2" id="Narr_-VM_iIKyjkmFxh5jPsdOmQ">5</ix:nonFraction>% from 2020 to 2028.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Thailand</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar Manufacturing (Thailand) Co.,Ltd. was incorporated in Thailand in November 20, 2015 and is subject to Thailand corporate income taxes at a normal statutory rate of <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_lbiTOXxyOkGyeO_8SAZsGg" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_-Xhjn9vOHk23JrrihA9Nlw">20</ix:nonFraction>%. The Company currently has <ix:nonFraction unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_2WH8T4jvyU-OxlqYQ4oGYg" decimals="INF" format="ixt-sec:numwordsen" name="csiq:NumberOfBoardOfInvestmentCertificatesTaxExemption" scale="0" id="Narr_5woT6-3tnEmYAUe6jeKuYA">two</ix:nonFraction> Board of Investment certificates for full tax exemption which have different effective years. The licenses both started from year 2017, one of which will expire in year 2022 and the other in year 2025.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Hong Kong</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar International&#160;Ltd. was incorporated in Hong Kong, China, and is subject to Hong Kong profits tax at a rate of <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_FKfCSsb6TE6bU85fsoxSWA" decimals="3" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_OI_-ffsf3Eqp8_T3oMHKHw"><ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_IBo9NIvbLUyT4Rv6iXMRMQ" decimals="3" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_mCgI4nSpW0CtfVrBJxHn9g"><ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_33JisG54LE2A47Bw5bTPyg" decimals="3" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_wVlPg_B2X0yNgi9vddDCrg">16.5</ix:nonFraction></ix:nonFraction></ix:nonFraction>% for the years ended December 31, 2017, 2018 and 2019, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-49</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Narr_rSZ8RkFqM0q1lMQx7EyQ9Q"></a><a id="Narr_I6YVcYCUzkekzLg98Xe5YQ"></a><a id="Narr_uyrQayMWUEqjiYz3_De1LA"></a><a id="Narr_6ljLNNdVYUWQmjZAGV4b1A"></a><a id="Narr_OJhd7JzYeEGIgO_kTIXnzQ"></a><a id="Narr_vhKpdAFgnU-vJniaw0uhDw"></a><a id="Narr_T_Kct-M6XkeJcPCjfiXgsw"></a><a id="Narr_B-7uXXzO0UCHYAp3W7KbwQ"></a><a id="Narr_0RmG8AMqv0GzfC2WOChcGw"></a><a id="Narr_qUsCRm14GkOv66-yFYl8VA"></a><a id="Narr_OyNRv8CVT06Zhsr8zr0suw"></a><a id="Narr_FEzjB07meUWw6J9R4s299w"></a><a id="Narr_yivIMj3CsEuLkSZRb0JyQw"></a><a id="Narr_q8HVR1zojEu-vD5nLjm2Pg"></a><a id="Narr_rbmoIPwg_0Ga_5tzgW7dww"></a><a id="Narr_djLxFkNWTUivXoPNYJCdVg"></a><a id="Narr_EuYCYZLuEU64MqjddQ3ORA"></a><a id="Tc_q2lWZeurvU6Esby6W2jIHg_1_2"></a><a id="Tc_hprIgsAGKkaLWruaQMR7sA_2_2"></a><a id="Tc_fWndAxf-FUaUdopehQeCbg_2_4"></a><a id="Tc_tbiIybVtwEyjwSHN-R3Ycw_2_6"></a><a id="Tc_4v8pvMnGBES0E5Q2GDx8EA_3_0"></a><a id="Tc_B7nmOe8Ne0ORRVSz5MhYXQ_3_3"></a><a id="Tc_mpsk8TbKOEmByMNJHxBhTw_3_5"></a><a id="Tc_gLnTV39S1USFZDEij5y48g_3_7"></a><a id="Tc_GHD8Ovm-p02QzWr21Z211Q_4_0"></a><a id="Tc_1Ry9J-qZyEy6jdz0ytaf2Q_4_3"></a><a id="Tc_0iUVetE9A0eB-Vk1voUUeA_4_5"></a><a id="Tc_96gfPQdWR0WsfNLSCTHvyQ_4_7"></a><a id="Tc_9JywFpVGzUeR5IQsNllHzg_5_0"></a><a id="Tc_AcaIoyhv4kGUKXr4-NVlWQ_5_3"></a><a id="Tc_SRpqqo12S0O-VPddToWiww_5_4"></a><a id="Tc_N1kGBk0urUqsTG5pUzpsEA_5_5"></a><a id="Tc_gCRj8Wi4zE-3Cs703aqoVQ_5_7"></a><a id="Tc_60tBIBXVDkaACopi_p4YNA_6_0"></a><a id="Tc_2bYVCz1WTUaELs8bfbxpiw_6_3"></a><a id="Tc_GL2VOf29qk62XdbI-cDgUA_6_5"></a><a id="Tc_bWbUzA3lLkie3TnbdVhgyw_6_7"></a><a id="Tc_g_6NduokJ0KWN0A-J6ZkRw_7_0"></a><a id="Tc_93WZr7YTNEC-g1OXxwRZPg_7_2"></a><a id="Tc_JFrT9dwF6UG-TxlmFA1geA_7_3"></a><a id="Tc_u4rzCfJfgk6xNSILNKe8PQ_7_5"></a><a id="Tc_HqJpLU864UChDmPnFgbU2Q_7_7"></a><a id="Tc_XDkNiFEd-0eQebu9BLincA_8_0"></a><a id="Tc_T2Z19kAWeUu-7VltfzXF_A_8_3"></a><a id="Tc_INew-imhQ0qT0CUFsVgr7A_8_5"></a><a id="Tc_dLYO3Osti0OJH6s5RpkDAA_8_7"></a><a id="Tc_-gdxKkGANUW3slUiMYPpjw_9_0"></a><a id="Tc_pdxtQEAl0Eir4arDqk0VWw_9_3"></a><a id="Tc_cW40TjLKRkmjNF-j2nd8Ag_9_5"></a><a id="Tc_ATBWB8T7O0S_r8-G4AQIBQ_9_7"></a><a id="Tc_ZP931DaLqUqTPf7suJYqgg_10_0"></a><a id="Tc_0OXagup3vEeuma_H8pMktQ_10_3"></a><a id="Tc_0_A9Zq3Qi02zYpAho8eWXg_10_5"></a><a id="Tc_ulpx8nvN6E-bAt2LmFCk9Q_10_7"></a><a id="Tc_AwU5mKrJakqAt-aZ4_G8fQ_11_3"></a><a id="Tc_MoneG9HuZEaOzr9-XcVtMg_11_5"></a><a id="Tc_L7lk5hw6aUOSRJ1VXFlgGg_11_7"></a><a id="Tc_rQoZobaKp0ugqnM66VkIhA_1_2"></a><a id="Tc_xyDk-KKLzUC_CsB28f56Pg_2_2"></a><a id="Tc_3iAsr-R0fkiN0_F-ICm5bw_2_4"></a><a id="Tc_QW8u46gQzkOV3QIibmg4tw_2_6"></a><a id="Tc_QfyqT77i-k2riANScbekfA_3_2"></a><a id="Tc_7I3W3dA2CUWghdjXGciHnQ_4_2"></a><a id="Tc_uAhUK5jrSkuyk2gQR-U54g_5_2"></a><a id="Tc_CjNRshHzdU2CyFbIlvJeFQ_6_0"></a><a id="Tc_MZ7sEOmhRkWjFLqXWA3Htw_7_0"></a><a id="Tc_CTBMWhx3hEKDzaUfKZ4MiA_8_0"></a><ix:continuation id="Tb_The_diRSjUGvm-dKXf5F6w_cont2" continuedAt="Tb_The_diRSjUGvm-dKXf5F6w_cont3"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">PRC</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The other major operating subsidiaries, including CSI Solartronics (Changshu)&#160;Co.,&#160;Ltd., CSI Solar Technologies&#160;Inc., CSI Cells&#160;Co.,&#160;Ltd., Canadian Solar Manufacturing (Luoyang)&#160;Inc., CSI Solar Power Group Co., Ltd. (formerly &#8220;CSI Solar Power (China)&#160;Inc.&#8221;) and Canadian Solar Manufacturing (Changshu)&#160;Inc., and Suzhou Sanysolar Materials Technology Co., Ltd. were governed by the PRC Enterprise Income Tax Law (&#8220;EIT&#160;Law&#8221;).</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">CSI Solartronics (Changshu) Co., Ltd., CSI Solar Technologies Inc., Canadian Solar Manufacturing (Luoyang) Inc., CSI Solar Power Group Co., Ltd. (formerly &#8220;CSI Solar Power (China) Inc.&#8221;) are all subject to the enterprise income tax rate of 25% for the years ended December 31, 2017, 2018 and 2019. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Certain of the Company&#39;s PRC subsidiaries, such as CSI New Energy Holding and CSI Luoyang Manufacturing, were once HNTEs and enjoyed preferential enterprise income tax rates. These benefits have, however, expired. In 2019, Suzhou Sanysolar, CSI Cells, CSI Changshu Manufacturing, Changshu Tegu, Suzhou Gaochuangte New Energy Development, Canadian Solar Sunenergy (Suzhou) and Changshu Tlian enjoyed preferential enterprise income tax rates.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Reconciliation between the provision for income tax computed by applying Canadian federal and provincial statutory tax rates to income before income taxes and the actual provision and benefit for income taxes is as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" id="Tb_uxzT1pJR3EWXMflEmWH5Lg" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:28.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Combined federal and provincial income tax rate</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Tc_h3sVYZiePE2A_vGGhiVYQg_3_2">27</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Tc_uV9VBCojr0-ExF9h-kjdEg_3_4">27</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Tc_qVEEx958Z0SivwRcaSpr5Q_3_6">27</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of permanent difference</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" sign="-" scale="-2" id="Tc_LapoLrS6bUKkVcb3actwXA_4_2">18</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" sign="-" scale="-2" id="Tc_8JprP2hKrEyWzDKCQ8MfYg_4_4">11</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" sign="-" scale="-2" id="Tc_SlzW3wuYhEOUKo28g9M7Ug_4_6">1</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of different tax rate on earnings in other jurisdictions</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" sign="-" scale="-2" id="Tc_P6K0wi-lU0qwupMMsDWGIQ_5_2">7</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" scale="-2" id="Tc_FqXWPwT5nE6g3dFBHRDSvw_5_6">3</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of tax holiday</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays" scale="-2" id="Tc_P-2SF2X9Bk6MInopSKKk0g_6_2">2</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays" scale="-2" id="Tc_kPucS1Em_Uit43-IO-rBOA_6_4">1</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays" scale="-2" id="Tc_t-5PpHlDTES-XUA17qwNmw_6_6">4</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Unrecognized tax provision</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies" scale="-2" id="Tc_E0lYknjz0UmhX-Aa7hU6PA_7_4">4</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies" sign="-" scale="-2" id="Tc_MsL04lY-k0mZUajJBKrt6w_7_6">3</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Change in valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" sign="-" scale="-2" id="Tc_hsxzv2QNO0Cl1c20goSuug_8_2">6</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="-2" id="Tc_4dvZXEFO30S7yjTnU9sV_g_8_4">7</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" sign="-" scale="-2" id="Tc_Il8XfFt3VEa-qRKEyP0L6w_8_6">3</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of change in tax rate</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" scale="-2" id="Tc_P0jEO-3Tr0qqQZ7THKZGTQ_9_2">39</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" sign="-" scale="-2" id="Tc_WZ_jAuQ_SUmV50y8rccVDQ_9_4">3</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" sign="-" scale="-2" id="Tc_L88OSadD50-y2wuxHenBDg_9_6">1</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" sign="-" scale="-2" id="Tc_FTe5zBkRLkuHteRHo-RhmQ_10_2">5</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" sign="-" scale="-2" id="Tc_vxmMRn7rdEilJ-Ycn8EB5g_10_4">3</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" scale="-2" id="Tc_AiLl2K2O-UW-NLZ1wQcPWQ_10_6">2</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="Tc_RK8ZCTHaH0-q6lUvrdxtww_11_2">28</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="Tc_Np1Cp6Eh9k2lMGDbU0xr4w_11_4">20</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="Tc_PMomrcY2zkuHPDAS9NAuLQ_11_6">20</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The aggregate amount and per share effect of tax holiday are as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:SummaryOfIncomeTaxHolidayTextBlock" id="Tb_UP6xaQ1Z6EWtXSDCkq-beg" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">U.S.&#160;Dollars,&#160;except</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">per&#160;share&#160;data)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">The aggregate amount</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxHolidayAggregateDollarAmount" scale="3" id="Tc_v2jponcbB0GCQfLQEmIhEA_6_2">2,850</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxHolidayAggregateDollarAmount" scale="3" id="Tc_1PSrZU0yjEGkItuPsbMiaw_6_4">3,089</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxHolidayAggregateDollarAmount" scale="3" id="Tc__d63IyufqEmXFYdsienzjQ_6_6">7,956</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Per share &#8212; basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" scale="0" id="Tc_zvZq47euz0iU9UkVDhwkVQ_7_2">0.05</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" scale="0" id="Tc_6Hsv0PorakqIfZHNbxl_Jw_7_4">0.05</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" scale="0" id="Tc_ckKnrLQ6v0Oq7vmxt-ZALw_7_6">0.13</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Per share &#8212; diluted</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" scale="0" id="Tc_Rg3OufnjNkyuHaGAp08uuQ_8_2">0.05</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" scale="0" id="Tc_JCkZ-aV2MESWLKLufeGmuQ_8_4">0.05</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" scale="0" id="Tc_XhXLACbg6kOXaV-TO5Crww_8_6">0.13</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-50</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_b5E_tvir10SkwnHmboT4yg_1_2"></a><a id="Tc_wfbmRHPdkEmqmRH7FWZh4w_1_4"></a><a id="Tc_1JdCV9G8002Ja4mPIvLSIQ_2_2"></a><a id="Tc_GU3vhlMFlkOoeXzXBXrk9Q_2_4"></a><a id="Tc_icwD_Fx9YU6_IGuGT0y5_Q_3_2"></a><a id="Tc_nYIq0fuEX0iwO2wUQ7FPQg_3_4"></a><a id="Tc_R9_ax64AyEy6pMfK5LP2mw_4_0"></a><a id="Tc_PCDFTkmJPkSvSp0PggPL3A_5_0"></a><a id="Tc_oQJgjUZFVUWmht9o3svQ7Q_6_0"></a><a id="Tc_ZZhPBG8CIEuf1v3ysEZhhw_7_0"></a><a id="Tc_ITAKWdI_VkCY_1fhqWMO5A_8_0"></a><a id="Tc_-MbJ08b-HkabnK5LWcm2RQ_9_0"></a><a id="Tc_vureBBG0EEKl6jKEKuYX2A_10_0"></a><a id="Tc_8AbCa0_wXkmKKR465kJ3ng_11_0"></a><a id="Tc_fH6SaZT3TESiys_fD53rMQ_12_0"></a><a id="Tc_bbHNLzogx06D4tsEKoc4tA_13_0"></a><a id="Tc_VFS-thFCLkyljmxCvzWQ0A_14_0"></a><a id="Tc_9MasEHWP-UKns1hbX4ZeiQ_15_0"></a><a id="Tc_RzWnMrMh10m76TPIsnd4WQ_16_0"></a><a id="Tc_FV3h2Rs9dEmV-a5HvHlIRQ_17_0"></a><a id="Tc_W82Elmr4Uk6MmRaNmIMqyQ_18_0"></a><a id="Tc_B9wSx-sdVEu0GspjualqoQ_20_0"></a><a id="Tc_svgrbyO23EOVeyUYzBAPAg_21_0"></a><a id="Tc_iAEny49Kr0K4AfI5uSoxaQ_22_0"></a><a id="Tc_POCbU3zMw0-SH6hH9b0OpQ_23_0"></a><a id="Tc_At0FTXEfCk2Ypy64r64F2w_23_4"></a><a id="Tc_G99e8S5MJ0SsPGKBpCGFgA_24_0"></a><a id="Tc_7it4ESPRf0eIHE9j3Ubt7Q_25_0"></a><a id="Tc_OExm3xUMbkWZGVA1P7Pxkw_26_0"></a><a id="Tc_-I-OARfmb02Ow2d-XvajDA_27_0"></a><a id="Tc_9017LTPKVkaFCDcvAeUoRw_28_0"></a><a id="Tc_hDYom8rrvUySVX1H3yiYMg_29_0"></a><a id="Tc_ffgEnO_9OkqG-4Whm8J8Yw_30_0"></a><a id="Tc_s-G9FAXS30WjwKxv-j_xEw_31_0"></a><a id="Tc_QS3LE-zDBUus_Dws3CndSQ_32_0"></a><ix:continuation id="Tb_The_diRSjUGvm-dKXf5F6w_cont3" continuedAt="Tb_The_diRSjUGvm-dKXf5F6w_cont4"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Deferred tax assets and liabilities</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 11pt 0pt;">The components of the deferred tax assets and liabilities are presented as&#160;follows:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" id="Tb_OH8IVBPdA0K18ncg_Cg8dg" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:2pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Deferred tax assets:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accrued warranty costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" scale="3" id="Tc_6c0Y45PEmUu6dyFM161VIA_5_2">9,424</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" scale="3" id="Tc_LE1lfwrKDEuE6ee4EKWyxA_5_4">8,326</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Bad debt allowance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" scale="3" id="Tc_ST3oZpEIaE64Q3sNF9DtmQ_6_2">7,019</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" scale="3" id="Tc_aXjSzxcrNEq3Iit_0TWGWQ_6_4">10,324</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Inventory write-down</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsInventory" scale="3" id="Tc_UP4t8uktJ067-nU_0sDmag_7_2">1,723</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsInventory" scale="3" id="Tc_VM3leorfxES7x0Psjkriqg_7_4">1,128</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Future deductible expenses</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxAssetsFutureDeductibleExpenses" scale="3" id="Tc_oamIdfEhREe8GBQKG2NGQw_8_2">26,973</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxAssetsFutureDeductibleExpenses" scale="3" id="Tc_PJMJRP38rk2It93OEeq13w_8_4">20,731</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Depreciation and impairment difference of property, plant and equipment and solar power systems</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment" scale="3" id="Tc_elWcUi4uW0K0rTj0LfCSIA_9_2">19,647</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment" scale="3" id="Tc_Xuw9Fl5zQ0-M7-JunhS0kQ_9_4">23,380</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accrued liabilities related to antidumping, countervailing and other duty costs and true-up charges</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" scale="3" id="Tc_7QD7DOHmZ06hE7VlfY8RGw_10_2">9,341</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" scale="3" id="Tc_dC83BstmpU6So0Kmhq-MIg_10_4">496</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Deferred tax assets relating to sales of solar power systems</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets" scale="3" id="Tc_KFni2Qsi-km49EgF-rc8nA_11_2">481</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets" scale="3" id="Tc__ODvN_T4D0aJvQEQhkyiHw_11_4">8,927</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net operating losses carry-forward</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" scale="3" id="Tc_1ehf4mALaUOkVZ_eNnpH7g_12_2">90,536</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" scale="3" id="Tc_dgzfdUDl-kq8-Bzu-YIzaA_12_4">112,710</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Unrealized foreign exchange loss and capital loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses" scale="3" id="Tc_VG2_62oK_kiuSFwdm0GMxQ_13_2">9,471</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses" scale="3" id="Tc_8e4Yu_bKR0aust6_5T4C9Q_13_4">7,064</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest limitation</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxAssetsInterestLimitation" scale="3" id="Tc_gKPglJ4YtUShJMqdltdFnA_14_2">13,520</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxAssetsInterestLimitation" scale="3" id="Tc_YOKKXSJDrk6yczSSnMIfUA_14_4">2,767</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOther" scale="3" id="Tc_Y0u1-3WCu0yyDUGiJYVsZg_15_2">13,947</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOther" scale="3" id="Tc_zinVN3BJcUSCRNgoo-ml4A_15_4">26,415</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total deferred tax assets, gross</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsGross" scale="3" id="Tc_tzu9VTW3BECpRln-MIStJQ_16_2">202,082</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsGross" scale="3" id="Tc_UjSOTP7j60WGXw6z7ENkhQ_16_4">222,268</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_pWg5DtynFU-WrEorOcLBbg_17_2">76,522</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_bx2eJ2pVOUO_Y89ze4LmAw_17_4">70,627</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total deferred tax assets, net of valuation allowance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsNet" scale="3" id="Tc_thSU3ZkS6kKcqmpnckKgYg_18_2">125,560</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsNet" scale="3" id="Tc_I4hN3JmacUqnF2ckASqJ1w_18_4">151,641</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Deferred tax liabilities:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Derivative assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesDerivatives" scale="3" id="Tc_afwHjLU1QkGqAavSYor_vA_21_2">2,697</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesDerivatives" scale="3" id="Tc_15FMQpxgoEqTtOG_e_S4FQ_21_4">217</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Depreciation difference of property, plant and equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" scale="3" id="Tc_YxIxNrc27EmWO-pktAW8BA_22_2">1,212</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" scale="3" id="Tc_jFk_930X-kCRfo--lUvl3w_22_4">18,789</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Deferred profit of projects</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxLiabilitiesDeferredProfitOfProjects" scale="3" id="Tc_2hYJfz_PF0OpXpU8bNZxMQ_23_2">4,108</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Insurance recoverable</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxLiabilitiesInsuranceRecoverable" scale="3" id="Tc_nuhXymBKOUeqoCnypdrtXA_24_2">14,838</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxLiabilitiesInsuranceRecoverable" scale="3" id="Tc_qy0NJsO99EanS_1ZlOl-Dw_24_4">15,771</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Unrealized foreign exchange gain</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" scale="3" id="Tc_bfGPY5PbdEe3wU-fECSpyQ_25_2">4,803</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" scale="3" id="Tc__Ut4_RGdtE6jqRFfhUr2yw_25_4">10,984</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Others</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesOther" scale="3" id="Tc_xBSpTdclDUeWjkc5yHKyjw_26_2">12,513</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesOther" scale="3" id="Tc_7Mc8lJIkU02wGQmErY04ng_26_4">8,380</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="3" id="Tc_9aGtrXW6L0Wvz-QwiAcmOw_27_2">40,171</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="3" id="Tc_L2LK5bkKcU-TlCTZKBuxBQ_27_4">54,141</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net deferred tax assets </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" id="Tc_uo4Xxk0mvUy0ilSPLUwqLw_28_2">85,389</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" id="Tc_HciXWX2GQEqZrtd81UMNjg_28_4">97,500</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Analysis as:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Deferred tax assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_rR6uLhJw-E6Fg3ezicnQBg_30_2">121,087</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_0BUs8lUau0GA4x_e0yfbkw_30_4">153,963</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_glFppDPVN0-DC7w9Sj3V0Q_31_2">35,698</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_u5iTx7g-6kO4-tx_VQOyNg_31_4">56,463</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net deferred tax assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" id="Tc_ED3ati5vWE-y0RNhsVOpjQ_32_2">85,389</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" id="Tc_MIV-P7fa4UqmuLyrGNCzKg_32_4">97,500</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:2pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-51</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_cXYvQNgzhkqXH8vgSOwNfw_1_2"></a><a id="Tc_ZzuBxAhF2EyVdaZKRvBqEg_2_2"></a><a id="Tc_HrGdv2GYbEaVOTGx3ey-MQ_2_4"></a><a id="Tc_3bpCujh6AkyTaljT0fxX9g_2_6"></a><a id="Tc_yk4bAvoKX0iMwJLzAKZxEg_3_2"></a><a id="Tc_mzs-QWnwc0mNPiguzebdPg_3_4"></a><a id="Tc_t-YOjUJ3O0-UvmwTFkQsxA_3_6"></a><a id="Tc_5y3eEKF2ekGtAy1inBRCPg_4_0"></a><a id="Tc_fEqqCBvCokOu2vncDyXKNA_5_0"></a><a id="Tc_7NfvQpSN30yrJ8uv8KQKpA_6_0"></a><a id="Tc_h9hpPgRHeE-vMbDpf8-8wA_7_0"></a><ix:continuation id="Tb_The_diRSjUGvm-dKXf5F6w_cont4" continuedAt="Tb_The_diRSjUGvm-dKXf5F6w_cont5"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In accordance with the EIT Law, dividends, which arise from profits of foreign invested enterprises in PRC earned after January 1, 2008, are subject to a <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="2" format="ixt:numdotdecimal" name="csiq:WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" scale="-2" id="Narr_64pKddD3rEOOS-fQy9pC1Q">10</ix:nonFraction>% withholding income tax. Under applicable accounting principles, a deferred tax liability should be recorded for taxable temporary difference attributable to excess of financial reporting basis over tax basis in the investment in a foreign subsidiary. However, a deferred tax liability is not recognized if the basis difference is not expected to reverse in the foreseeable future and is expected to be permanent in duration. As of December 31, 2019, all of the undistributed earnings of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:UndistributedEarningsOfForeignSubsidiaries" scale="6" id="Narr_9LA6QV45P0qSZi-9kpuqCg">625.9</ix:nonFraction> million attributable to the Company&#8217;s PRC subsidiaries and affiliates are considered to be permanently reinvested, and <span style="-sec-ix-hidden:Hidden__5mLaVFunU6MP9XF7ElhkQ"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;white-space:pre-wrap;">no</span></span><span style="white-space:pre-wrap;"> provision for PRC withholding income tax on dividend has been made thereon accordingly. Upon distribution of those earnings generated after January 1, 2008, in the form of dividends or otherwise, the Company would be subject to the then applicable PRC tax laws and regulations. Distributions of earnings generated before January 1, 2008 are exempt from PRC dividend withholding tax. The amounts of unrecognized deferred tax liabilities for these earnings are in the range of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_RangeAxis_srt_MinimumMember_6XxkbxM6IUeXCF1ofWfl1Q" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" scale="6" id="Narr_TLsdxK0w6EuNDzgbMM18bA">31.3</ix:nonFraction> million to $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_RangeAxis_srt_MaximumMember_8UTduJvzpU2u0QlPhXukTw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" scale="6" id="Narr_GuZ_Ztr_OE-pZpE2ddJXRQ">62.6</ix:nonFraction> million, as the withholding tax rate of the profit distribution will be <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_qhGj9EM1EUy10PH3sclx3g" decimals="2" format="ixt:numdotdecimal" name="csiq:WithholdingTaxRate" scale="-2" id="Narr_I031VJVPMUiPx8vP1H2F0w">5</ix:nonFraction>% or <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_DZYOKKqhF0210mfrrrZweA" decimals="2" format="ixt:numdotdecimal" name="csiq:WithholdingTaxRate" scale="-2" id="Narr_Tf83I9TamkGV7wos_qIVXQ">10</ix:nonFraction>% depends on whether the immediate offshore companies can enjoy the preferential withholding tax rate of <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="2" format="ixt:numdotdecimal" name="csiq:PreferentialWithholdingTaxRate" scale="-2" id="Narr_FLaSybZQb0OyXoAvE8CnBA">5</ix:nonFraction>%.</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Valuation allowance</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Movement of the valuation allowance is as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:SummaryOfValuationAllowanceTextBlock" id="Tb_urfxYXv7LUePHivWAXov9w" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Beginning balance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2016_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_nQsty6uxZkSCvaBLSSYCpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_yB4f_Bg2hEqBjL2_yFHMQQ_4_2">71,469</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_dty3TSynPEScGsN4OdsgMw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_Iujz_77ymUeN33np9qzY_A_4_4">65,399</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_01t4VpbMPEyF5f4KgeCrmw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_Ubx5yuFm2kmAB9FwwOTccg_4_6">76,522</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Additions (Reversals)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_AD0kvI38HEen87RDQpr8SQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" sign="-" scale="3" id="Tc_b2Iq0j7I5Uqig01smpbvCQ_5_2">5,361</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_R-5vW0zNl026TEdo-dZ23w" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" scale="3" id="Tc_uKm5izenWkm5S4Wmz_AskA_5_4">11,051</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_GhtInNTJ7Um_BcXw7gTx3A" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" sign="-" scale="3" id="Tc_lf7WH7HXyUSp-1kZ2sDBKw_5_6">6,156</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_AD0kvI38HEen87RDQpr8SQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" sign="-" scale="3" id="Tc_SrLNWuY8mkiFvLgUhg5bGg_6_2">709</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_R-5vW0zNl026TEdo-dZ23w" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" scale="3" id="Tc_ed3SvNDNuUGtkPruVgFn-Q_6_4">72</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_GhtInNTJ7Um_BcXw7gTx3A" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" scale="3" id="Tc_lk-0Vk_IsEG2hX_AtXrrYQ_6_6">261</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Ending balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_dty3TSynPEScGsN4OdsgMw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_uyIKpCBW-EW8fKl8zj-iDg_7_2">65,399</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_01t4VpbMPEyF5f4KgeCrmw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_cyS96u1nBkqr-7ddp77pxQ_7_4">76,522</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_Pqhcg3bXH0C9v6U84hAHiQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_hH1fyTsRxE6pfD-MRqsZKw_7_6">70,627</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2019, the Company has accumulated net operating losses of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLossCarryforwards" scale="3" id="Narr_p70lkUadf0ypeXzu14tUfw">670,541</ix:nonFraction> of which $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:OperatingLossCarryforwardsSubjectToExpiration" scale="3" id="Narr_omzoUhjvLU22iU1TsVkBbw">186,360</ix:nonFraction> will expire between 2020 and 2039, and the remaining can be carried forward and back.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company considers positive and negative evidences to determine whether some portion or all of the deferred tax assets will not be realized. This assessment considers, among other matters, the nature, frequency and severity of recent losses, forecasts of future profitability, the duration of statutory carry-forward periods, the Company&#8217;s experience with tax attributes expiring unused and tax planning alternatives. The Company has considered the following possible sources of taxable income when assessing the realization of deferred tax&#160;assets:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Tax planning strategies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Future reversals of existing taxable temporary differences;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Further taxable income exclusive of reversing temporary differences and carry-forwards;</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-52</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_4y7kGh4bbE6IbKoC8zoPaA_1_2"></a><a id="Tc_FzNKFmaFmUWXNl8do3xqHA_2_2"></a><a id="Tc_pFLhKP1Ev0CNTBO61tf3AQ_2_4"></a><a id="Tc__ysJWhBMykWsD0m11Q-WNA_2_6"></a><a id="Tc_Kd8qEDURo06Gh0g2GTaqyQ_3_2"></a><a id="Tc_QkPryOjRB0CprXL4jPghBw_3_4"></a><a id="Tc_yynSoJJ-4k27oi2MiOhx0w_3_6"></a><a id="Tc_Ac1S9qEPYkueOSZ6-kCN9g_4_0"></a><a id="Tc_2BX5IjQeR0KM7onn0ibSwg_5_0"></a><a id="Tc_ieBMkx3MSkGTJtGEjo3rTg_6_0"></a><a id="Tc_2EnkNipyQU6n1CCFgTEuPw_6_4"></a><a id="Tc_RyEg9yAJ00ORtDxuOFYPmg_7_0"></a><a id="Tc_ewx1s6xEPU-U_RPWIYO5GQ_8_0"></a><ix:continuation id="Tb_The_diRSjUGvm-dKXf5F6w_cont5"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;padding-bottom:12pt;text-indent:18pt;margin:0pt;">The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during the periods in which those temporary differences become deductible for tax purposes. As a result, the Company has recognized a valuation allowance of $76,522 and $70,627 as at December 31, 2018 and 2019, respectively.</p><p style="background-color:#ffffff;font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Uncertain tax positions</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company makes an assessment of the level of authority for each of its uncertain tax positions (including the potential application of interest and penalties) based on their technical merits, and has measured the unrecognized benefits associated with such tax positions. This liability is recorded as liability for uncertain tax positions in the consolidated balance sheets. In accordance with its policies, the Company accrues and classifies interest and penalties associated with such unrecognized tax benefits as a component of its income tax provision. The amount of interest and penalties accrued as of December 31, 2018 and 2019 was $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" scale="3" id="Narr_QRKDfTLRY06VfmQjrJzJRg">4,398</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" scale="3" id="Narr_WkAOrTOp30-RcjpUBUWOhw">4,795</ix:nonFraction>, respectively. The Company does not anticipate any significant changes to its liability for unrecognized tax positions within the next 12&#160;months.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table illustrates the movement and balance of the Company&#8217;s liability for uncertain tax positions (excluding interest and penalties) for the years ended December 31, 2017, 2018 and 2019, respectively.</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" id="Tb_jdlFsw64iEKFv9-TAuqREw" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Beginning balance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2016_1CpwSxbtS0GMUYvki678nw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_8VLOVIp1PUarBCFkNZYbaQ_4_2">5,684</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2017_kjGpnzkm3E6qIMnIr7nQSg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_F8GlHvS76EerRr3ZquLt7g_4_4">6,181</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_Gzv5XbmX2ky1t_HKYEyfXg_4_6">15,730</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Addition for tax positions related to the current year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" scale="3" id="Tc_WpF1dnWthU-q_TZVFnWrbA_5_2">1,376</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" scale="3" id="Tc_rpvmleDsfUy8L4668QfpOA_5_4">9,806</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" scale="3" id="Tc_DOESsy4bCUCCYkRpeU-Iag_5_6">11</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Reductions for tax positions from prior years/Statute of limitations expirations</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" scale="3" id="Tc_uD8qCondoUSiwk_c2ftAWA_6_2">1,094</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" scale="3" id="Tc_onvEaMlfcEChgl5wJ_NLrA_6_6">5,720</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation" scale="3" id="Tc_Rc7U-5ctMECl7BXmluFsLw_7_2">215</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" scale="3" id="Tc_vITB9yKC8kC9O7Koslwi3A_7_4">257</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation" scale="3" id="Tc_lyVssNKUQEeIHR-Uba5Wvw_7_6">536</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Ending balance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2017_kjGpnzkm3E6qIMnIr7nQSg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_hB_X4bx9gUaeUrxFCnp38w_8_2">6,181</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_xXFVaoTe7UGo4x31OCr-pA_8_4">15,730</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_1wXMBUXr3EW5QFtDBdYpRw_8_6">10,557</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company is subject to taxation in various jurisdictions where it operates, mainly including Canada, China and the United States. Generally, the Company&#8217;s taxation years from 2014 to 2019 are open for reassessment to the Canadian tax authorities. The Company is subject to taxation in the United States and various state jurisdictions. The Company is not currently under examination by the federal or state tax authorities. The Company&#39;s income tax returns for 2015 through 2019 remain open to examination by the U.S. tax authorities.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">According to the PRC Tax Administration and Collection Law, the statute of limitations is three years if the underpayment of income taxes has resulted from the computational errors of the taxpayer. The statute of limitations could be extended to five years under special circumstances. For income tax adjustments relating to transfer pricing matters, the statute of limitations is ten years. Therefore, the Company&#8217;s Chinese subsidiaries might be subject to reexamination by the Chinese tax authorities on non-transfer pricing matters for taxation years up to 2014 retrospectively, and on transfer pricing matters for taxation years up to 2009 retrospectively. There is no statute of limitations in case of tax evasion in China.</p></ix:continuation><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-53</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_hrD_SwN3iESUlgt5KZj8vA_1_2"></a><a id="Tc_5Z2VzfdvPku0vbEb_t8N2w_2_2"></a><a id="Tc_ieEKZsCRdEK7Vu8ASC5B6Q_2_5"></a><a id="Tc_NxL4Gi9XJ0Se2W9KU-S8fQ_2_8"></a><a id="Tc_K8cFXsLyvU6ECdD8H2He-w_3_2"></a><a id="Tc_oS4M5ytLGkCUXpdnlCt-Sg_4_2"></a><a id="Tc_fOVcHgOzX0ufK7KqgokkGg_5_0"></a><a id="Tc_vT_nquwCrESlXkOJ3HFJxw_6_0"></a><a id="Tc_k2SWFPAoZUKTJD1G9lpHsA_6_2"></a><a id="Tc_qbx97OPFn0S5ZVuHev6fiw_6_5"></a><a id="Tc_P3XEigbf0U275mJ3qIOatw_6_8"></a><a id="Tc_HqQ_nbcnUEuSup3VFPiauA_7_0"></a><a id="Tc__68c09H9P0q4toRxjVxJgQ_8_0"></a><a id="Tc_YD82IkklkEKW9df8NbtRKg_8_2"></a><a id="Tc_U5IGzZxmsEKg3mpykMRH3Q_8_5"></a><a id="Tc_wrpvKM6tIk2zet9yY9SwLw_8_8"></a><a id="Tc_a8O5_srxQEifZVNg-pU3QQ_9_0"></a><a id="Tc_yLfrQG3izkKptYg7ADS1Xw_10_0"></a><a id="Tc_KYXUD5KUHkC6-lGkCAAXxA_11_0"></a><a id="Tc_cr5RSRxdg0OThjzqmkqRIQ_12_0"></a><a id="Tc_81hy2syGOE-1Ho92ToYsKA_13_0"></a><a id="Tc_HkAXEuyyIE2bYs35q4LEbw_14_0"></a><a id="Tc_zaPmauL70UyvgoaJt4ZC_g_14_2"></a><a id="Tc_9um7212jsk2OeB4GbIqSCQ_14_5"></a><a id="Tc_bLiZS21trkej-IZquKPoXQ_14_8"></a><a id="Tc_S9qQPaPeskC1luCxVaYu_Q_15_0"></a><a id="Tc_TZsuL09-OUWlQOEajD9j-Q_15_2"></a><a id="Tc_Nzi1j_SwKEW5ixolTOPHUQ_15_5"></a><a id="Tc_DjwmgKNEFEyo793p3uOPZw_15_8"></a><a id="Tc_RlD629BJQEGs1IIEgw2vFg_1_2"></a><a id="Tc_RsgA2p7oa0q9jTPmxg6ljQ_2_2"></a><a id="Tc_6iMgBRUdWka0p0WC9p4GYg_2_4"></a><a id="Tc_6a48Fi8EYUm-p-9WNp6IJw_2_6"></a><a id="Tc_4Tpbvxtf6020-M5LF-P7Hw_3_0"></a><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:EarningsPerShareTextBlock" id="Tb_oGamNcy_0kqSGrna5Z_9yA" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">19.&#160;EARNINGS PER SHARE</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table sets forth the computation of basic and diluted earnings per share for the years indicated:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="Tb_gg4vEusDNUacEwIleBPdiw" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:50.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:50.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars,&#160;except&#160;share&#160;and</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:50.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">per&#160;share</b><b style="font-family:'Calibri';font-weight:bold;">&#160;</b><b style="font-weight:bold;">data)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Numerator:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net income attributable to Canadian Solar Inc. &#8212; basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc__8-WY9DIpUGC3LYAHZxZ1Q_6_3">99,572</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_rL2_mymcukmqC1U-02aenw_6_6">237,070</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_w1kRj5DnN06C4JlacN89-g_6_9">171,585</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Dilutive effect of interest expense of convertible notes</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" scale="3" id="Tc_OZWZSgp4vE6wTCNNrpKJUg_7_3">4,649</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" scale="3" id="Tc_IHKZG9CvP0WlLcQAV1PMxQ_7_6">4,683</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" scale="3" id="Tc_nE1IbFdcUE-BGtQdHQk1Lw_7_9">975</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net income attributable to Canadian Solar Inc. &#8212; diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToParentDiluted" scale="3" id="Tc_mNYQBt-Kq0mJC4rFE9wV1Q_8_3">104,221</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToParentDiluted" scale="3" id="Tc_mK1XAQh450av4_REpQl0rA_8_6">241,753</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToParentDiluted" scale="3" id="Tc_z0MNerDPHUucnCzvSN89Xg_8_9">172,560</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Denominator:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Denominator for basic calculation &#8212; weighted average number of common shares &#8212; basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_fa9PqI8XqkyK8Bmyx23CDw_10_3">58,167,004</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_XvtIyLnJgEKwVY607yxKnA_10_6">58,914,540</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_IJ9OfbfdCEGh1pSP13S85g_10_9">59,633,855</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Diluted effects of share number from share options and RSUs</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" id="Tc_ARzQCHh_UkiQUYMyI-L8vQ_11_3">547,821</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" id="Tc_akidnMB71EuQvdAr7VyA-g_11_6">543,797</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" id="Tc_v6c9dhzC70qufHJeGMocOw_11_9">794,526</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Dilutive effects of share number from convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities" scale="0" id="Tc_m-QX_jPF8UyGAOJTfD-iUA_12_3">2,833,333</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities" scale="0" id="Tc_QYJF-tt84k-O7Fbg2shiKA_12_6">2,833,333</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities" scale="0" id="Tc_yeu92wUlfE-DTAVR70lalA_12_9">349,315</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Denominator for diluted calculation &#8212; weighted average number of common shares &#8212; diluted</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_Ar2ldiaTMEiUsh8jcH36XA_13_3">61,548,158</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_qhQkrvyJykW8fApoQAVqYw_13_6">62,291,670</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_8KFUU-TOE0mZZYb7dx1nIg_13_9">60,777,696</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Basic earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_Ery28NVRhEOmxyfvmMFNTg_14_3">1.71</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_LHz4vTYdwkGWOSN9_7VrPg_14_6">4.02</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_Dak06FabMEuy3Kp13odnHw_14_9">2.88</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Diluted earnings per share</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_-BR4NsfQ1USh16f_AdFwww_15_3">1.69</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_EWueT75ybEm6LcLBOBI_IQ_15_6">3.88</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_SVQlDt7QqEupYAJ1bUmeIg_15_9">2.83</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table sets forth anti-dilutive shares excluded from the computation of diluted earnings per share for the years indicated.</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" id="Tb_LqBzoMgM1Eygu3bSrWCFdw" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:63.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:63.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:63.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Share options and RSUs</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_Dm1sRkFcckWN-haCIZvhOg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Tc_GyI7bEF1zEWflbpw6LiO6g_3_2">372,743</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_gnWVC8J_SUiN4JbVseCmFQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Tc_vH0HO-gMSkymadvfSSRVTw_3_4">276,618</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_DRBcGFZYukGT2d2xWSVHNg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Tc_qI78pV8FJE6cWII_BL-Jcw_3_6">41,950</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-54</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:RelatedPartyTransactionsDisclosureTextBlock" id="Tb_NJcdYcZff0y0xPIBhXNARQ" continuedAt="Tb_NJcdYcZff0y0xPIBhXNARQ_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">20.&#160;RELATED PARTY BALANCES AND TRANSACTIONS</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Related party balances</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The amount due from related parties of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueFromRelatedPartiesCurrent" scale="3" id="Narr_PHJq2h-v1UOmS1T1L-ou4g">31,232</ix:nonFraction> as of December 31, 2019 consists of (i) trade receivable of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableRelatedParties" scale="3" id="Narr_HPthWxw2UkGL2pQcLaTq3Q">13,930</ix:nonFraction> for development services provided to Roserock, the Company&#39;s <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_RoserockMember_-2jDVprwr0iK8v6ezxDy4A" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_zn05dD_9z0GBhqFlwDLAZg">49</ix:nonFraction>% owned affiliate, (ii) cash funding of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_PilipinasNewtonEnergyCorpMember_9uZbiYQqokO_KP20g5Uu8g" decimals="-3" format="ixt:numdotdecimal" name="csiq:CashReceivableRelatedPartiesCurrent" scale="3" id="Narr_I_pbTG-8oUORKry_pFvw5A">16</ix:nonFraction> to Pilipinas Newton Energy Corp, the Company&#39;s <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_PilipinasNewtonEnergyCorpMember_9uZbiYQqokO_KP20g5Uu8g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_0hlaJa-rO0idEo9wvFdNww">40</ix:nonFraction>% owned affiliate, (iii) $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_44Ly57_16k-M3XJD-N5g6g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableRelatedPartiesCurrent" scale="3" id="Narr_tpzbdD4grkml-z16bwgCpA">17,284</ix:nonFraction> receivable for solar power products sold to ET Solutions South Africa 1 Pty , the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_44Ly57_16k-M3XJD-N5g6g" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_5OdfYrO3CUuL9weoFRjuqA">49</ix:nonFraction>% owned affiliate. (iv) $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_Lni6b2wqT06gMYUtRCWx2g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableRelatedPartiesCurrentAndNoncurrent" scale="3" id="Narr_xQWcQj5fW0ex1WUxifPnqw">2</ix:nonFraction> receivable for asset management service provided to Canadian Solar Infrastructure Fund, Inc., the Company&#39;s <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_BWweho0NDkOlYHOcv1sAMg" decimals="4" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_wQwNZgHLSkSsNaWH4B08pA">14.66</ix:nonFraction>% owned affiliate. <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_44Ly57_16k-M3XJD-N5g6g" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:DueFromRelatedPartiesCurrent" scale="3" id="Narr_muSOInIM2E-rQfJGU6OBCg">No</ix:nonFraction> amount was due as of December 31, 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The amount due to related parties of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueToRelatedPartiesCurrent" scale="3" id="Narr_cXkNqm6LSkSPcU_oDb-Pug">10,077</ix:nonFraction> as of December 31, 2019 consists of (i) a trade payable of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_E6ssvlT7VkOhCRIaTYAbig" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableRelatedPartiesCurrentAndNoncurrent" scale="3" id="Narr_e6j8xrxeMUS-iGcM8RgGCA">7,884</ix:nonFraction> due to Suzhou iSilver Materials Co., Ltd., the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_E6ssvlT7VkOhCRIaTYAbig" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_JIq4tceyOk23r5ri34mBRw">15</ix:nonFraction>% owned affiliate, for raw materials purchased, (ii) payable for equipment purchase of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_9_30_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_Q4EaU_PYTka40-LTJPjabA" decimals="-3" format="ixt:numdotdecimal" name="csiq:EquipmentPurchasesPayableRelatedPartiesCurrent" scale="3" id="Narr_6WG71r19IkSwl4xwyE4DIA">2,138</ix:nonFraction> to Suzhou Kzone Equipment Technology Co., Ltd, the Company&#39;s <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_9_30_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_Q4EaU_PYTka40-LTJPjabA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_bwitG7jQj0qTmx82TZjejQ">32</ix:nonFraction>% owned affiliate obtained in September 2017, and (iii) payable of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_0P8m4wNqDECg7ffpy3bOHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableRelatedPartiesCurrentAndNoncurrent" scale="3" id="Narr_lW8-xe8-aESwNu9Zago1sQ">55</ix:nonFraction> for material purchased from Luoyang Jiwa New Material Technology Co., Ltd., the Company&#39;s <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_0P8m4wNqDECg7ffpy3bOHQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_aMXjCbOYokGg9-vMOVoiwg">25</ix:nonFraction>% owned affiliate.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Related party transactions</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Guarantees and loans</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Dr.&#160;Shawn Qu, fully guaranteed <ix:nonNumeric contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_l8u3wbph_0ijd7oXI9NDBw" format="ixt-sec:durwordsen" name="csiq:LineOfCreditFacilityMaturityTerm" id="Narr_50kY2hetGkC3seanA539vg"><ix:nonNumeric contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_ywnHsvMKSEqlHMEsWAIgEw" format="ixt-sec:durwordsen" name="csiq:LineOfCreditFacilityMaturityTerm" id="Narr_Rbty8GZ_GUyfytkgdYmTxA"><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_KC4M_b3zxkOYv5EBBchF7A" format="ixt-sec:durwordsen" name="csiq:LineOfCreditFacilityMaturityTerm" id="Narr_b4vMEEh7eEusjKj1BY36IQ">one-year</ix:nonNumeric></ix:nonNumeric></ix:nonNumeric> loan facilities from Chinese commercial banks of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg" contextRef="As_Of_12_31_2017_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_tBlYd5-kWE6aGSNgv3Kk6g" decimals="-6" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="Narr_zJEVBkbhCkeI72ZH3Bd_ow">1,346</ix:nonFraction> million ($<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2017_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_tBlYd5-kWE6aGSNgv3Kk6g" decimals="-6" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="Narr_6zNtLIrscUucS8ovXdbhSA">206</ix:nonFraction> million), RMB<ix:nonFraction unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg" contextRef="As_Of_12_31_2018_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_9lQ3SiVbI0Cz34qntYVUvQ" decimals="-6" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="Narr_dqV3eRoxGUy8PSh0uhUXew">1,270</ix:nonFraction> million ($<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_9lQ3SiVbI0Cz34qntYVUvQ" decimals="-6" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="Narr_fYiBy1vwokGACnDCmU_Xlg">185</ix:nonFraction> million) and RMB<ix:nonFraction unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg" contextRef="As_Of_12_31_2019_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_-9Ev49XOv0WHBKgFbU2Fvg" decimals="-6" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="Narr_Irud3ucCoEiOymsHq16eag">1,420</ix:nonFraction> million ($<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_-9Ev49XOv0WHBKgFbU2Fvg" decimals="-6" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="Narr_7W0WzssOx0qmsdJDhA1pqQ">204</ix:nonFraction> million) in 2017, 2018 and 2019, respectively. Amounts drawn down under the facilities as at December 31, 2017, 2018 and 2019 were $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2017_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_tBlYd5-kWE6aGSNgv3Kk6g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="3" id="Narr_T4C_-RsTNEaIdN95OQ-5cA">135,225</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_9lQ3SiVbI0Cz34qntYVUvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="3" id="Narr_R_k5jUyvtUCa-TbYiFpF-w">155,956</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_-9Ev49XOv0WHBKgFbU2Fvg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="3" id="Narr_KbOGr5XBZECJYbE_szGCaA">82,937</ix:nonFraction> respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company granted <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_aUDIOkC4N0moMgxXHdfJgA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_TCPF8OGUeUeDJzYBqBusMQ">77,289</ix:nonFraction>, <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_G4WXjlCzGk6tv1QgilDbNw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_oGeS4gb1fk2zRCxveWbSow">83,805</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_xlsgy5UOXUyi5N5UhUX8yQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_NQrjTWCSk02NG7qJ9xFlJA">26,691</ix:nonFraction> restricted share units to Dr. Shawn Qu in 2017, 2018 and 2019, respectively, on account of his having guaranteed these loan facilities.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Sales and purchase contracts with affiliates</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2019, the Company sold <ix:nonFraction unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_BWweho0NDkOlYHOcv1sAMg" decimals="INF" format="ixt-sec:numwordsen" name="csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold" scale="0" id="Narr_5yazCXIRMU28-hB8e9sPkg">three</ix:nonFraction> solar power projects to CSIF, the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_BWweho0NDkOlYHOcv1sAMg" decimals="4" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_yTYm4qDxUE-Qg_QFXdG3gQ">14.66</ix:nonFraction>% owned affiliate in Japan, in the amount of JPY <ix:nonFraction unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_PhlHwWuAX0mtNlaTGNFZig" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_c7pS_E-nxECzsLejtw25Xw">5,889,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_PhlHwWuAX0mtNlaTGNFZig" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_2bn12LcvzkGWnd_kX8obzQ">53,874</ix:nonFraction>) recorded in revenue.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2018, the Company sold <ix:nonFraction unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_6D1G2qS6fUataJZveTuqLQ" decimals="INF" format="ixt:numdotdecimal" name="csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold" scale="0" id="Narr_BEIRzVUVFUmqWDSv4odMgQ">5</ix:nonFraction> solar power projects to CSIF, the Company&#39;s <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_6D1G2qS6fUataJZveTuqLQ" decimals="4" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_WNxhVdnwkkSE5NG_3f0-FA">14.66</ix:nonFraction>% owned affiliate in Japan, in the amount of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_jAyeLQNSY0C2kNsKS1WhGg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_bNjaz35oDEuh40Ec5_TSYw">12,276,404</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_jAyeLQNSY0C2kNsKS1WhGg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_95EHJvmHhkuNKa4_Ws36Yg">109,597</ix:nonFraction>) recorded in revenue, and JPY<ix:nonFraction unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherOperatingIncomeExpenseMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_e3dAShJSgE-g6Y5ni5CseQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_PD9nzPRncEeI7X-6V1rKwA">89,238</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherOperatingIncomeExpenseMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_e3dAShJSgE-g6Y5ni5CseQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_a7ksRDSXZk2R0oQcRPmqOQ">836</ix:nonFraction>) recorded in other operating income, respectively. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2017, The Company sold <ix:nonFraction unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_PrY-GkgnS0qsqjcKYAbnjw" decimals="INF" format="ixt:numdotdecimal" name="csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold" scale="0" id="Narr_5-jTQqQn1UOqbunc8RbSfg">13</ix:nonFraction> solar power projects to CSIF, the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_PrY-GkgnS0qsqjcKYAbnjw" decimals="4" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_Qo4ExmM0Rk-VROMVVhx3gQ">14.66</ix:nonFraction>% owned affiliate in Japan, in the amount of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_-8VH67s7GEy6t8o9U9Yt-Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_gx_GKjQTw02ljcNZbAKyoQ">18,426,754</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_-8VH67s7GEy6t8o9U9Yt-Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_qFPADR7qX0KNoS7KMtWvVQ">163,155</ix:nonFraction>) recorded in revenue and JPY<ix:nonFraction unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherOperatingIncomeExpenseMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_ZpC7KIfDM0-GFkQyK6irCA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_GhrZCo0wzU2EQ7RH0F3DSw">3,148,648</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherOperatingIncomeExpenseMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_ZpC7KIfDM0-GFkQyK6irCA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_701x75sd8kWG5RDLuyVX3Q">27,879</ix:nonFraction>) recorded in other operating income, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2017, 2018 and 2019, the Company provided asset management service to CSIF in the amount of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_TaJkuRfZaUytX-J6LuxPiQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_Hf--dOaeI0KvDyQjrukQew">303,772</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_TaJkuRfZaUytX-J6LuxPiQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_5Ib7ubqKyECQ5UEZp0edZQ">2,699</ix:nonFraction>), JPY<ix:nonFraction unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_MPZ-85CJ6k2EIGMH-f8y0g" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_f8OSrR-auEK5wlK7SJKl6g">247,341</ix:nonFraction>($<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_MPZ-85CJ6k2EIGMH-f8y0g" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_ikOrTGXZt0a78cobaL1tRg">2,210</ix:nonFraction>) and JPY <ix:nonFraction unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_vGGbm6VVYkWnxmvj9a2U4Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_xgxoqWtY8US5tC9homlpKA">281,094</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_vGGbm6VVYkWnxmvj9a2U4Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_-II3XQ4-MUGgwvKJlmTtag">2,573</ix:nonFraction>), respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2017, 2018 and 2019, the Company provided O&amp;M service to CSIF in the amount of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_vrbq1Y7fzkmRdeZimHMJTg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_4lh9N0ioBE6VZ40ablOAIA">32,119</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_vrbq1Y7fzkmRdeZimHMJTg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_0y_aMulCLkOtfPELpHhKgQ">285</ix:nonFraction>), JPY<ix:nonFraction unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_xmseSrs_m0mdgFiMJnbO5Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_95IFKNNxDU6FoDtJuBcFZA">122,529</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_xmseSrs_m0mdgFiMJnbO5Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_jfKeWhl4bk6ZKu2oLl3iIQ">1,105</ix:nonFraction>) and JPY <ix:nonFraction unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_6TQ2EhR2lU6r_r2PFKt9wg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_yiw_aaaogEaXnNLHBmOYcA">223,598</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_6TQ2EhR2lU6r_r2PFKt9wg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ServiceRevenueFromRelatedParty" scale="3" id="Narr_6ttxBgYNyUqCwASe5aD9Iw">2,052</ix:nonFraction>), respectively. </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-55</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_NJcdYcZff0y0xPIBhXNARQ_cont1"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">20.&#160;RELATED PARTY BALANCES AND TRANSACTIONS (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2018 and 2019, the Company sold solar power products to ET Solutions South Africa 1 Pty, the Company&#39;s <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_NKajxU16PkyTwnPqN1t2JQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" scale="-2" id="Narr_23JLoah4Wk6ePgwCFDRr4A"><ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_pkg0CfgLNkSl5jAIKMjFLg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" scale="-2" id="Narr_hu_PfnXXkk6xrPMWnLKPIQ">49</ix:nonFraction></ix:nonFraction>% owned affiliate in South Africa in the amount of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_NKajxU16PkyTwnPqN1t2JQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_TdEQeptFfkygHLf8mkENZA">45,407</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_NKajxU16PkyTwnPqN1t2JQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_AYrWzd99pUy_uWZhYzOgSw">6,859</ix:nonFraction>) and ZAR<ix:nonFraction unitRef="Unit_Standard_ZAR_CO6Y-961Uk2OBFlKKQofBQ" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_pkg0CfgLNkSl5jAIKMjFLg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_IUFUYw9hCEuG-Ct_5j_Oww">586,832</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_pkg0CfgLNkSl5jAIKMjFLg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_dKcauAZ7skmOl3es45b70w">40,970</ix:nonFraction>), respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2017, the Company sold solar power products to Gaochuangte in the amount of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouGaochuangteNewEnergyCoLtdMember_zcXd8MaTkU-yNYAvv5T2AA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_r0j9hNLcmke15kbQo_UuOw">11,352</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouGaochuangteNewEnergyCoLtdMember_zcXd8MaTkU-yNYAvv5T2AA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromRelatedParties" scale="3" id="Narr_BVXIVgQcHU6kTOYgLUiEfQ">1,648</ix:nonFraction>), before Gaochuangte became the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouGaochuangteNewEnergyCoLtdMember_zcXd8MaTkU-yNYAvv5T2AA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" scale="-2" id="Narr_T9MWvGwX2kGpiH4XU_TM7w">80</ix:nonFraction>% owned subsidiary. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2017, 2018 and 2019, the Company purchased raw materials from Suzhou iSilver Materials Co., Ltd , the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_hAsqnodrN0qwpZ_IQTzNdQ" decimals="4" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_AF8nbwv-K0aXKSMJxah_8A"><ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_XRJuOQBJ7Eqq3I_8rcfl3g" decimals="4" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_lG1Qbkgw-UG8Vz_iNpuKLw"><ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_HPonw54HF0Khe7itrDgQcQ" decimals="4" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_J472YvYqw06SVmzNAAUySg">14.63</ix:nonFraction></ix:nonFraction></ix:nonFraction>% owned affiliate in China, in the amount of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_hAsqnodrN0qwpZ_IQTzNdQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_lGXo5LCd0k6Y5eESaHniPw">331,958</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_hAsqnodrN0qwpZ_IQTzNdQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_4Ry6l8F3rECNY_QwmDTlOA">49,113</ix:nonFraction>), RMB<ix:nonFraction unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_XRJuOQBJ7Eqq3I_8rcfl3g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_JGBvdK-XKkmGUcu3wkCvHw">512,154</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_XRJuOQBJ7Eqq3I_8rcfl3g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_8L_HP1dIs0OhSmdjPuavhQ">74,490</ix:nonFraction>) and RMB <ix:nonFraction unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_HPonw54HF0Khe7itrDgQcQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr__NheAOzKk0-HCEQKCJrU_A">350,590</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_HPonw54HF0Khe7itrDgQcQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_N3EsV3jCqk-tMgceyKx4GQ">50,359</ix:nonFraction>), respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2018 and 2019, the Company purchased equipment from Suzhou Kzone Equipment Technology Co., Ltd, the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_VSgMjSpuCkGi0L_sLbP1xw" decimals="4" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_qEk51ZJ-ZE6DYRP6f6hhbg"><ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_J0f4Gn18IkyrpRsz_fqugg" decimals="4" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_YgQ2J_GxAk66u50mWl5dlQ">32</ix:nonFraction></ix:nonFraction>% owned affiliate in China, in the amount of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_VSgMjSpuCkGi0L_sLbP1xw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_RVc1eCjGTUWA0Z-e2EJWhw">41,635</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_VSgMjSpuCkGi0L_sLbP1xw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_kguDBwefIkqXOqdxwSd3Ww">6,056</ix:nonFraction>) and RMB <ix:nonFraction unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_J0f4Gn18IkyrpRsz_fqugg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_i7m8s26_kUGSD_VSMLwt8w">61,174</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_J0f4Gn18IkyrpRsz_fqugg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_MHDKLyDtzUG3tzlzFkW4SQ">8,787</ix:nonFraction>), respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">In 2017, the Company incurred costs of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouGaochuangteNewEnergyCoLtdMember_zcXd8MaTkU-yNYAvv5T2AA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostsAndExpensesRelatedParty" scale="3" id="Narr_MJMKipP5fE6RNCxZUH2AMQ">44,271</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouGaochuangteNewEnergyCoLtdMember_zcXd8MaTkU-yNYAvv5T2AA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostsAndExpensesRelatedParty" scale="3" id="Narr_kN47dvFDmkCRCnVILt62rg">6,430</ix:nonFraction>), to Gaochuangte for EPC services related to the Company&#39;s solar power projects, respectively. These amounts were recorded in project assets.</p></ix:continuation><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="Tc_UleZMaECL0CldX__cBeTXg_1_0"></a><a id="Tc_rgvf2vtBVEKDb2vhAAtpNA_1_2"></a><a id="Tc_WZYhQcChcUiQXtJPbTToBg_2_0"></a><a id="Tc_IWb5LyUINUePdCM_KYfjLw_3_0"></a><a id="Tc_fQ_W322ob0O43Is4eQ_uDg_4_0"></a><a id="Tc_ajrwzGZT306eTAuWF6lU4w_1_0"></a><a id="Tc_cjFIoNVkME6M8TUFxjpLsg_1_2"></a><a id="Tc_QUCK09MyzEezqa-maGVUwQ_2_0"></a><a id="Tc_RTlgUpDJ60e8POE7HQULTw_3_0"></a><a id="Tc_bq_okbSzO0ixPU5KkXV9BA_4_0"></a><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="Tb_peSAcJhLB06aK8aUteENFQ" continuedAt="Tb_peSAcJhLB06aK8aUteENFQ_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">a)&#160;&#160;&#160;&#160;Capital commitments</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2019, the commitments for the purchase of property, plant and equipment were approximately $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_zjSsGEmr3E6ImxRcFXV6BA" decimals="-6" format="ixt:numdotdecimal" name="us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted" scale="6" id="Narr_7AgeIT1eOkqqNC1zA8hDhg">12</ix:nonFraction> million, and the payment schedule for the commitments is as follow:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_Np0KdG7IgkGg0RZJy8EOmA" name="us-gaap:LongTermPurchaseCommitmentTextBlock" id="Tb_uWm6js-vU0CFwiQ0DnAj9Q" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:86.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Year Ending December&#160;31:</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">$</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_zjSsGEmr3E6ImxRcFXV6BA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligationDueInNextTwelveMonths" scale="3" id="Tc_j37s3Q3P90iUOSBTVHEeGg_2_2">9,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_zjSsGEmr3E6ImxRcFXV6BA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligationDueInSecondYear" scale="3" id="Tc_DiJhneTHoEigEuZldKyPgw_3_2">3,000</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_zjSsGEmr3E6ImxRcFXV6BA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligation" scale="3" id="Tc_TMuVD2LULUK4AgMAFSXfDg_4_2">12,000</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Solar power system commitments</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2019, the commitments of the service to be purchased for solar power system were approximately $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_5GNhDLp22Ue3G4TbPQOzCw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted" scale="6" id="Narr_cw7kpb287UuQJPTxyMPhiQ">0.8</ix:nonFraction> million, and the payment schedule for the commitments is as follow:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_JWRvDsPwUka_T2lsk7qpSw" name="us-gaap:LongTermPurchaseCommitmentTextBlock" id="Tb_JAsiGiMfgkSMnDFUSHwQNA" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Year Ending December 31:</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">$</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_5GNhDLp22Ue3G4TbPQOzCw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligationDueInNextTwelveMonths" scale="3" id="Tc_uI49OOVHrk-aRLz0biOI3A_2_2">600</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_5GNhDLp22Ue3G4TbPQOzCw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligationDueInSecondYear" scale="3" id="Tc_nIVIeNRRpkWlRO0NZV4KUQ_3_2">200</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_5GNhDLp22Ue3G4TbPQOzCw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligation" scale="3" id="Tc_Lzxo-Z7I7069mYZldpFS1w_4_2">800</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-56</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_peSAcJhLB06aK8aUteENFQ_cont1" continuedAt="Tb_peSAcJhLB06aK8aUteENFQ_cont2"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">c)&#160;&#160;&#160;&#160;Contingencies</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Class Action Lawsuits</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Following the <ix:nonFraction unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA" contextRef="Duration_1_1_2010_To_12_31_2010_srt_LitigationCaseAxis_csiq_ClassActionLawsuitsFiledInNewYorkMember_FNrge7ynxUKgdwShVOjAFA" decimals="INF" format="ixt-sec:numwordsen" name="csiq:NumberOfSubpoenasReceived" scale="0" id="Narr_mF2iqp1s80yWD39DzT7BnA">two</ix:nonFraction> subpoenas from the SEC in 2010, <ix:nonFraction unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA" contextRef="Duration_1_1_2010_To_12_31_2010_srt_LitigationCaseAxis_csiq_ClassActionLawsuitsFiledInNewYorkMember_FNrge7ynxUKgdwShVOjAFA" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:LossContingencyNewClaimsFiledNumber" scale="0" id="Narr_wzy315Aj7kOxibV2AgKX_w">six</ix:nonFraction> class action lawsuits were filed in the U.S. District Court for the Southern District of New&#160;York, or the New&#160;York cases, and another class action lawsuit was filed in the U.S. District Court for the Northern District of California, or the California case. The New&#160;York cases were consolidated into a single action in December&#160;2010. On January&#160;5, 2011, the California case was dismissed by the plaintiff, who became a member of the lead plaintiff group in the New&#160;York action. On March&#160;11, 2011, a Consolidated Complaint was filed with respect to the New&#160;York action. The Consolidated Complaint alleges generally that the Company&#8217;s financial disclosures during 2009 and early 2010 were false or misleading; asserts claims under Sections&#160;10(b) and&#160;20(a) of the Exchange Act and Rule&#160;10b-5 thereunder; and names the Company, its chief executive officer and its former chief financial officer as defendants. The Company filed its motion to dismiss in May&#160;2011, which was taken under submission by the Court in July&#160;2011. On March&#160;30, 2012, the Court dismissed the Consolidated Complaint with leave to amend, and the plaintiffs filed an Amended Consolidated Complaint against the same defendants on April&#160;19, 2012. On March&#160;29, 2013, the Court dismissed with prejudice a class action lawsuit filed against the Company and certain named defendants alleging that the Company&#8217;s financial disclosures during 2009 and early 2010 were false or misleading and in violation of federal securities law. The court found that the plaintiffs failed to adequately allege a securities law violation and granted the Company&#8217;s motion to dismiss all claims against all defendants with prejudice. On December&#160;20, 2013, the United&#160;States Court of Appeals for the Second Circuit affirmed the district court&#8217;s order dismissing such class action&#160;lawsuit.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In addition, a similar class action lawsuit was filed against the Company and certain of its executive officers in the Ontario Superior Court of Justice on August&#160;10, 2010. The lawsuit alleges generally that the Company&#8217;s financial disclosures during 2009 and 2010 were false or misleading and brings claims under the shareholders&#8217; relief provisions of the CBCA, Part&#160;XX III.1 of the Ontario Securities Act as well as claims based on negligent misrepresentation. In December&#160;2010, the Company filed a motion to dismiss the Ontario action on the basis that the Ontario Court has no jurisdiction over the claims and potential claims advanced by the plaintiff. The court dismissed the Company&#8217;s motion on August&#160;29, 2011. On March&#160;30, 2012, the Ontario Court of Appeal denied the Company&#8217;s appeal with regard to its jurisdictional motion. On November&#160;29, 2012, the Supreme Court of Canada denied the Company&#8217;s application for leave to appeal the order of the Ontario Court of Appeal. The plaintiff&#8217;s motions for class certification and leave to assert the statutory cause of action under the Ontario Securities Act were served in January&#160;2013 and initially scheduled for argument in the Ontario Superior Court of Justice in June&#160;2013.However, the plaintiff&#8217;s motions were adjourned in view of the plaintiff&#8217;s decision to seek an order compelling the Company to file additional evidence on the motions. On July&#160;29, 2013 the Court dismissed the plaintiff&#8217;s motion to compel evidence. On September&#160;24, 2013 the plaintiff&#8217;s application for leave to appeal from the July&#160;29 order was dismissed. In September 2014, the plaintiff obtained an order granting him leave to assert the statutory cause of action under the Ontario Securities Act for certain of his misrepresentation claims. </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-57</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_peSAcJhLB06aK8aUteENFQ_cont2" continuedAt="Tb_peSAcJhLB06aK8aUteENFQ_cont3"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In January 2015, the plaintiff in the class action lawsuit filed against the Company and certain of its executive officers in the Ontario Superior Court of Justice obtained an order for class certification in respect of certain claims for which he had obtained leave in September 2014 to assert the statutory cause of action for misrepresentation under the Ontario Securities Act, for certain negligent misrepresentation claims and for oppression remedy claims advanced under the CBCA. The Court dismissed the Company&#8217;s application for leave to appeal and the class action is at the merits stage. The common issues trial is scheduled for November 2020. The Company believes the Ontario action is without merit and the Company is defending it vigorously.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Solar 1</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In October 2011, a trade action was filed with the U.S. Department of Commerce, or USDOC, and the U.S. International Trade Commission, or USITC, by the U.S. unit of SolarWorld AG and six other U.S. firms, accusing Chinese producers of crystalline silicon photovoltaic cells, or CSPV cells, whether or not incorporated into modules, of selling their products (i.e., CSPV cells or modules incorporating these cells) into the United States at less than fair value, or dumping, and of receiving countervailable subsidies from the Chinese authorities. These firms asked the U.S. government to impose antidumping and countervailing duties on Chinese-origin CSPV cells. The Company was identified as one of a number of Chinese exporting producers of the subject goods to the U.S. market. The Company also has affiliated U.S. operations that import the subject goods from China.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">From October 2012 to July 2018, the USDOC issued final affirmative determinations with respect to its antidumping and countervailing duty investigations on crystalline silicon photovoltaic, or CSPV, cells, whether or not incorporated into modules, from China, and the first to fifth administrative review results. The results of sixth and seventh administrative reviews are expected to conclude in mid-2020.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Between 2017 and 2019, the USDOC and USITC conducted <span style="-sec-ix-hidden:Hidden_LgyjbK5sEUOtkHh3zIcJRg"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">five</span></span>-year sunset reviews and determined to continue the Solar 1 antidumping and countervailing duty orders. In March 2018, the USDOC published the results of its expedited first sunset reviews and concluded that revocation of the Solar 1 orders would likely lead to a continuation or recurrence of dumping and a countervailable subsidy. The Company did not participate in USDOC&#8217;s first sunset review. The Company did, however, participate in the USITC&#8217;s first sunset review and requested that the Solar 1 duties be revoked. The USITC issued an affirmative determination in March 2019 declining to revoke the Solar 1 orders and finding that such revocation would be likely to lead to a continuation or recurrence of material injury to the U.S. industry within a reasonably foreseeable time. As a result, the Solar 1 orders remain in effect.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-58</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_peSAcJhLB06aK8aUteENFQ_cont3" continuedAt="Tb_peSAcJhLB06aK8aUteENFQ_cont4"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Solar 2</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On December 31, 2013, SolarWorld Industries America, Inc. filed a new trade action with the USDOC and the USITC accusing Chinese producers of certain CSPV modules of dumping their products into the U.S. and of receiving countervailable subsidies from the Chinese authorities. This trade action also alleged that Taiwanese producers of certain CSPV cells and modules dumped their products into the U.S.. Excluded from these new actions were those Chinese-origin solar products covered by the Solar 1 orders described above. The Company was identified as one of a number of Chinese producers exporting the Solar 2 subject goods to the U.S. market. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">&#8220;Chinese CSPV products subject to Solar 2 orders&#8221; refer to CSPV products manufactured in mainland China using non-Chinese (e.g., Taiwanese) CSPV cells and imported into the U.S. during the investigation or administrative review periods of Solar 2. &#8220;Taiwanese CSPV products subject to Solar 2 orders&#8221; refer to CSPV products manufactured outside of mainland China using Taiwanese CSPV cells and imported into the U.S. during the investigation or review periods of Solar 2.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">From December 2014 to late 2019, the USDOC issued final affirmative determinations and results of the first to fourth administrative reviews with respect to its antidumping and countervailing duty investigation on these CSPV products.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company will not be subject to the fifth administrative review of the Chinese orders. The USDOC is expected to initiate the fifth administrative review of the Taiwanese orders soon.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC and USITC are currently conducting five-year sunset reviews to determine whether to continue the Solar 2 orders on CSPV products from China and Taiwan. The USDOC is conducting an expedited review, with its final results expected in May 2020. The USITC is currently assessing whether it will conduct an expedited or full sunset review, with a decision due on this issue in spring 2020. The USITC&#8217;s sunset review will follow this preliminary decision.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2019, the Company booked the benefits of antidumping duty and countervailing duty provision reversals of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_LitigationCaseAxis_csiq_FirstAdministrativeReviewOfSolarTwoMember_oxVnRVPscU2eTy0cveOR8g" decimals="-5" format="ixt:numdotdecimal" name="csiq:LossContingencyProvisionReversed" scale="6" id="Narr_CgNac6wM6EiIvwBY6VAvJQ">52.3</ix:nonFraction> million, primarily associated with prior years&#8217; module sales based on the respective updated rates of the administrative reviews carried out by the U.S. Department of Commerce.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Section 201</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On May 17, 2017, following receipt of a petition from Suniva, Inc., which was later joined by SolarWorld Americas, Inc., the USITC instituted a safeguard investigation to determine whether there were increased imports of CSPV products in such quantities as to be a substantial cause of serious injury, or the threat thereof, to the domestic industry producing like or directly competitive products. On September 22, 2017, the USITC determined that CSPV products are being imported into the United States in such increased quantities as to be a substantial cause of serious injury to the domestic industry.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-59</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_peSAcJhLB06aK8aUteENFQ_cont4" continuedAt="Tb_peSAcJhLB06aK8aUteENFQ_cont5"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="white-space:pre-wrap;">On January 23, 2018, the President of the United States imposed a safeguard measure on imports of CSPV cells.  This safeguard measure, which became effective on February 7, 2018, applies to CSPV products imported from all countries, except for certain developing country members of the World Trade Organization.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USITC conducted a midterm review of the safeguard order in early 2020, issuing its monitoring report in February 2020. Additionally, in March 2020, at the request of the Office of the U.S. Trade Representative (USTR), the USITC released a report regarding the probable economic effect on the domestic CSPV cell and module manufacturing industry of modifying the safeguard measure on CSPV products.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">In addition, on June 13, 2019 and following an abbreviated public comment period, USTR granted an exclusion from the safeguard measure for bifacial solar panels comprising solely bifacial solar cells.  On October 9, 2019, USTR determined to withdraw this exclusion, effective October 28, 2019.  Invenergy Renewables LLC contested USTR&#8217;s withdrawal determination at the CIT and persuaded the Court to enjoin USTR&#8217;s withdrawal due to procedural deficiencies.  In early 2020, USTR conducted a renewed notice-and-comment process in order to withdraw the exclusion for bifacial solar panels. Subject to the CIT&#8217;s further review, the exclusion could be terminated as soon as May 18, 2020.</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">European Antidumping and Anti-Subsidy Investigations</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On September 6, 2012, following a complaint lodged by EU ProSun, an ad-hoc industry association of EU CSPV module, cell and wafer manufacturers, the European Commission initiated an antidumping investigation concerning EU imports of CSPV modules and key components (i.e., cells and wafers) originating in China. On November 8, 2012, following a complaint lodged by the same parties, the European Commission initiated an anti-subsidy investigation on these same products. On December 6, 2013, the EU imposed definitive antidumping and countervailing measures on imports of CSPV modules and key components (i.e., cells and wafers) originating in or consigned from China. On March 3, 2017, the European Commission extended the antidumping and countervailing measures for 18 months on imports of CSPV modules and key components (i.e., cells and wafers) originating in or consigned from China. On September 16, 2017, the European Commission amended the form of the antidumping and countervailing measures for certain Chinese exporters (but not for Canadian Solar).On March 9, 2018, the antidumping and countervailing measures expired. As a result, since then, the CSPV modules and cells of the Company that originate in, or are consigned from, China, are no longer subject to antidumping or countervailing measures.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On February 28, 2014, the Company filed separate actions with the General Court of the EU for annulment of the regulation imposing the definitive antidumping measures and of the regulation imposing the definitive countervailing measures (case T-162/14 and joined cases T-158/14, T-161/14, and T-163/14). The General Court rejected these actions for annulment. On May 8, 2017, the Company appealed the judgements of the General Court before the Court of Justice of the EU (cases C-236/17 and C-237/17). On March 27, 2019, the Court of Justice rejected the appeals. There is no further action with regard to these matters.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-60</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_peSAcJhLB06aK8aUteENFQ_cont5"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Canadian Antidumping and Countervailing Duties Expiry Review</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On June 3, 2015, the Canada Border Services Agency (CBSA) released final determinations regarding the dumping and subsidization of solar modules and laminates originating from China. The CBSA determined that such goods were dumped and subsidized. The CBSA found the Company to be a &#8220;cooperative exporter&#8221; and, as such, ascertained a low (relative to other Chinese exporters) Canadian Solar-specific subsidies rate of RMB0.014 per Watt. On July 3, 2015 the Canadian International Trade Tribunal (CITT) determined that the Canadian industry was not negatively affected as a result of imported modules but was threatened with such negative impact. As a result of these findings, definitive duties were imposed on imports of Chinese solar modules into Canada starting on July 3, 2015. The CITT is required by law to review such finding every five (5) years) lest the finding expire. The CITT&#8217;s finding expires on July 2, 2020.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On April 1, 2020, the CITT initiated the preliminary stage of the expiry review regarding the above finding. The Company has responded to the CITT with its intent to participate in such review. The CITT will decide by May 21, 2020 based on responses to be received from domestic and Chinese producers whether the expiry review is warranted.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Regardless of the outcome, the Company does not believe there will be a material negative effect upon its results of operations because it has module manufacturing capacity in Ontario and do not rely on Chinese solar modules to serve its Canadian business. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Please refer to &#8220;Item 8. Financial Information&#8212;A. Consolidated Statements and Other Financial Information&#8212;Legal and Administrative Proceedings&#8221; in the Company&#8217;s Form 20-F for detailed information on antidumping and countervailing duties.</p></ix:continuation><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:SegmentReportingDisclosureTextBlock" id="Tb_ppRyDlzhE0OaJtY-tZeiHg" continuedAt="Tb_ppRyDlzhE0OaJtY-tZeiHg_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">22.&#160;SEGMENT INFORMATION</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company uses the management approach to determine operating segments. The management approach considers the internal organization and reporting used by the Company&#8217;s chief operating decision maker (&#8220;CODM&#8221;) for making decisions, allocating resources and assessing performance. The Company&#8217;s CODM has been identified as the Chief Executive Officer of the Company, since he reviews consolidated and segment results when making decisions about allocating resources and assessing performance of the Company.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company has been operating in <ix:nonFraction unitRef="Unit_Standard_segment_cECiqmtKEE2chm8uhJi7ig" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfReportableSegments" scale="0" id="Narr_QfVLR3GBmEmicDzO-o9jfw">two</ix:nonFraction> principal businesses since 2016: module and system solutions (&#8220;MSS&#8221;) and Energy. The MSS business comprises primarily the design, development, manufacture and sale of solar modules, other solar power products and solar system kits. The MSS business also provides engineering, procurement and construction (EPC) and operating and maintenance (O&amp;M) services. The Energy business comprises primarily the development and sale of solar projects, operating solar power projects and the sale of electricity. The module sales from the Company&#39;s MSS business to its Energy business are on terms and conditions similar to sales to third parties. The Company&#8217;s CODM reviews net revenue and gross profit and does not review balance sheet information by segment.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-61</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_bdd54f1c_5be1_4f21_8fba_b68aeda6c9a1"></a><a id="Tc_2gNra-j1XkSFhJB_UZOaCQ_1_2"></a><a id="Tc_v-HMvV8_-U2SPd65PXXzuA_2_2"></a><a id="Tc_F6rqjq389UOi6YaOKe0CaQ_2_4"></a><a id="Tc_jAJtMWyrxkaXq8mlG6M5Qg_2_6"></a><a id="Tc_K9EcYO68NESV1MyFbYxFDw_2_8"></a><a id="Tc_9Us1m18drUq2vMiktXGBNA_3_2"></a><a id="Tc_HPkWRph9PEOZVbx9YTktOw_3_4"></a><a id="Tc_AHgrEkUVW0-nEY3--JLWng_3_6"></a><a id="Tc_9Ogfca2n50a7Dfxiy3HAkA_3_8"></a><a id="Tc_quC6VZ_Wt06J_MXd9LIBuw_4_0"></a><a id="Tc_FRKNPzpgKUmLaS04DJq77A_5_0"></a><a id="Tc_sXUWEQbY6UKU9V9NiTKlTw_6_0"></a><a id="Tc_jJ0VGJXiPkiS8otk-Elbug_7_0"></a><a id="_377663b5_d049_4c06_91a5_9a525cad8cc7"></a><a id="Tc_sVxQS8hcr0uS7Sc4rGI7ag_1_2"></a><a id="Tc_YyIiVttElUu4IOfX7MMb3g_2_2"></a><a id="Tc_4-ygLKCkKUS3ZYwMpvFZBw_2_4"></a><a id="Tc_i_jJO2yZNEaG4BCCru0oiQ_2_6"></a><a id="Tc_c9AtYBRYaUK5PX0278e28Q_2_8"></a><a id="Tc_dtt5QEr43EeRlJYmYj3G-Q_3_2"></a><a id="Tc_cpN91fq2M0qM1kcqeyqOeg_3_4"></a><a id="Tc_7INjhhgvEEqjDBoPxi2ZcA_3_6"></a><a id="Tc_bNiDFyyT-0e_yMs2oN385A_3_8"></a><a id="Tc_ROPFzDgGREClBoYumTpCzg_4_0"></a><a id="Tc_D1erqH4x6kqP1aFJjVRXFQ_5_0"></a><a id="Tc_Mvep8wDk1k6RYg2o1BVg7Q_6_0"></a><a id="Tc_kqLKo0MrRUK2pmjaJZjT4Q_7_0"></a><a id="_ba958959_fcba_478a_b3b6_8139a7ffbcc9"></a><a id="Tc_lWoHmuKEmEKKeYl8ckaKPw_1_2"></a><a id="Tc_dRB49Sr0DkGee2lAw5hg7w_2_2"></a><a id="Tc_VM46NkzFcUGt7_Jx2NqutQ_2_4"></a><a id="Tc_fwVrKZK9J06t1zF7sTDgnQ_2_6"></a><a id="Tc_Xl3Fy1yIQk2aKoutTUqYGw_2_8"></a><a id="Tc_1RaTFrN0-Uu21mD-0OBqAw_3_2"></a><a id="Tc_90SK3NxsbEu0SY1ATlfUPQ_3_4"></a><a id="Tc_5eyHeR-PkEaGhYRfcrn1jQ_3_6"></a><a id="Tc_9JcSNGulAk68pOCQz_qHBA_3_8"></a><a id="Tc_Dnqmz_zeqUKm_SawmguOQQ_4_0"></a><a id="Tc_VUHfJ2L6OEKB6uHPU7uyOA_5_0"></a><a id="Tc_A2G45-Iz5Uq8NRXijeFRFg_6_0"></a><a id="Tc_2QsLu6nMMEq8qE0gdtowWw_7_0"></a><ix:continuation id="Tb_ppRyDlzhE0OaJtY-tZeiHg_cont1" continuedAt="Tb_ppRyDlzhE0OaJtY-tZeiHg_cont2"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">22.&#160;SEGMENT INFORMATION (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#39;s revenues, gross profit and income from operations generated from each segment:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock" id="Tb_V7Z-QrIfH0-Djdpq8g_Buw" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:53.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31, 2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSS</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Elimination</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_ss3QD1mEA0Ss5n4fwqqX3A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_3qD9eN5Q-EOqe5V_NgW1Xw_4_2">2,582,635</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_3Sk93rEByE-dbeqKVVA7_g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_RHDPa8Ps60Kp03Zc32r9qQ_4_4">719,445</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_484CsaX530iGjLclDEuAyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" sign="-" scale="3" id="Tc_jG14VvAcQkG_gtZhMCq_jw_4_6">101,497</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_znFFtqWEP0urcOvtAATZRA_4_8">3,200,583</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_ss3QD1mEA0Ss5n4fwqqX3A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_gKa3L4Vr9Eum_sJOs442iQ_5_2">1,934,062</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_3Sk93rEByE-dbeqKVVA7_g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_C6ATukrz5UKI4kgCUs1pFQ_5_4">635,716</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_484CsaX530iGjLclDEuAyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" sign="-" scale="3" id="Tc_W2f9A4L3ekKEl29uagNRkQ_5_6">87,692</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_ZpjaDDonkU2OMGaH3EouFQ_5_8">2,482,086</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_ss3QD1mEA0Ss5n4fwqqX3A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_S7XqPkLZh0G_lyYDqHeAhQ_6_2">648,573</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_3Sk93rEByE-dbeqKVVA7_g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_55-9POooLEelvG2ZZIizBA_6_4">83,729</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_484CsaX530iGjLclDEuAyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" sign="-" scale="3" id="Tc_tmviJIUk0kapofDL93euXg_6_6">13,805</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_SYHH5Fb49EqCrnVaVpuRqg_6_8">718,497</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Income from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_ss3QD1mEA0Ss5n4fwqqX3A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_5eSutVWEDkS18cNInYHpww_7_2">279,715</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_3Sk93rEByE-dbeqKVVA7_g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_AUVJfdfDFEC5_DNeIjuO2w_7_4">7,031</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_484CsaX530iGjLclDEuAyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_8_nQiG46pEu_sIiYL_tQRA_7_6">13,805</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_a6gdbv0hPEeGAFL0sZaohw_7_8">258,879</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31, 2018</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSS</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Elimination</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_Cr4qBZh4zEWoHVD16HcRsg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_bHbMpSEXAEmOfsYUbd29Fg_4_2">2,413,889</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_SkUIuue_V0KM0cghzFjUGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_v-XYFfN5oUeRiINUDqgmuQ_4_4">1,575,594</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_M_mTHN8f20mtGppqvA2zHA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" sign="-" scale="3" id="Tc_EfoR12e-8UuikR15sntAAg_4_6">244,971</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ITtVJVILrUaUVIYnsNjJEQ_4_8">3,744,512</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_Cr4qBZh4zEWoHVD16HcRsg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_TdDL_HdEQE6pBEBeKmNOdQ_5_2">1,923,131</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_SkUIuue_V0KM0cghzFjUGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_Eg7QgmOxOUeKPo4TipYqJg_5_4">1,302,779</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_M_mTHN8f20mtGppqvA2zHA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" sign="-" scale="3" id="Tc_gG22a9gFN0qeK54wRJ5FNQ_5_6">256,480</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_c5zk837fLESOtacZBTjMqQ_5_8">2,969,430</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_Cr4qBZh4zEWoHVD16HcRsg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_i1HylTXJH0queBDS3RSzAw_6_2">490,758</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_SkUIuue_V0KM0cghzFjUGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_De8NAst-tkWLTHN7RdDdiQ_6_4">272,815</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_M_mTHN8f20mtGppqvA2zHA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_jbwwtkxTBEWwKH_j1Y74yQ_6_6">11,509</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_Lrkthq6fkU6FazNjFnw62g_6_8">775,082</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Income from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_Cr4qBZh4zEWoHVD16HcRsg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_ueOOaWGnv0KBhEr9YxP5eQ_7_2">141,609</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_SkUIuue_V0KM0cghzFjUGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_Jb0q0dhpoU-t6GJtnM6JXw_7_4">211,539</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_M_mTHN8f20mtGppqvA2zHA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_oNEtIPc07kOoAnx2hDeg1g_7_6">11,509</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_aYpvI48Pn0iOZ1lX6GBy9Q_7_8">364,657</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:53.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31, 2017</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSS</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Elimination</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_fmaBzUgoI0yyBzxVQ57LnQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_66D4c2N3M0y41snwBQggPA_4_2">2,850,859</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_YxLxlAPl3Ei_5rDPgZQLAA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_iip5LzOarEy9Yz-0vPabTQ_4_4">677,470</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_d6NUTosMNUeIDO0N65uVCg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" sign="-" scale="3" id="Tc_Ed19-cBykUOcT6hEuKv6VQ_4_6">137,936</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_QclJZx6VuU-CXQEU5NKV8g_4_8">3,390,393</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_fmaBzUgoI0yyBzxVQ57LnQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_--kVGIRlpkedhAKMt7ouKQ_5_2">2,390,686</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_YxLxlAPl3Ei_5rDPgZQLAA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_JRVns0UlaUyDx8QSVBujoA_5_4">473,453</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_d6NUTosMNUeIDO0N65uVCg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" sign="-" scale="3" id="Tc_NxILgZ-tFUiFR8mICFOH1Q_5_6">111,344</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_Zh9AXrBH4U2kmuTPrfnUBg_5_8">2,752,795</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_fmaBzUgoI0yyBzxVQ57LnQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_Gl48UalLEk6urhhjazRy3g_6_2">460,173</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_YxLxlAPl3Ei_5rDPgZQLAA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_-ZNL3huygk-y1e2opDtU7A_6_4">204,017</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_d6NUTosMNUeIDO0N65uVCg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" sign="-" scale="3" id="Tc_zZy94YnynkCtvTvtGnujnw_6_6">26,592</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_hXi-spM2kkCCfIQRblFoYw_6_8">637,598</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Income from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_fmaBzUgoI0yyBzxVQ57LnQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_iBQX72vBH02-Lc3rzqxhXQ_7_2">136,419</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_YxLxlAPl3Ei_5rDPgZQLAA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_jtzVXUP7vUCLEauevZCr7g_7_4">159,518</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_d6NUTosMNUeIDO0N65uVCg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_NofXsoby8UqBnQAmq6OD3Q_7_6">26,592</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_zmbBijCoyE28m6adi7GQgA_7_8">269,345</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Income from operations is estimated based on the Company&#39;s management accounts as some services are shared by two segments.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-62</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_S5tLHwV7X0CxlEH6RqYasA_1_2"></a><a id="Tc_2PJWJM6SIEqFl0XtIBLezQ_2_2"></a><a id="Tc__2Lj7RjxG0-AUb0t8Ww8eg_2_4"></a><a id="Tc_N4qTxp3yEUe_yvOxEs6u-A_2_6"></a><a id="Tc_tbGLBwevBEupPGbsSDnF8g_3_2"></a><a id="Tc_aLfoG_tEPEyGKdH-dzkgYA_3_4"></a><a id="Tc_8t5NT5YRW0OOB_0kanHnOQ_3_6"></a><a id="Tc_cN9iq5xCKkCS9KhzbHTGJQ_4_0"></a><a id="Tc_sHX3WOlzXkiv2dcFi_VAlA_5_0"></a><a id="Tc_HrCkwGaGzEuVo2aRL8FwGA_6_0"></a><a id="Tc_AdF4PrQVx0WGl-f3GMuBpg_7_0"></a><a id="Tc_zHmbDLog00qdiwdCuk15LA_8_0"></a><a id="Tc_FTE3eoPGQ0eGpjjdAXNc2A_9_0"></a><a id="Tc_apOfgFQV7kePIhp_M4Dgow_10_0"></a><a id="Tc_HfqQNz-NyEafjTpxqML_vA_11_0"></a><a id="Tc_40kekt-plUaKiIq_1fY8Vg_12_0"></a><a id="Tc__OE951sCFEOF8be5tdiKqg_14_0"></a><a id="Tc_RHhJGDjkK0GG_eRgl58U_g_15_0"></a><a id="Tc_eXVrKHTCC0WeHOUXBnHqTQ_16_0"></a><a id="Tc_KcblgQpgd0CVjWM1zZdR4w_17_0"></a><a id="Tc_6iERAFCdN0St0hWx3j06yA_18_0"></a><a id="Tc_6lDPYiAHnkKtZE4AZZDjGA_20_0"></a><a id="Tc_lBY7DcGu-kSsxWR5skn5lA_21_0"></a><a id="Tc_e3mz_bK55UyN6UUBdqqXgQ_22_0"></a><a id="Tc_hGTpgJK4eUaPwnS6Co35KA_23_0"></a><a id="Tc_ASj_REYxlE6J1utBVqy00w_24_0"></a><a id="Tc_2ouBlbFS6ESj750bT3CMgQ_25_0"></a><a id="Tc_OtD67Ym5XkuKGAoSjsbfHg_26_0"></a><a id="Tc_ei8CcAuGDkecPL9TwDMKLQ_27_0"></a><a id="Tc_RTiMn0oMDUG6mXezny9QNQ_28_0"></a><a id="Tc_4Qq8BqBHe0W0wXQxZrLqiw_30_0"></a><ix:continuation id="Tb_ppRyDlzhE0OaJtY-tZeiHg_cont2" continuedAt="Tb_ppRyDlzhE0OaJtY-tZeiHg_cont3"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">22.&#160;SEGMENT INFORMATION (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s net revenues generated from different geographic locations. The information presented below is based on the location of customers&#8217; headquarters:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" id="Tb_rKxASc6sYkWJRWULv50lpA" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Europe and other regions:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Australia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_AU_SoHhxh_NGU6yBVUnS_MUFw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_0L48f1RTwUauymCxNEFetg_5_2">48,069</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_AU_WhjPgpmcVEGkwi8ZoKfbSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_jQ5vHAKjvUCfLHjVWB6imA_5_4">232,409</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_AU_mP9RmJvqoEi_iEyijKAsww" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_CZhXcObOYEiIwaJ9Y3fQ1w_5_6">313,167</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Germany</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_DE_N6R1JQgIyUOG3tjqHgfgkQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_gSx4jaUy5kStPbbHrlaSJA_6_2">94,066</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_DE_gM0QNQwhW0aazSi2LBiFlA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_0sWTXkCAckmiMv1zO0KthQ_6_4">95,514</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_DE_pEX-6nGZtEqtHg6tTpwizQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_jhecgOrsC0a5cXZ5JzrjEA_6_6">109,119</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;South Africa</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_ZA_805HHYc7dE2OJbd-rAIfLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_YQvYVgMFYkadNXDimLQ25w_7_2">21,916</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_ZA_uUyP59nHcEyI4Cg6E3MZBA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_qB2q7maZG0mAh2pmZ0Km-A_7_4">53,739</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_ZA_EDEe0_34L0SF7rQ0Ha1HRg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_bmUZAI1-HkqyU3cm-1Bkow_7_6">93,911</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Spain</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_ES_acpMfxiQr0uEK5wDTO2jew" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_hVPjHJzzmk-TRb0NVW3lrg_8_2">13,471</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_ES_ix1-uZWpC0KehDwsV3HQGw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_rVSRcTFf4UCpw6XyJKEVLw_8_4">58,811</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_ES_tt5tG8UWyESYvceH87u3fA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_odVRxYUR4kSDYtG_iIxQug_8_6">78,228</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Netherlands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_NL_X5iF715vQUOJLEbth3zAZA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_NWElcgqfbkGHMwHtBTEJ7w_9_2">51,357</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_NL_LviJyIWt-UyI178sCn-2Cg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_VDyeO1fj6E25N5PtZZcJdg_9_4">83,475</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_NL_drdGL4vt0UixZBlgne8zNw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_PYZfAYgDH0q9mBJWgSotpg_9_6">68,770</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;United Kingdom</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_GB_sXapV1HYBE6KheFFxTkZbg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_IZD3drpaY0C-XwDCsPsRAg_10_2">48,295</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_GB_WffZC1OSBEeoB_1tRDIGjA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_qjPlNIBWFE6blvrdOEco9w_10_4">101,479</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_GB_33vlVAFBQ0uX7lJ4a9jeXA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Bu3sa0d5Pk6w1F3AG2cAKw_10_6">33,158</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Czech</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_CZ_w_0XDhCqFEervnIpumeH3w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_XQpV4hNrnUuSlJxSs4nDrQ_11_2">10,822</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_CZ_1icskwoZwUGWzVTxVLFN5A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_J6tkOln53kC8E7lWHbm8gA_11_4">17,411</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_CZ_WF9AKKMK8EquIwH4a4LDYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_L_sRX6IYmUuequET7FBBWQ_11_6">17,717</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Others</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_8uZph1D4i0-8JH1jLFU05Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_fiD-mf3unkGQY4e9LL1gWA_12_2">68,144</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_bu3oD5kEYkOOPb3yoe3diA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_1tzLCPosWEqAnrAZP6Sz0Q_12_4">55,730</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_qYwOGPrz_UCpF5Qq0SzF4Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_lqZesIihM0S-l3XMdw7JUg_12_6">66,389</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_srt_EuropeMember_tgAO1xUv6EKUG-9XVQXD_g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_U6lBz5mc3kaPj2t48Lw4og_13_2">356,140</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_srt_EuropeMember_LKX675WZ4Ee6-R9POmy13w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_8nWk2zJOK06xACwGV7z6rg_13_4">698,568</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_srt_EuropeMember_Jv9VNCoqxkqZTvkrmGVb1g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_dMvya2APsEiBgmXeZHAZyA_13_6">780,459</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">The Americas:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;United&#160;States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_US_12B3vdfbFU-6svBHY67Amg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_TTjRjoPTT0qGGNVzciMTPQ_15_2">628,815</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_US_caMAoHablECSOnmyrNHQOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_cDJbsg1e2EGnyHqL7w8AIg_15_4">999,144</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_US_vabopVan5UKJQ0_ZXkQ2AA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_BGLdMC-rkEaTi6WsQP9HNw_15_6">852,231</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Brazil</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_BR_9NFUL80BJUeYoge8NrRSxQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_pgi_IzX07kKafSxgGZ0R3Q_16_2">388,554</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_BR_d3j6JEMjLk2Snls_WCnloA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Olk4A8h2I06XK80w31F28A_16_4">339,964</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_BR_YVsDomG9TUqIcG2mSb8ICg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_v61KdAhZoEK12JLe83wZnQ_16_6">395,303</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Mexico</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_MX_9PjPnag4iEyJRdPBRzBF2Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_QWlDXvB-IUCciCzicCCzMg_17_2">5,274</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_MX_t4zlw9_wq0WNrDlpU2SgKw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_zFKQp51j1UWLG_sOAnrzMA_17_4">50,004</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_MX_cXPFmr4sHkiFAFyP4VqDBA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_TDBBINrHwE6ot3E-5U0CWw_17_6">94,446</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Others</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_5zYZtKtTIUOZcyeObpaoZw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_JbyZMh6HqkWL3UvLCWfkfw_18_2">85,519</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_Ht53i2sfnE6nv9cfRa3j6g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_vaQDhxiuMkaS_Sj9E55hjg_18_4">85,545</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_XsJ_CDavgkaSEgfCZEhfUA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Wj0oEW8PdUeTNtaluB4G1A_18_6">60,061</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_csiq_AmericaMember__GE_yzKpwUGxVu4sUCxzdQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_MJdgTxMmh0a6Z9MBzz9vog_19_2">1,108,162</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_csiq_AmericaMember_uJMI8LHFYEupnrSPxYPeoQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_izN-jj6F2UeNcd9hgaY3Dg_19_4">1,474,657</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_AmericaMember_5FGYhx7wNUGv0RVedt7KOQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Gmd5b-45nU6TtpJ5SOHWzQ_19_6">1,402,041</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Asia:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_JP_JMGL2-bOJ0-oUNuHEQh6bA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_PyWY1WOEREy_rY8yRIW6vQ_21_2">476,946</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_JP_XUUj4F2VDkuqacUoSWbQUA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_3TwUOukE40ieySvVbN-pcw_21_4">483,041</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_JP_ykEckAptt0mm-0ImnQ9y8w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_zV7Z3UOn3kGvPEoHnVqLYg_21_6">372,687</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_CN_6w-s1NPKqUWlqEQvD5m3AQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_l0f0p1MMtEyssdBM0xeKSA_22_2">874,559</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_CN_uLe4gp6Oi0yZheHzFVivAQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ueoDkdEIkkenfuwgM1-_vg_22_4">620,520</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_CN_-Ia16BaKeEKeA84eTeqCUQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_mBtSWzv39U-hHzDdc9hvmQ_22_6">317,077</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Korea</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_KR_6LcDT-MJpU-CVoZxdut2cA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_YByYhliKu0OzZhAtYt4cTw_23_2">25,244</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_KR_DPeVD3afB0KkWsgINr0Onw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ftqq5gYrqUqFRXlQz63bpg_23_4">46,697</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_KR_PIEg9t9PjE--bkBZ0G5fjw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_fd7rAGVyoU-UaskZCnLLLg_23_6">72,552</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;India</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_IN_qen0-4xKj02Fwt10wBVtcg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_TxmY36Oe4EqJf6qdsVwdcA_24_2">336,468</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_IN_9_mun8G7oEGrbTVhV691sg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_6a4kZ8MtTUmkFHhML8cG3Q_24_4">145,873</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_IN_xPRZ0oF6A02B8ZfXi7pn8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Q4YhBnVFBEijDH0EwR1tRw_24_6">70,893</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;United Arab Emirates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_AE_hmZcJO2dMUCEGNVVFjwwHA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_CB0GtBmgKE-g459tcWBU2w_25_2">91,991</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_AE_lX3UZ-F5ykie9x0OHlTJTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_FN-E5C_tZUaxiVupcoSQfA_25_4">104,467</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_AE_QQgI5Og-fEmQGwpRDfHKWg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_v8lGTEwbM06OIrfgAhVu6g_25_6">43,311</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Vietnam</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_VN_CjZbdql7cE-sMM97Y-Zyag" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_z6ADyT_fr0COn9lUYBy1nQ_26_2">462</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_VN_MQK-jVPiLk60aWKpuNOsIQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_vhNOktXBpkSMVhe409Ed_A_26_4">4,216</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_VN_wU-9NyRM_E-BkCPIiKwPCw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ddlDsCE3_kut3DNvuzMEuA_26_6">39,268</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_TH_q2bNftrmsEC-mTf22RJ2UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_bTodDtLIjEuiFrii_7al1A_27_2">4,167</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_TH_q6PAt4QPWEugXEP-Ft3JiA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_NazCGdPod0yNtvZVJCS4zg_27_4">23,511</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_TH_H8Zl3MDCsEu2zEbjCdz5QQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_YtL6mWxjgEit93luGpZZhA_27_6">12,753</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Others</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_DwQYsrPBD0Kc2WODcRZvUA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_d9r12mbGV0CSWws0WZmiyA_28_2">116,254</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_apDDsSNSE06sSz-TljVMBQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_-TkSieMfBE6BACHnEaCmFQ_28_4">142,962</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_szgko6j4vkyZa9JArkkKkg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_3aYs-7C6_k6WJc4rENfCUQ_28_6">89,542</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_srt_AsiaMember_NJE3Cf3WxUKgT2YSiUIAPw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_v4EQZ5vT8UiYDiblqzx3lA_29_2">1,926,091</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_srt_AsiaMember_MDFr8DipeU2sC74Vlyh5RQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_hwxyFffTC02hS5kgJxrJTw_29_4">1,571,287</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_srt_AsiaMember_9hYzK6aiM0uiKlmxr2_kzQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_HDGSu_cDhECxU1SZKJZ49g_29_6">1,018,083</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total net revenues</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_pugg1EziiEmVZkEx3nr7cw_30_2">3,390,393</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_xmvYIVLOH0-rVfKpI2XGsQ_30_4">3,744,512</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_0Ol4MDx6AEySCKwdlbTbgA_30_6">3,200,583</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-63</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_FThhrV5mW0yhZM7BbKDC_g_1_2"></a><a id="Tc_AJAlinyKtEOep60pnwcjYw_1_4"></a><a id="Tc_1hCAgbmVK0ywYIjl9D8NAA_2_2"></a><a id="Tc_mpnKfcja8k23tezQxxzGBA_2_4"></a><a id="Tc_g4CckFeuGEGqOWrT-aH1EQ_3_2"></a><a id="Tc_gotTq77BrECUAmqZWtPLEA_3_4"></a><a id="Tc_1tZLHN5Pt0i6t0vbdfl3Hg_4_0"></a><a id="Tc_fGlOtTIvzEyRXA5qLT_FNw_5_0"></a><a id="Tc_T_FcHW0Y60SN-Gms7Ik2Sw_6_0"></a><a id="Tc_CzTF_qFC7Ue0Ww8KPeU_Nw_7_0"></a><a id="Tc_gUpZGliVHEmDtePZF3f_Iw_8_0"></a><a id="Tc_QBKeqOFeW0ij1oN3K9QtEA_9_0"></a><a id="Tc_h5fkf8DTkkKz9FjU9G_klw_10_0"></a><a id="Tc_A2OcXuLs6UmLanA5fr0a1Q_11_0"></a><a id="Tc_wvUTIDaC2EqYQxLGU1gnww_1_2"></a><a id="Tc_MEo-wlnxb0Gw0pz4Oo169w_2_2"></a><a id="Tc_BteTHUe01k6QlI7Ww29XiQ_2_4"></a><a id="Tc_v4QfBSEZDEqDBLPYDcpZWA_2_6"></a><a id="Tc_HfamSskOwE-hAmeE0rlX_Q_3_2"></a><a id="Tc_rB-FgYMsr06aQe4dUz5-zg_3_4"></a><a id="Tc_oCGxTvaxRkesSQZsfwRaXg_3_6"></a><a id="Tc_jlJb6KBE8EOqpdbBb--WCw_4_0"></a><a id="Tc_AhWZkIGcoE-hMU_KfYdGRQ_5_0"></a><a id="Tc_6ilj5iAFlk-WoKCkuGAK-A_6_0"></a><a id="Tc_XQBVmeV1PUKWtt3aEZA5qg_7_0"></a><a id="Tc_CaT2sLktDESaFP0HBuBJsA_7_2"></a><a id="Tc_eKZfhHGSTUCOcQ5DWlTRow_8_0"></a><a id="Tc_24tIQJocc0y2KV_8rAwWDA_9_0"></a><a id="Tc_8F78YRPQ_Ui0u5wk0OXrCQ_10_0"></a><a id="Tc_LCDpiVyp-UKN-iFjfzGBXA_11_0"></a><a id="Tc_u7zbngXGaEaLHVwzlCf7NA_12_0"></a><a id="Tc_Z0W1RrFgm0O6Wfzmk0oMYQ_13_0"></a><a id="Tc_YvTL1zfQ6UmG-bjaRPw-Bw_14_0"></a><ix:continuation id="Tb_ppRyDlzhE0OaJtY-tZeiHg_cont3"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">22.&#160;SEGMENT INFORMATION (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s long-lived assets, including property, plant and equipment, non-current project assets, solar power systems, prepaid land use rights and intangible assets at December 31, 2018 and 2019 by geographic region, based on the physical location of the&#160;assets:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock" id="Tb_XVk6H_4NLUWMZHryxMrmVg" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At</b><b style="font-family:'Calibri';font-weight:bold;">&#160;</b><b style="font-weight:bold;">December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_CN_8QHe23S1wEmDHOVLkyKoDw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_c0NRU8C8lU-kIzzING2jVw_4_2">824,618</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_CN_B76wqxJKvEG44LSF0wo4fw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc__ZGZnjQRdUOGAROt4kn31Q_4_4">835,991</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_TH_CdH4jtehD0qIrFCVEVYvpg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_iiwaKayfAE6jF8PxK-JfyQ_5_2">168,280</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_TH_XYa-8aDFLkKERupC5kcUJw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_4QhLKgcRkUa1iho9GYPWDg_5_4">331,931</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Japan</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_JP_CYyjx4dYl0OJaDub1M3ftw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_83QeFBPc20m0s2ZLg3B0wQ_6_2">233,155</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_JP_OjahXlXA9kah_5sEOE1_sw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_Va7JP9dy3k-bRfO54fe2Lw_6_4">259,197</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Australia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_AU_Nm5oegU_EkiVgv7jr2CAuw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_OYqNAM_FHkeVcHNIB3A9zg_7_2">61,960</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_AU_RIqer513PkaoLhr2QRb8GQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_8SZYP9Jz9kSwaQMCueQMOA_7_4">63,143</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">United States</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_US_nuaZvVimREiHosfkFDvShQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_KWm0rl4u3UuhrV2QI1w-qw_8_2">50,052</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_US_ci8yVRiKm0SR3Ns812lcFQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_RnKmOAn740qzpVVE1AS3kw_8_4">60,177</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_CA_9QNKGZPwHk-4O0zYdd3Jdg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_Oc-o9_ML70yvmwgl4atHsQ_9_2">9,739</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_CA_Q3b3UZYpqkipqcdSRFHXwg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_J6le_vWF-k2g2Nt8bw13HQ_9_4">14,718</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Others</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_P3hRQm14QkKPIjv8WO8Lyw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc__MBxt3Lde0uya7nOa2jF1Q_10_2">24,899</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_BeLi6GE5Kkua1QXqTu8NAQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_Q8_DdxZ8fEGE65o-4Nxw8g_10_4">100,513</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total long-lived assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_Uh-0ul1krU-bAVHU5BdtkQ_11_2">1,372,703</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_4JVMknYhoki8Yo3MNmneGg_11_4">1,665,670</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s revenues generated from each product or&#160;service:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" id="Tb_rrU_nRBXw0O9BqETDb3GvQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">MSS:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Solar modules and other solar power products</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_SolarModulesAndOtherSolarPowerProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_8By5ZzvkfE6TGaiODLMwTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_WQtC2gH9IkGH0GjnPF2TYg_5_2">2,551,509</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_SolarModulesAndOtherSolarPowerProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_1efr7KS9TESwBqdLnUWc8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_GLgM45o-qE6T1kkGq9I0Rg_5_4">1,930,701</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarModulesAndOtherSolarPowerProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_DaxFhPi_L0G4ACXbyptqBQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_HQE1dUKA-EeLqdTUGnWp4A_5_6">2,055,249</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Solar system kits</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_mgGNGOEeW0WVEY00FmdVww" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_hQbICY54QUSEYLBihHn9cw_6_2">84,598</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_inRuy9zgMU2nigTwevswNA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_EN8Zg08gVk2Iqztavby7xg_6_4">93,253</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_S0_yC5ixgUCpZ6LpleB0lw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_9UCg-VnBqUmXV3deAV-mXA_6_6">116,449</ix:nonFraction></p></td></tr><tr><td style="vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">EPC services</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_EPCServiceProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_jK8Cjotp20ag5c73nNPEoQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Rg2gBKbC0kWvNrZLwYHDZw_7_4">62,408</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_EPCServiceProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_TVI-7bk6PUiQYiiW9AILEA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_nE2FuXSneEqfH5nKnYoW6Q_7_6">223,423</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">O&amp;M services</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_OAndMServicesProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_Wr03CnxDl0aEVR8LQLtaBg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_x_Qr9sIPv06nikOFPpeRLA_8_2">6,938</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_OAndMServicesProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_TALXTvTgy0W8IszHpFgmRQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_h7ICDZv9X0CbtU19IFiMLw_8_4">10,767</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_OAndMServicesProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_YYaFLG39WEudn0cpmISFqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_2Y60jVf_uUuwFzllNE2GIw_8_6">19,405</ix:nonFraction></p></td></tr><tr><td style="vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="white-space:pre-wrap;">Others  ( materials)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_OtherProductMaterialsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_JqnZklJnI0Sq1a_O9UbcSQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_aDaYLGuiyEiFpf-O7-Obfg_9_2">69,878</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_OtherProductMaterialsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_qa_qj8UtdkGC6Cnxgsbxww" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_-OoJH4U7c0qM__cso_zDxg_9_4">71,789</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_OtherProductMaterialsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_kMo41JwU_0GEjXwpPX6ehg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_L7Y6vGr8-UaZiC34e_VX3Q_9_6">66,612</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Energy:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Solar power projects</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsConstructionAndSaleMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_e8foUq8S7UmLlo8wmQmWKw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_qXBcm4X7_kCf29Nj5wnadw_11_2">632,256</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsConstructionAndSaleMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_b9UdPTWHcku8x1BMOch-rQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_1HqvQBq_w0W4F-MtiSiSQA_11_4">1,542,906</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsConstructionAndSaleMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_btHWDCifV0SU4SHlhH7mzQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_GN6zYmUSaE-WEFC7wySGkg_11_6">668,476</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Electricity </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_ElectricityIncomeMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_l08olw2opUStWzJNDnir1A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_vd7H6Ba1ike91AFQzHbOGw_12_2">29,236</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_ElectricityIncomeMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_SnS3FU17kEGCSsVbakhkhg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_YGyJfBwd7km_nssWh7arHQ_12_4">8,735</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_ElectricityIncomeMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_kUWlIl6A4Uy6KbjwFpDY2w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_yW5D75f1r0mUJ1Zp6W33TQ_12_6">5,866</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Others (EPC and development services)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_OtherProductEpcAndDevelopmentServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_WVTBv-zEEkK-i3er-mvy8g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_QiGY2cPg-UiaOSZVnaXdMg_13_2">15,978</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_OtherProductEpcAndDevelopmentServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_iAkG1oAo6UCqNLKFdrE8sg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_PfMjbJHr90C3rr5H1KHvXQ_13_4">23,953</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_OtherProductEpcAndDevelopmentServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_VQaDkqyo80uf96BSRUUidw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ssQpecR-bUW9gFronMZkVA_13_6">45,103</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total net revenues</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc__A0kK1X6OUyX8Rj-v-l2-Q_14_2">3,390,393</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Ou_VeZl74Ei8_dqb7y6d3A_14_4">3,744,512</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_KJrskBtFeEWRYGjpz3WBtA_14_6">3,200,583</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:continuation><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="Tc_GWyqmdFIyUyK6LvsztMt2g_1_2"></a><a id="Tc_yuRjVdCpr0i92Wq-OLAgFA_2_2"></a><a id="Tc_TCbTTz6hTUOOTL0stOPLUw_2_4"></a><a id="Tc_SdkG4zWJpE2F7xwVvmMEcQ_2_6"></a><a id="Tc_LVZ6HhXzVUuPA-OzL2pXOA_3_2"></a><a id="Tc_HA3_Q2JAFkCRVZUJ1Pd4Ug_3_4"></a><a id="Tc_XoA-SeSL7E63QP7hv5vGfg_3_6"></a><a id="Tc_SI_0h7jgdkqeTW8fkIcs_Q_4_0"></a><a id="Tc_wPL8aaOjdUWdm04Cx0feZA_4_2"></a><a id="Tc_LFhSrEFB60SPig6KmAbjOA_4_6"></a><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="csiq:MajorCustomersDisclosureTextBlock" id="Tb_NiG_ge4dz02irquSwPwVWQ" continuedAt="Tb_NiG_ge4dz02irquSwPwVWQ_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">23.&#160;MAJOR CUSTOMERS</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Details of customers accounting for 10% or more of total net revenues are as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" id="Tb_FjZ00NKU4kq594r0mVQZZQ" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:38.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Company A</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_MajorCustomersAxis_csiq_CompanyAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_WvHAcmeQFUqFMo8sQcW59g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_bShMUcryT0qEwjy78mXLdA_4_4">718,341</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-64</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_NiG_ge4dz02irquSwPwVWQ_cont1"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">23.&#160;MAJOR CUSTOMERS (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The accounts receivable from <ix:nonFraction unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="INF" format="ixt-sec:numwordsen" name="csiq:NumberOfCustomers" scale="0" id="Narr_Ft3hx5Pq5kmx2WhTSD9qaA"><ix:nonFraction unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="INF" format="ixt-sec:numwordsen" name="csiq:NumberOfCustomers" scale="0" id="Narr_WZ1H1v7H1UOduz0M-_WNDA">three</ix:nonFraction></ix:nonFraction> customers with the largest receivable balances represents <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_1bYGB9AGo0SbTP0BHNbItA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_IaTLNefwIkm3vp_lxyVIUg">17</ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_srt_MajorCustomersAxis_csiq_CustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_2CC3aRMbdUeLqTuW5RvP0g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_tqMl68RzvUi7L9LqHv4f6w">5</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_srt_MajorCustomersAxis_csiq_CustomerThreeMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_xBLTo-0DN0e2e2pak5UCvQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_Od1LzKosykqvejiJ9CeTGw">4</ix:nonFraction>% of the balance of the account at December 31, 2019, and <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2018_To_12_31_2018_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_LScHX-whIkaDTTjPue_FNg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_1lA3qnAXA0ecfG30NPE2_A"><ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2018_To_12_31_2018_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_LScHX-whIkaDTTjPue_FNg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_I38aCeO_wkqlbaOlzOnqFQ">12</ix:nonFraction></ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2018_To_12_31_2018_srt_MajorCustomersAxis_csiq_CustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_ouRLNsx2YE2ZYX55F6ryjw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_8MA9ZCmdXEav4KWCLmW8mg">5</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2018_To_12_31_2018_srt_MajorCustomersAxis_csiq_CustomerThreeMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_KorWr0kIjUOgBI3b-e70kA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_BYeENI_DVUmeCeyg-_T-xg">5</ix:nonFraction>% of the balance of the account at December 31, 2018, respectively. The balance from the customer with the largest receivable balance is $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_lP-g-aEimEi3Xo0Wx7M7Og" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNet" scale="3" id="Narr_D7y577YIGUurihtBgrLYhA">59,224</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_MzpFZC4xc0SsOrqWET8WEg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNet" scale="3" id="Narr_2SAuCZRhBkWQvEt8Rv7kfw">74,376</ix:nonFraction> as of December 31, 2018 and 2019, respectively.</p></ix:continuation><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock" id="Tb_VWY-QS7v9Eee2o2G1BLy5g" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">24.&#160;EMPLOYEE BENEFIT PLANS</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">Employees of the Company located in the PRC are covered by the retirement schemes defined by local practice and regulations, which are essentially defined contribution schemes. The calculation of contributions for eligible employees is based on <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent" scale="-2" id="Narr_MSwd8MDB-kmp0At3iviKdA">16</ix:nonFraction>% of the applicable payroll cost in 2019. The expense incurred by the Company to these defined contributions schemes was $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="Narr_FHwWN7tgjUe1DsvXhS_Cwg">9,412</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="Narr_ApVb9g6eI0Kr_tQgnaiJvQ">12,544</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="Narr_arBGBr9Ao0ihLoLxeDJkYg">11,738</ix:nonFraction> for the years ended December 31, 2017, 2018 and 2019, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">In addition, in 2019, the Company is required by PRC law to contribute approximately <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_qhGj9EM1EUy10PH3sclx3g" decimals="2" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" scale="-2" id="Narr_mpLARckWmEiOWtJuztuj1A">6</ix:nonFraction>-<ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_DZYOKKqhF0210mfrrrZweA" decimals="3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" scale="-2" id="Narr_ceQyAYmEYUykoJ5vShcpig">8.5</ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="2" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" scale="-2" id="Narr_hrVE6QppYkSC1DYv5yzBXQ">8</ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_qhGj9EM1EUy10PH3sclx3g" decimals="3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" scale="-2" id="Narr_7CKd_RWRYEiomP0cKLKqGg">0.5</ix:nonFraction>-<ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_DZYOKKqhF0210mfrrrZweA" decimals="3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" scale="-2" id="Narr_fEvj282DokCHYVI3zF4wJA">0.7</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_qhGj9EM1EUy10PH3sclx3g" decimals="3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" scale="-2" id="Narr_le-y6PxiyEeZumdkEu22eA">0.9</ix:nonFraction>-<ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_DZYOKKqhF0210mfrrrZweA" decimals="3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" scale="-2" id="Narr_f6ifGT4agUmRbnK8AYu1bg">2.5</ix:nonFraction>% of applicable salaries for medical insurance benefits, housing funds, unemployment and other statutory benefits, respectively. The PRC government is directly responsible for the payment of the benefits to these employees. The amounts contributed for these benefit schemes were $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAmount" scale="3" id="Narr_Q4_VHlkwDEOoeaTSw7muwA">10,447</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw" decimals="-3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAmount" scale="3" id="Narr_-5CGXLV3NUa4vb2Nxsa8_Q">11,211</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAmount" scale="3" id="Narr_1uMCX67JoEeFPfJ3GVlk4A">11,409</ix:nonFraction> for the years ended December 31, 2017, 2018 and 2019, respectively.</p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="Tb_V14ch7GR_06I5h1zopT9Nw" continuedAt="Tb_V14ch7GR_06I5h1zopT9Nw_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">25.&#160;SHARE-BASED COMPENSATION</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In March&#160;2006, the Company adopted a share incentive plan, or the Plan. The purpose of the Plan is to promote the success and enhance the value of the Company by linking the personal interests of the directors, employees and consultants to those of the shareholders and providing the directors, employees and consultants with an incentive for outstanding performance to generate superior returns to the shareholders. The Plan is also intended to motivate, attract and retain the services of the directors, employees and consultants upon whose judgment, interest and effort the successful conduct of the Company&#8217;s operations is largely dependent. In September&#160;2010, the shareholders approved an amendment to the Plan to increase the maximum number of common shares which may be issued pursuant to all awards of options, restricted shares and RSUs under the Plan to the sum of (i)&#160;<ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="As_Of_9_30_2010_u6dAuOeG_k6wsEpEP6YCrA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" scale="0" id="Narr_gA1F2s-UykWtrQ3IeBjNDg">2,330,000</ix:nonFraction> plus (ii)&#160;the sum of (a)&#160;<ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_9_1_2010_To_9_30_2010_nsm9bHVoXUa0RbC_qLiWeA" decimals="2" format="ixt:numdotdecimal" name="csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" scale="-2" id="Narr_OmVV2q_GuUCztDA7JLu0ug">1</ix:nonFraction>% of the number of outstanding common shares of the Company on the first day of each of 2007, 2008 and 2009 and (b)&#160;<ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_9_1_2010_To_9_30_2010_nsm9bHVoXUa0RbC_qLiWeA" decimals="3" format="ixt:numdotdecimal" name="csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" scale="-2" id="Narr_GNrhmVpEmE-LPs3dJo-PNQ">2.5</ix:nonFraction>% of the number of outstanding common shares of the Company outstanding on the first day of each calendar year after 2009. The Plan will expire on, and <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="INF" format="ixt-sec:numwordsen" name="csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate" scale="0" id="Narr_Wo1jtgtISkik7KAIEMudhg">no</ix:nonFraction> awards may be granted after, May&#160;8, 2021. Under the terms of the Plan, options are generally granted with an exercise price equal to the fair market value of the Company&#8217;s ordinary shares and expire <ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" format="ixt-sec:durwordsen" name="csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" id="Narr_qmwZxNO0HUS7B2SFF2f27Q">ten years</ix:nonNumeric> from the date of&#160;grant.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Options to Employees</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">During the year ended December 31, 2019, <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_3rM7nxXH6U2EnX7NCM8wPA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Narr_IAhnpME2YU2xgmgyPgRbjw">103,723</ix:nonFraction> options were exercised with a weighted average exercise price of $<ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_3rM7nxXH6U2EnX7NCM8wPA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" id="Narr_ZHRH4G2KKE2_i6S64M_oAg">8.47</ix:nonFraction>. The total intrinsic value of options exercised during the years ended December 31, 2017, 2018 and 2019 was $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_N3V72htU2Emg9we-C9dySg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" scale="3" id="Narr_4QiSx357u0KGfjsloz7CSw">605</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_QEXzSH-1-06e6Rd58cRzIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" scale="3" id="Narr_dKRl6hhIVEyQkdz91rOeoQ">256</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_3rM7nxXH6U2EnX7NCM8wPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" scale="3" id="Narr_Fvl66-Kh-0uwPwB_jSP5tw">1,422</ix:nonFraction>, respectively. As of December 31, 2019, there were <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_NGVgx_iCp0OXr3UgF2nHLw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Narr_zoQbADT1MkCz2ef4b0tq8w">120,779</ix:nonFraction> options outstanding with a weighted average exercise price of $<ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_NGVgx_iCp0OXr3UgF2nHLw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Narr__daD6Gkw90WgqO5A-dOZOw">10.97</ix:nonFraction> and weighted average remaining contract terms of <ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_3rM7nxXH6U2EnX7NCM8wPA" format="ixt-sec:durwordsen" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Narr_89ZHNx59PE-SRr9xmEaO4Q">1 year</ix:nonNumeric>. The intrinsic value of outstanding options as of December 31, 2019 was $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_NGVgx_iCp0OXr3UgF2nHLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="3" id="Narr_28JKSgq0fE6QwSEgNO5L_A">1,344</ix:nonFraction>.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-65</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">CANADIAN SOLAR&#160;INC.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS &#8212; (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">(In&#160;</b><b style="font-weight:bold;white-space:pre-wrap;">Thousands  of U.S. Dollars, unless otherwise indicated)</b></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_O1vZH3BsEUWGrQJlVyxfvw_1_4"></a><a id="Tc_yiYKSX1P1EmvYgL4b_9F0Q_2_2"></a><a id="Tc_SJSJ4L040kCtRASJ-fAeOQ_2_4"></a><a id="Tc_whuL4RniVE-JXH5fFKcP8Q_3_2"></a><a id="Tc_MBL-Lx6N9kWomXOrdmxltg_3_4"></a><a id="Tc_Fz9uTMgQHESH3C5hGqNEMg_4_4"></a><a id="Tc_Joz4DYig8EKDToTibM-XTQ_5_0"></a><a id="Tc_PGvDtBmua0qNY5hnl2ao1w_6_0"></a><a id="Tc_8bvoweDHs0G8JyiQj9jbnw_7_0"></a><a id="Tc_fbDDBfpwNUG-azSKkkXe_w_8_0"></a><a id="Tc_RQvS22SOykGXlzKxDK25xw_9_0"></a><ix:continuation id="Tb_V14ch7GR_06I5h1zopT9Nw_cont1"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">25.&#160;SHARE-BASED COMPENSATION (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">RSUs to Employees</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company granted <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_8ozFJvTZ-0yHSWTfIU_HWQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_42RQ_wd_Uke4SwNxKtf5wg">1,033,001</ix:nonFraction>, <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_SRCouWz3XEmwcxSGvcJu0A" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_v_3wDck8Q0KRSA3bqL2exg">759,702</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_7Cg7S-e4jkuIKqW94So82A">706,637</ix:nonFraction> RSUs to employees in 2017, 2018 and 2019, respectively. The RSUs entitle the holders to receive the Company&#8217;s common shares upon vesting. The RSUs were granted for free and generally vest over periods from <span style="-sec-ix-hidden:Hidden_KLLxw-9sJkO8VDGPXSoRVQ"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">one</span></span> to <ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_P61IRcsLDEeNAKDB_BdacQ" format="ixt-sec:durwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Narr_gF3YUiUmCUS2onsQcdwPdA">four years</ix:nonNumeric> based on the specific terms of the grants. The fair market value of the Company&#8217;s ordinary shares at the date of grant resulted in total compensation cost of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_doPPpFZ3-0SMtFKuRd9nBQ" decimals="-5" format="ixt:numdotdecimal" name="csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" scale="6" id="Narr_shHDDxPWO0qfl21vZI90Ug">13.3</ix:nonFraction>&#160;million, $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Ug2UAGBzzEqKX4BN1gBIYw" decimals="-5" format="ixt:numdotdecimal" name="csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" scale="6" id="Narr_nbfZSNZy7UCPf5u_oV_x8g">10.2</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_0F00mVXwd0mQUFuCsDhkpw" decimals="-5" format="ixt:numdotdecimal" name="csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" scale="6" id="Narr_9uv4iP3iw0-lfcr2qYTqlQ">12.2</ix:nonFraction>&#160;million that will be recognized ratably over the vesting period for the RSUs granted in 2017, 2018 and 2019, respectively. In the years ended December 31, 2017, 2018 and 2019, the Company recognized $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_8ozFJvTZ-0yHSWTfIU_HWQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="Narr_V12cY9NtrEqs8ZfNDqsq1g"><ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_8ozFJvTZ-0yHSWTfIU_HWQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="Narr_4ijc1ELufEe-BwaFd4Qt2g">9,314</ix:nonFraction></ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_SRCouWz3XEmwcxSGvcJu0A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="Narr_dsoqnW1IyE6eHjt5pwH6tw"><ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_SRCouWz3XEmwcxSGvcJu0A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="Narr_vDM7liQFGkG6omq1nh2UOQ">10,258</ix:nonFraction></ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="Narr_xo0VfLS0n0KH44b6SkIdaQ">10,682</ix:nonFraction> in compensation expense associated with these awards, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2019, there was $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_0F00mVXwd0mQUFuCsDhkpw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" scale="3" id="Narr_rQ1hPlmK7EiZbp2ghwmFEw">20,507</ix:nonFraction> of total unrecognized share-based compensation related to unvested RSUs, which is expected to be recognized over a weighted-average period of <ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw" format="ixt-sec:duryear" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="Narr_dKpVcMyewkaoKibgnZy_jQ">2.27</ix:nonNumeric> years.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">A summary of the RSU activity is as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" id="Tb_Nge53hvTFEmjcJwSbOEKNg" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b><b style="font-family:'Calibri';font-weight:bold;">&#160;</b><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant-Date</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Unvested at January&#160;1, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="As_Of_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Ug2UAGBzzEqKX4BN1gBIYw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" id="Tc_Jy7IPO1er0-VYvSQPkLE2g_5_2">1,781,271</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="As_Of_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Ug2UAGBzzEqKX4BN1gBIYw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_KkiMOIzK30-LR0S-thEtDw_5_4">14.18</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Tc_LKTIampofkqXinZEk-3e2g_6_2">706,637</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_2kUBsU38XUe7GRK86ufNng_6_4">18.05</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Vested</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="0" id="Tc_nqjVa6yqxUqCfrO5rmNVng_7_2">696,853</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_tXUnfnedYkKyykouF-LOfg_7_4">15.40</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" scale="0" id="Tc_XtvAPielj0ujdBYpLFAcPw_8_2">131,288</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" id="Tc_1sKPTx4Chk668fvtPBDEww_8_4">15.01</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Unvested at December&#160;31, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_0F00mVXwd0mQUFuCsDhkpw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" id="Tc_KWIa4BwaDEek-iW6w4GxOA_9_2">1,659,767</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA" contextRef="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_0F00mVXwd0mQUFuCsDhkpw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_j6aW3JMCm0K-RwZxoWEk4w_9_4">15.26</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The total fair value of RSUs vested during the years ended December 31, 2017, 2018 and 2019 was $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_8ozFJvTZ-0yHSWTfIU_HWQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" scale="3" id="Narr_hRxEqEfQ-0SdYJCPOm9fDQ">12,091</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_SRCouWz3XEmwcxSGvcJu0A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" scale="3" id="Narr_4xmIxZLdlUSmffkh8W4CTw">10,242</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" scale="3" id="Narr_Uy-tkTEX0EO1sBww5zo5ag">10,733</ix:nonFraction>, respectively.</p></ix:continuation><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:SubsequentEventsTextBlock" id="Tb_xCVjgmmxHkafuf1EHATO0g" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">26.&#160;SUBSEQUENT EVENTS</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="white-space:pre-wrap;">In the first quarter of 2020, the Company repurchased additional  </span><ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_k47ijO3OR06PZVxdHEkE2w" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" id="Narr_9SpPWj3O2Ey_Luu21eXQuQ">381,330</ix:nonFraction> shares with total costs of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_k47ijO3OR06PZVxdHEkE2w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodValue" scale="3" id="Narr_ZB80tq08vUGoA0GEqdjgDQ">5,963</ix:nonFraction><span style="white-space:pre-wrap;">.  The Company repurchased </span><ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="Duration_11_29_2019_To_4_28_2020_us-gaap_ShareRepurchaseProgramAxis_us-gaap_RepurchaseAgreementsMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_sy5gVf4_dEiZgBZmeVnTOw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" id="Narr_k-gI7v3NME2pZpOq3ShoBA">990,846</ix:nonFraction><span style="white-space:pre-wrap;"> shares in total so far under the share repurchase plan authorized by its Board Directors on December 9, 2019.  These repurchased shares have been cancelled and retired.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In early February 2020, the World Health Organization declared the outbreak of novel coronavirus, or COVID-19, a Public Health Emergency of International Concern. The outbreak of COVID-19 posed significant challenges to many aspects of the Company&#8217;s business. Global commerce generally has been negatively affected due to travel restrictions, disruptions of global shipping and logistics systems, quarantines, and other measures taken by governments. Near-term global economic growth has also been adversely impacted. The Company is taking mitigation strategies to reduce the adverse impact of COVID-19 to its business. The COVID-19 situation remains fluid and the Company will continue to monitor it closely to assess the potential impacts. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">On March 27, 2020, the U.S. President Donald Trump signed into law the &#8220;Coronavirus Aid, Relief and Economic Security (CARES) Act&#8221;. The impact of the CARES Act could be material to the Company&#8217;s business in the U.S. The Company is in the process of evaluating the impact on its operation as further IRS guidance would be issued to address these complex provisions under the CARES Act.</p></ix:nonNumeric><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'SimSun';line-height:0pt;margin:0pt;"><span style="font-family:'Times New Roman';font-size:0pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-66</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="AdditionalInformationFinancialStatementS"></a><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock" id="Tb_ygRCDgdwHkCVMzM3DsK6Fw" continuedAt="Tb_ygRCDgdwHkCVMzM3DsK6Fw_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Additional Information &#8212; Financial Statement Schedule&#160;I</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Canadian Solar&#160;Inc.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Schedule&#160;I has been provided pursuant to the requirements of Rule&#160;12-04(a) and&#160;4-08(e)(3) of Regulation&#160;S-X, which require condensed financial information as to financial position, changes in financial position and results of operations of a parent company as of the same dates and for the same periods for which audited consolidated financial statements have been presented as the restricted net assets of Canadian Solar&#160;Inc.&#8217;s consolidated and unconsolidated subsidiaries not available for distribution to Canadian Solar&#160;Inc. as of December 31, 2019 of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" scale="6" id="Narr_CL5Gqh9JhkOMohSttxny5w">497.2</ix:nonFraction> million, exceeded the <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" decimals="2" format="ixt:numdotdecimal" name="csiq:ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" scale="-2" id="Narr_WgRp0jyiDE-VbsgBfnOgsw">25</ix:nonFraction>%&#160;threshold.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The condensed financial information has been prepared using the same accounting policies as set out in the consolidated financial statements, except that the equity method has been used to account for investments in subsidiaries.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-67</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_de4b13de_f90f_4fb5_85b3_884a8452bdce"></a><a id="Tc_sUEzfKLUjEO2dggjfgqsLg_1_2"></a><a id="Tc_51XTo7qVyUi_Oum1-lKTog_1_4"></a><a id="Tc_7tCofK0NZU68C5kGO_fPsQ_2_2"></a><a id="Tc_qvE6mAY8jkimhXsrTV5bGQ_2_4"></a><a id="Tc_mOKHN6vp5ECx58dte8-qjw_3_2"></a><a id="Tc_GBr8sfOP90WaoAFtbChmUQ_4_2"></a><a id="Tc_DiXJWObO5kesnsHPhfxJow_5_0"></a><a id="Tc_bZzhv797k02gyXZT8XIkAA_6_0"></a><a id="Tc_rFoMJiZDwE6vHEAnwWxb9g_7_0"></a><a id="Tc_iIqzhpFaCEeq4m8Wy5246A_8_0"></a><a id="Tc_YTVCB4HBrE66x2bO7Ky0iA_8_2"></a><a id="Tc_roqM0EwcJEqPor84N_XBeg_9_0"></a><a id="Tc_5Isz3o6eh0q7onq5Ol2RoQ_9_4"></a><a id="Tc_IwZELtP1sk2RYRmBDvjt6Q_10_0"></a><a id="Tc_GHIubZeYHEme4fqtKBUt5g_11_0"></a><a id="Tc_MGdWzvCSQUeIDrDF5aPtyg_12_0"></a><a id="Tc_LXahkuDcE0exdzkoaKpcyA_13_0"></a><a id="Tc_pvCOKZ_4u0KIk8ZC7Mfo0g_14_0"></a><a id="Tc_dXqoTAs7LUazYhKYtVcdDw_14_2"></a><a id="Tc_UfOoS6e67UmGd6v-mrY1zA_15_0"></a><a id="Tc_GvbBzm2oEUmghH8TNuXoVA_16_0"></a><a id="Tc_tTkQFC4BR0ella0wM_aBHg_17_0"></a><a id="Tc_6l4J45vbuUmqVZ7oMm838g_18_0"></a><a id="Tc_8FEy7WZV70abvv0ZNdKk1A_19_0"></a><a id="Tc_25QJmEcchUKdgUEUV6rjZA_20_0"></a><a id="Tc__4cpG-7qvkGtleliT3_pOg_20_4"></a><a id="Tc_7wXZkykJ8UygtC415CZVhg_21_0"></a><a id="Tc_qeYMopCDBkSR-KgkhsQNSw_22_0"></a><a id="Tc_MPgpNvYSLEyZamtJydt3GA_23_0"></a><a id="Tc_kVcBcsuwSEym4KbI4bToiQ_24_0"></a><a id="Tc_ukdoeRH290uGuoQTUBXrIw_25_0"></a><a id="Tc_7t0SEnuEBkyI38QifiUvcg_26_0"></a><a id="Tc_nAtFLi8OoUCthdfewPuFfw_26_2"></a><a id="Tc_HaZiMT66vkCFzBHipuX1mg_27_0"></a><a id="Tc_sVkSyOZrK0ynsOyv5yZXZA_28_0"></a><a id="Tc_jzlUnT4Tv0qXwlIA_IzuNQ_29_0"></a><a id="Tc_GKalibGuhEqbfRu0YvXjAw_30_0"></a><a id="Tc_yZLgsFX7WUedN6DhxiiknA_31_0"></a><a id="Tc_zaUVF3nKyEu5P9L6BtI3Uw_32_0"></a><a id="Tc_BBmQ5UGkykSnp2xmySCUDw_32_2"></a><a id="Tc_EEEGtnlEn0qeVjRO7vsnlQ_33_0"></a><a id="Tc_vv1VP1-sY0aniklHqXL4bA_34_0"></a><a id="Tc_wdy07IhZk0qImC840ny2bw_35_0"></a><a id="Tc_ZWTjJ5Cp_kCjWxdpjetbDw_36_0"></a><a id="Tc_W6XJLEwiNkabNMHFtXG87w_37_0"></a><ix:continuation id="Tb_ygRCDgdwHkCVMzM3DsK6Fw_cont1" continuedAt="Tb_ygRCDgdwHkCVMzM3DsK6Fw_cont2"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FINANCIAL INFORMATION OF PARENT COMPANY</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">BALANCE SHEETS</b></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars,&#160;except </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">share</b><b style="font-family:'Calibri';font-weight:bold;">&#160;</b><b style="font-weight:bold;">data)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">ASSETS</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Current assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Cash and cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_0kkrpImrJU-dDwOm-QR9Nw_7_2">9,097</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_zsNsI2fgzEiGZ_F34vmJmA_7_4">1,362</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Restricted cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalents" scale="3" id="Tc_u8UOVx4Ou0GRG8QY43iPxA_8_4">950</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accounts receivable trade, net of allowance for doubtful accounts of $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Narr_fcI5WAU4ekWHBse-wX7jcw">3,462</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Narr_4dTu_3tTGkuX_vmJXPzLtQ">3,379</ix:nonFraction> as of December&#160;31, 2018 and 2019, respectively</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_Be1FCU_8Yk62sMDzzqkNaA_9_2">11,476</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Amounts due from subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueFromRelatedPartiesCurrent" scale="3" id="Tc_7sbCxDF3U0i-hE6S1TSkaQ_10_2">279,039</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueFromRelatedPartiesCurrent" scale="3" id="Tc_7XreFthBzEWTxuYj1_bESw_10_4">341,557</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Prepaid expenses and other current assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_R2rZec7gDEyGiuGV49gS6A_11_2">15,222</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_zy96KXHpJ0eAQDgveUuz-A_11_4">9,846</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_HPos5v9U6Uu-syIMmHN6GQ_12_2">314,834</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_p3fCUKykIk-Vr6sVJorOKQ_12_4">353,715</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Investments in subsidiaries</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="-3" format="ixt:numdotdecimal" name="csiq:InvestmentInSubsidiaries" scale="3" id="Tc_4bHRhRgn10uGoolUlP6d6w_13_2">1,154,004</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="csiq:InvestmentInSubsidiaries" scale="3" id="Tc_3X-3_pOmPECGovRCx8RN9w_13_4">1,383,935</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Investments in affiliates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="csiq:InvestmentInAffiliates" scale="3" id="Tc_G3KelM0LlUyZ1OZEPPlPrg_14_4">2,483</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Deferred tax assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_e7hcerONLkmBJRWAqPZ3KA_15_2">28,208</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_eDLhSyVAz0GGrOm_yLcdmg_15_4">23,657</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other non-current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_tGhAgAIxV023j40jYoY0sw_16_2">68,068</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_3IZ4YRdtDESch_q6lERCmw_16_4">69,070</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">TOTAL ASSETS</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_od7BtnqAfECpqZ5kPUJ7aw_17_2">1,565,114</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_6hDUGb4nzUOkowLsk8Foiw_17_4">1,832,860</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">LIABILITIES AND EQUITY</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Current liabilities:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConvertibleNotesPayableCurrent" scale="3" id="Tc_scPWPnKCwEmQzomFONJuDA_20_2">127,428</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accounts payable</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableTradeCurrent" scale="3" id="Tc_IcXgNWdb7Ue6z_lCW7Ohkg_21_2">3,903</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableTradeCurrent" scale="3" id="Tc_IhK1gy2k0Uu0HngwQg4ttw_21_4">3</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Amounts due to related parties</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueToRelatedPartiesCurrent" scale="3" id="Tc_9HmgmrciXU6yV4oKuappTw_22_2">154,765</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DueToRelatedPartiesCurrent" scale="3" id="Tc_3Et-OlvqsEWPu9MpSeDF2w_22_4">340,502</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Derivative liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeLiabilitiesCurrent" scale="3" id="Tc_5R6LL8vt70mYAPsWMYEVTg_23_2">3,879</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeLiabilitiesCurrent" scale="3" id="Tc_RqC4g_FT8kOW-wOcuTLk1Q_23_4">4,713</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="Tc_vacz1fMbXU-U-P7QfXO0kw_24_2">8,255</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="Tc_NO4BDdzMf0Wbkjo5gbpq9w_24_4">8,531</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total current liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_oAQlGrJBjEK-Kf4BEzLrqQ_25_2">298,230</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_oDFXP22PQU61SvDSJinIEw_25_4">353,749</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermNotesAndLoans" scale="3" id="Tc_IZASMGzwhkmaiHdYp6uHvw_26_4">50,000</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Deferred tax liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_awcIgGtLmUeSSd__NscHlQ_27_2">28,779</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_QTZwb_2KHUWZwdanhhjCwg_27_4">22,936</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Liability for uncertain tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilityForUncertainTaxPositionsNoncurrent" scale="3" id="Tc_s77IvWZA-EC7iysGQZv0Hg_28_2">12,633</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilityForUncertainTaxPositionsNoncurrent" scale="3" id="Tc_EdBOBlzTmEOQKFfSbIicIg_28_4">13,041</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">TOTAL LIABILITIES</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_TRVSIkwzqkmIplinTiJh1g_29_2">339,642</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_ytRNNzfH9UKcbdVQ-TszPA_29_4">439,726</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Equity:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Common shares &#8212; <span style="-sec-ix-hidden:Hidden_284MyGL-aE6ozlnSTlAw9w"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">no</span></span> par value: unlimited authorized shares, <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_uInyVVvnZUyNHHUFLGWL3g">59,180,624</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_bDDOjrrVnU-Cb3KZcsbh4A">59,371,684</ix:nonFraction> shares <span style="-sec-ix-hidden:Hidden_ffv6suZ42EGOZd8DQLEmVA"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">issued</span></span> and <span style="-sec-ix-hidden:Hidden_bDjIoFvvgEKgVvWhVd5AnA"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">outstanding</span></span> at December&#160;31, 2018 and 2019, respectively</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_5g7ni5pB5kudnMoDslh2Ig_31_2">702,931</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_bIt0YtBnHkig63dDHkee-Q_31_4">703,806</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Treasury stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValue" sign="-" scale="3" id="Tc_vOsSCbaU2kWTvjS1aVOORw_32_4">11,845</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Additional paid-in capital</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" id="Tc_Y5E_00aCnkWsn-FlbmNJXg_33_2">10,675</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" id="Tc_6ViDct59sEmYlySXce62VA_33_4">17,179</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Retained earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="Tc_th28xsMcXkeOoasIhIpsxQ_34_2">622,015</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="Tc_sxy3b7xzzUezSSNn-B1QJQ_34_4">793,601</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accumulated other comprehensive loss</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_h19JMJ_mQkWcpv2eAKgtSQ_35_2">110,149</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_5Xe6IaqXdESQJvHM_wTg1Q_35_4">109,607</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">TOTAL EQUITY</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_fhwOlelMq02jDAK5YDfcJg_36_2">1,225,472</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_q10oDFNDf0qFr-5BZ47O3w_36_4">1,393,134</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">TOTAL LIABILITIES AND EQUITY</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_IlaYbUX86EK_EjqRo0dESg_37_2">1,565,114</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_9ZPKRVbFPUWpdJZ3NtGHpA_37_4">1,832,860</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-68</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_762e5bad_0c5a_41b9_8560_a93565da30b5"></a><a id="Tc_QGNylfOK50iaF6sACPjurg_1_2"></a><a id="Tc_nYFELlR_wEGdGiKBXs-aYQ_2_2"></a><a id="Tc_Sb08jE12iE-r6xuxIyCABw_2_4"></a><a id="Tc_T9cS9O8f00CJVIc2281s5A_2_6"></a><a id="Tc_0eSiEWK7vE-SykGIUaCNKA_3_2"></a><a id="Tc_bi_iUDMP202juQtYsGK_KQ_4_0"></a><a id="Tc_iTv69HZ8QECPoImetR-EKA_5_0"></a><a id="Tc_yeXNkeKUzEeg9QI1fWoc7w_6_0"></a><a id="Tc_1ihWD2Zo_0Chwvs0T7wUHA_7_0"></a><a id="Tc_MD3qoP3Kd0WVDFr-rvRyIg_8_0"></a><a id="Tc_qbGvxuAe2ESQvQTNLgGhVw_9_0"></a><a id="Tc_H2J1bbUxu0ineKMXCPCbDA_10_0"></a><a id="Tc_ja_1Px3jjU-T2gIIfj3iLA_11_0"></a><a id="Tc_CAtBoQonbEOZY48zxYQJxg_11_6"></a><a id="Tc_IdRoQeGct0CiCLqQEuI2eg_12_0"></a><a id="Tc_5kRMDfs2hkKo0f4N8J19IA_13_0"></a><a id="Tc_LK1DrKNArEuAd9EvKs3ITQ_14_0"></a><a id="Tc_a8iYLGNdAkOriT7InFZ-lA_15_0"></a><a id="Tc_PV_UJVkL0ESMLQLx44NgMQ_16_0"></a><a id="Tc_dJFHAAWwH0SZfHL8qPOWUw_17_0"></a><a id="Tc_zJjgZMnWvUuh-ueNTUmxCg_18_0"></a><a id="Tc_KyZqIEvSU0SsUMY9e5ZQSQ_19_0"></a><a id="Tc_r33bCp_Y3UyIQrKW1BHiag_19_4"></a><a id="Tc_W8X7AnsqgkK_BOqltugSXA_20_0"></a><a id="Tc_gYcpztToQkCXRIkknK-rcw_21_0"></a><a id="Tc_hY735uoUxEep2dpmKj_fTg_22_0"></a><a id="Tc_w9pFiQ6KKkCFjnXgE4uaxA_23_0"></a><a id="Tc_mrDdgqmPCU2yFePQqh2wng_24_0"></a><a id="Tc_OOrnYObdHU-r_8mmlDCKgA_24_4"></a><a id="Tc_NowGvFmZiUiByquvQfxdMg_24_6"></a><a id="Tc_p04kjcTHz0KLDTghrGXLBA_25_0"></a><ix:continuation id="Tb_ygRCDgdwHkCVMzM3DsK6Fw_cont2" continuedAt="Tb_ygRCDgdwHkCVMzM3DsK6Fw_cont3"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FINANCIAL INFORMATION OF PARENT COMPANY</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">STATEMENTS OF OPERATIONS</b></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:30.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:30.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_6jwHMdGjIUWw0yF_nBdElg_4_2">35,011</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc__LEwbEuG5kmXT5bc1Y7_0A_4_4">86,755</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Us0pQ7SE_UG6McwKCO-8ww_4_6">4,351</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_jQBZfoz2kEyiJy0CVpy7FQ_5_2">29,542</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_0bYew4jeNUOG0117N3Zyrg_5_4">53,926</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_PF1g9kStyEaQdTFy_kRcTQ_5_6">4,188</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_iJRcfmTXHk266JtDXhhHSw_6_2">5,469</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_fmrTgIZe9U6hhoCSNN102g_6_4">32,829</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_Lc5pmIiIN0uU6CtPMod8Eg_6_6">163</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Operating expenses:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Selling expenses</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingExpense" scale="3" id="Tc_BGqXzBKm50e-T-0TSluIAQ_8_2">2,221</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingExpense" scale="3" id="Tc_1OkSjEtZiEGl7lXxsUdeqg_8_4">2,518</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingExpense" scale="3" id="Tc_56GyVNsa1UGE9MwAWki8YQ_8_6">1,727</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">General and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="Tc_peA4_Vm7zEqDRNDtOhqWhg_9_2">18,390</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="Tc_Bi76kuOQpEqsLHzS2kbLCg_9_4">18,970</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="Tc_8oBqZcgld0i-T8teTtz-rg_9_6">29,093</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Research and development expenses</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Tc_4F1sZemv5kSWrJyrFiknJQ_10_2">645</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Tc_yqNyVjmC_EyOJjFVfcm5gA_10_4">795</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Tc_aSC-Y1Bhm0uCnqUca8TSGw_10_6">462</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other operating loss, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" sign="-" scale="3" id="Tc_Fn2-VmJJCUmPweo2EES4lQ_11_2">1,173</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" sign="-" scale="3" id="Tc_iuefmv6LIUe_QdGVNfTcvw_11_4">77</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total operating expenses</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingExpenses" scale="3" id="Tc_n41W5EnXBEmPiulNHwu2Ag_12_2">22,429</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingExpenses" scale="3" id="Tc_zu8Txv7_ckWMd_D-WohpAw_12_4">22,360</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingExpenses" scale="3" id="Tc_xS3L_9O98E-tCVj539BPFQ_12_6">31,282</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Income (loss) from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_NyjY-x9FQ0Kp1Y5jCAxCyA_13_2">16,960</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_hoF_fMANcke6VRfDje2MkA_13_4">10,469</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_NgvYRJaoO0u1DUFBxwHmgw_13_6">31,119</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other income (expenses):</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_mYQf21xO2k-FVicOaT29BA_15_2">20,078</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_HRKr3v0otUWWWaQti5d4jQ_15_4">9,170</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_02KlfN7sOU6ndAcoVrSKJg_15_6">3,005</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest income</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_m3GvllVj2kaCnTq30meHSA_16_2">42,191</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_OWdCtCPJ2kqf8gGvFdrE1g_16_4">32,370</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_peGfFTkIy0GFLjN8GVkjgA_16_6">25,272</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Loss on change in fair value of derivatives, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_9TlpVFmcF02oKkfh2HHMuw_17_2">7,134</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_djzIv8BOj0ejpbzvTl1_VA_17_4">2,671</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_lq4xhOToc0uZCIdZEPK6xg_17_6">5,193</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign exchange gain (loss)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" sign="-" scale="3" id="Tc_LWSBlZ0WSUe9ASsr6TyBJg_18_2">18,110</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" scale="3" id="Tc_GOTZ4WNHXUqMD7Kcfm-wSg_18_4">22,255</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" sign="-" scale="3" id="Tc_cG6OOh8r3EmCD7RxtSzQ9Q_18_6">11,318</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Investment loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnInvestments" sign="-" scale="3" id="Tc_i6J2MbkgVkmG1oBbMGxxqQ_19_2">11,944</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnInvestments" sign="-" scale="3" id="Tc_yuA18B3prkC6reXx76H4JQ_19_6">116,879</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other income (expenses), net:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" sign="-" scale="3" id="Tc_x7o9a4m2Hku5yQZzAsaT-g_20_2">15,075</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" scale="3" id="Tc_c6woWqfyVE22MVnCVM8x8w_20_4">42,784</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" sign="-" scale="3" id="Tc_dzWmsu0ihk6PTawmcKWvsg_20_6">111,123</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Income (loss) before income taxes and equity in earnings (loss) of subsidiaries and unconsolidated investees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" sign="-" scale="3" id="Tc_ElHbnMZEkEGNXCYz8kzgOg_21_2">32,035</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" scale="3" id="Tc__m86WwQN-keocMOkv5S7uw_21_4">53,253</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" sign="-" scale="3" id="Tc_KNeNHctx-EmZqBk_9jw_2w_21_6">142,242</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Income tax (expense) benefit</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_FCsyAD-ZdEKTM4D0s0fIOQ_22_2">1,686</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_dc9pzB7VjU6rpUhOnVOcdw_22_4">12,133</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_to8rhnBMGUK25jaZgJLDVg_22_6">5,230</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Equity in earnings of subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="csiq:EquityIncomeLossFromSubsidiaries" scale="3" id="Tc_O9acUnIu1kGXBBBJQm5P1A_23_2">130,048</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="csiq:EquityIncomeLossFromSubsidiaries" scale="3" id="Tc_vprSle8g0UWSpYFvS_Lp-g_23_4">195,950</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:EquityIncomeLossFromSubsidiaries" scale="3" id="Tc_j1W4xscBsESYpuWWlB5IPQ_23_6">308,597</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Equity in loss of unconsolidated investees</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" sign="-" scale="3" id="Tc_Koym8SFU-kiGj2h92LacGA_24_2">127</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_XDDMjVthKEWRgK1GvWvKxw_25_2">99,572</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_80mXrqqX_keCvWjBz_y_fA_25_4">237,070</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_-qSr8-LYhUyHxWRqRYw7Pg_25_6">171,585</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-69</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_a02fa7f2_8361_4911_89c1_70f61ce5342f"></a><a id="Tc_Nle8RTvBHky-18Q_no3Q-g_1_2"></a><a id="Tc_aIBOqjG-20qGgcfjstwegw_2_2"></a><a id="Tc_9nUWpr4RpE6kGA1yq-OvLw_2_4"></a><a id="Tc_4jDpwbqCQkqpRqTaROl50A_2_6"></a><a id="Tc_0LGAiuZS8Uqd9FZU5v7TFQ_3_2"></a><a id="Tc_EBiXHWcHOk6vXHyyjaFFwA_4_0"></a><a id="Tc_iUp3upMlqUCwIWDPFNcO9A_5_0"></a><a id="Tc_BsYKjdhA6Uy0F_wG9fIq-Q_6_0"></a><a id="Tc_8bjkz5BK5kOhCyJ0u4bGXQ_7_0"></a><ix:continuation id="Tb_ygRCDgdwHkCVMzM3DsK6Fw_cont3" continuedAt="Tb_ygRCDgdwHkCVMzM3DsK6Fw_cont4"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FINANCIAL INFORMATION OF PARENT COMPANY</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">STATEMENTS OF COMPREHENSIVE INCOME (LOSS)</b></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.</b><b style="font-family:'Calibri';font-weight:bold;">&#160;</b><b style="font-weight:bold;">Dollars)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net income</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_jXmWB8TtQ0mr7Fc-P_z1uQ_4_2">99,572</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_03sHruCzw0imTnQWDX2D_Q_4_4">237,070</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_kLx7nSndDEO8ArSNz1hFbA_4_6">171,585</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other comprehensive income (loss) (net of tax of nil):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Foreign currency translation adjustment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_PrhijJb8XUeuN-xvp0eGwg_6_2">37,780</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_nzJK7BNkUkqHbF1dPvVzTA_6_4">56,115</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_xS7u83aJok2x0kE6VoL9tg_6_6">542</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Comprehensive income </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_zvrsm9DffkOpZiw7rGvpBw_7_2">137,352</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_dr4BNNLZbkC7VAQ7CuqIlg_7_4">180,955</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_WEmTxDL1LUKlo0Tzg8ljpA_7_6">172,127</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-70</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_27d59078_4ee9_4617_81c8_0e9d47f451ec"></a><a id="Tc_gQVm5jwMekGgeBiqF8NZYg_1_2"></a><a id="Tc_sVECJ4P_CEOU_6ZYO_QkkQ_2_2"></a><a id="Tc_yO5BgfHwQUS8j_jgbyHmQw_2_4"></a><a id="Tc_wlktl5WrykeD1WewAuQaGQ_2_6"></a><a id="Tc_t8HTZGSqUkWNXCBh-cY7BQ_3_2"></a><a id="Tc_oBdpvJfm70yKTAUAvHjbow_4_0"></a><a id="Tc_GrqfE18KNEOBl05CK764yQ_5_0"></a><a id="Tc_rbw2-tNNHEC0oy_GxtT4sA_6_0"></a><a id="Tc__Pl0L48NtEaS-0gu0uTRZQ_7_0"></a><a id="Tc_NFzy_YYOpUOnLaqBS4OJuA_8_0"></a><a id="Tc_3UhudT6rfEyeofTr6PDT8A_8_4"></a><a id="Tc_k9g70FMvaUyKrK0Xo3c4CA_9_0"></a><a id="Tc_iP6O2kmsUk2VyqSZYq1cKg_9_4"></a><a id="Tc_wVXi4AgpF0qUOlIO6BSohw_9_6"></a><a id="Tc_qhRyG2-59k6ckXp-CvNgBw_10_0"></a><a id="Tc_X95YHVRQSkSWFWROy6rBlw_11_0"></a><a id="Tc_DIIthxuyekW1LLiVMckDmw_12_0"></a><a id="Tc_Nkfmop2xq0Ke3W2b-1j9vQ_13_0"></a><a id="Tc_X-Ta7W96q0CAYhzx38Dglg_13_4"></a><a id="Tc_WiXG4lRxnk-KdPH2cftKEA_13_6"></a><a id="Tc_kNTog9mWz0CamBUMIi-lGQ_14_0"></a><a id="Tc_6MsJr_oH4Uu3YZJzxc57SQ_15_0"></a><a id="Tc_0PiSZnQ110CT-9A_mQiDAQ_16_0"></a><a id="Tc_fkkrY3dUmkukAs146Y4hEg_17_0"></a><a id="Tc_aVHr3pU2FkWC2WMQUPy3aw_18_0"></a><a id="Tc_vkK7Ntiyjkyn_opwmKmPOA_18_6"></a><a id="Tc_-BqVHSBq30KhY6okUY0OGQ_19_0"></a><a id="Tc_QhSmBZcHQ0-SD6Ao3bZs8Q_20_0"></a><a id="Tc_Og8joaOAVEqGSwjJEJYRcw_21_0"></a><a id="Tc_0Yp0I543nkeVNTr2_Ke7Fw_21_2"></a><a id="Tc_dq01xemc2E-D7bpr20wm8A_22_0"></a><a id="Tc_HdVXvfDWGU-uGvftnJrXfg_23_0"></a><a id="Tc_6IAzsLWJzkCvNiXNMyGJgQ_24_0"></a><a id="Tc_47eqdKlA8UqhLS6_cundyg_25_0"></a><a id="Tc_iVV2FdegeU6VTw3F6uIo6A_26_0"></a><a id="Tc_Nt1TipxNhk2_1t00RGYibQ_27_0"></a><a id="Tc_9wsPNzTW1USU7b2Dzqhl5w_28_0"></a><a id="Tc_lC5Ld_WMW0yFMw-89RV-Xw_29_0"></a><a id="Tc_rmz-z3PbAEGrnD9kr-rhaA_30_0"></a><a id="Tc_BG5Aq4rmFkSH_3dbtvml_w_30_2"></a><a id="Tc_POiU1dw6o06NkHU3nEXsDg_30_4"></a><a id="Tc_2_S_HqweEEiWT1GeXA6n8Q_31_0"></a><a id="Tc_d51vQIbMlkeLP0p6NMsVJA_31_4"></a><a id="Tc_qQHDSSgn_0yuDo6oYFyrXQ_31_6"></a><a id="Tc_K63Sd_Hhw0uOjxcClDihog_32_0"></a><a id="Tc_grjSxV8AYEGOjGFcsAjxnA_32_4"></a><a id="Tc_MJU8LgYb30iczUpZIRzlDg_33_0"></a><a id="Tc_yBIJNhDRHki2IsBaUKVQcw_34_0"></a><a id="Tc_2QBYEIbtYUWZ7FWcbVLwxA_34_2"></a><a id="Tc_ZOvLh5p96UGRXJ24SztvKw_35_0"></a><a id="Tc_RZEKV6oCEkKXgG-WMd_hdQ_36_0"></a><a id="Tc_DAX_Hz0NgEGLaJrH-OquhA_37_0"></a><a id="Tc_mVpl525bIEebUyjeLkOk2g_37_6"></a><a id="Tc_X2jaxh6zGEOZ0vC_fy_L8Q_38_0"></a><a id="Tc_rCDXlTuWF0OnDn48GfvG0Q_38_2"></a><a id="Tc_WJNy5USY-kyS_r-M7qnOGw_38_4"></a><a id="Tc_v92XDYGcPECfDO2j8gYMhA_39_0"></a><a id="Tc_0EpA-cp9F0q2EA8DGFeatQ_39_2"></a><a id="Tc_cX33fEzNb0-_3uUH6eRWwQ_39_4"></a><a id="Tc_bsTdT0LpxkyB7WT2S9U_2g_40_0"></a><a id="Tc_ENeByXfJzkOOSnJv8DN-xg_40_2"></a><a id="Tc_BG4qL6HmI0GEUuPC4mcqlA_40_4"></a><a id="Tc_60VpiQn82UuJd0i4znrUQg_41_0"></a><a id="Tc_DXgWALFLjEaZNq5zxn2m0A_42_0"></a><a id="Tc_5TtAvPnPNkq9y717uMvP2w_44_0"></a><a id="Tc_FGO7Hbqr3UaTrZec6ULo4Q_46_0"></a><a id="Tc_D0ZlZH9Myk2zQZmeMaJhew_48_0"></a><a id="Tc_6TzkMI9jrkicKPm3exb1iA_49_0"></a><a id="Tc_L2q9RbGWkEWBMq_p88XgCw_51_0"></a><a id="Tc_8LZ8lz4RrEu1Aw2ge7Kypw_52_0"></a><ix:continuation id="Tb_ygRCDgdwHkCVMzM3DsK6Fw_cont4"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FINANCIAL INFORMATION OF PARENT COMPANY</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">STATEMENTS OF CASH FLOWS</b></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Operating activities:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_DW3CMFWAq0S7oni3bFj_VA_5_2">99,572</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_EsXWunlFT0m5FUAk6i0zNQ_5_4">237,070</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_jQ7rXo_Z1UaH-ZzsI4efHA_5_6">171,585</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Adjustments to reconcile net income to net cash provided by (used in) operating activities:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_gYfi8GkC9UC1m1KByZD7OQ_7_2">33</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_Q1w6_66i-kCxeS69mCVwdw_7_4">21</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_F9Cpu5JBzU2_vOF9Dsi0rA_7_6">154</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Loss on disposal of subsidiaries</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainOrLossOnSaleOfStockInSubsidiary" scale="3" id="Tc_OPqXMnPuCkqpEFeugsMWkw_8_2">9,559</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainOrLossOnSaleOfStockInSubsidiary" scale="3" id="Tc_f466iAgex0eR6esSXxkdAw_8_6">116,879</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Impairment loss of investment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ImpairmentOfInvestments" scale="3" id="Tc_83Ei7fdrmUqbKOHHUSKRHw_9_2">3,686</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Loss on change in fair value of derivatives</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_Qpkxkb2vLUuqMtqHZ2evbA_10_2">7,134</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_zn6Ra9dEnEOdE-C0mxJPSg_10_4">2,671</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_LrorF2KscESCrcGB3DGoYg_10_6">5,193</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Allowance for doubtful accounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="Tc_cTym8Ctea0e6nkHTo0UY0Q_11_2">2,666</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProvisionForDoubtfulAccounts" sign="-" scale="3" id="Tc_erSPTNMbO06mvMDfQEPUxQ_11_4">212</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProvisionForDoubtfulAccounts" sign="-" scale="3" id="Tc_Q8Og0_hf2ke8sefeEaPyeQ_11_6">83</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Equity in earnings of subsidiaries</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="csiq:EquityIncomeLossFromSubsidiaries" scale="3" id="Tc_NPo7RkeeS0WR-VLnuQfopQ_12_2">130,048</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="csiq:EquityIncomeLossFromSubsidiaries" scale="3" id="Tc_nlLvyp3s1EKUtfeKIVpESw_12_4">195,950</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:EquityIncomeLossFromSubsidiaries" scale="3" id="Tc_juku8EKwgE-QxGlbyTVJng_12_6">308,597</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Equity in loss of unconsolidated investees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" sign="-" scale="3" id="Tc_AjanSDuVk0qVGhcY90EdtQ_13_2">127</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Share-based compensation</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc__55UAK5YoUuLSc7TZW8MwA_14_2">9,314</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_KUoRzA150kiNUYVt38cVIA_14_4">10,259</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_C_yJ4WoGpkuEK7d35UTxPw_14_6">10,682</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Changes in operating assets and liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Accounts receivable trade</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="Tc_zROvGSQ9rU-Qr8dKmLaeMw_16_2">6,739</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="Tc_xask52K660ao90tkMxpPPA_16_4">5,089</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" sign="-" scale="3" id="Tc_9-19XeIZ6ESlsy5Ud2HwCg_16_6">11,563</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Amounts due from subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent" sign="-" scale="3" id="Tc_YZ4DgLlRHEmp3Z9BT6cukg_17_2">57,539</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent" scale="3" id="Tc_V6lvyfWX6kyGsecDHkbxsA_17_4">184,755</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent" scale="3" id="Tc_Ilq_tcKZZk--7-kg6DFArw_17_6">43,630</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Advances to suppliers</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInAdvanceToSuppliers" scale="3" id="Tc_pBUN3puclUuyI0dqIRVFzw_18_2">60</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInAdvanceToSuppliers" sign="-" scale="3" id="Tc_IIn07s2Vxk-deUaLrFFnUQ_18_4">60</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="Tc_HgIVZjyrD0iFlzVl48yeIA_19_2">5,715</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="Tc_jNUV4pV5vkyF3f5wuqeeIw_19_4">2,749</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" sign="-" scale="3" id="Tc_OQ7I-perjkmpfX5-83WUIA_19_6">5,449</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Other non-current assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" sign="-" scale="3" id="Tc_lhAfdxEBPkOtGtBrAapPtg_20_2">1,016</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" scale="3" id="Tc_OJVseJ1KK0C6lDs3r_2lBw_20_4">149</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" scale="3" id="Tc_PzEFy87Wa0-AqmKBQ3mLng_20_6">1,158</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayableTrade" scale="3" id="Tc_a6bX7YpxKUeeVV_kzq066g_21_4">3,900</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayableTrade" sign="-" scale="3" id="Tc_nQwo5aBnU0OajCzCJ5_AGQ_21_6">3,900</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Amounts due to related parties</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent" scale="3" id="Tc_R8vmuBHFFEmXphGw6SFKiw_22_2">55,399</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent" scale="3" id="Tc_4sckkRxlSkyh2Ib6O2oc5g_22_4">15,598</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent" scale="3" id="Tc_L2EMBmpdR0KuYEg1whJe8A_22_6">183,675</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Other liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" scale="3" id="Tc_Wh3FwYnXTUmVtj9od-BWqw_23_2">22,436</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" sign="-" scale="3" id="Tc_OniU3C93c0WBivEGpCXQzQ_23_4">25,958</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" scale="3" id="Tc_vLrkRYCUqUKB3pXsND8qOQ_23_6">1,193</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Liability for uncertain tax positions</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" scale="3" id="Tc_hFx1A98VrkqURWC9AOgJWQ_24_2">833</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" scale="3" id="Tc_xYioOieZ7k2QnDsKMUtk-w_24_4">6,008</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" scale="3" id="Tc_MdGdsuG1WkSEbBJ0UuaUEw_24_6">408</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Deferred taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" scale="3" id="Tc_S5KaDh-QQ0yo5n3NUCkTJw_25_2">6,106</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" sign="-" scale="3" id="Tc_6NW5YG3TSEqLvXbd4dzf0g_25_4">9,230</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" scale="3" id="Tc_AR4kpCdBYUu1d4gdK1-RKQ_25_6">1,292</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Net settlement of derivatives</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" scale="3" id="Tc__22GbMlKU0i6Hf6C_d_njQ_26_2">6,358</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" sign="-" scale="3" id="Tc_WL2iseWFek6DwkQoxLdFuQ_26_4">21,450</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" scale="3" id="Tc_6Y56cGf0PESpziZSj4o6ew_26_6">11,125</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Net cash provided by (used in) operating activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="Tc_7a8hxkpYeUyer1AysURawQ_27_2">114,288</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" sign="-" scale="3" id="Tc_qE4Di0slVk-mj6NxTQLdPw_27_4">108,595</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="Tc_zmmRWyqSnU6NZfJks29sCA_27_6">136,996</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Investing activities:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Investments in subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireSubsidiaries" scale="3" id="Tc_d3o55X2rXEWkZZOVTj4bqw_29_2">64,185</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireSubsidiaries" scale="3" id="Tc_qorrQBn6zUqXAOIQjWpEqg_29_4">1,051</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireSubsidiaries" scale="3" id="Tc_CvHQdU-_j0GcM1L9tOJhyw_29_6">36,146</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Investments in affiliates</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireAffiliates" scale="3" id="Tc_ZekvzJHFxkOGZZxph6DXSA_30_6">2,483</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Proceeds from disposal of subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" scale="3" id="Tc_XHy2E4Y2FUutzyOHTAVIpQ_31_2">61,749</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Purchase of property, plant and equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="Tc_Ja04Pt6v90irau7kooFofg_32_2">26</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" sign="-" scale="3" id="Tc_AG6qv_iC90Gr3os4SJJS5Q_32_6">1</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Funding of loans to subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsForProceedsFromLoansToSubsidiaries" scale="3" id="Tc_NtrOI3MEjUin_vit9K2bXw_33_2">74,458</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsForProceedsFromLoansToSubsidiaries" scale="3" id="Tc_ZmHJhDtqJUyW8e_5X0mPGA_33_4">94,000</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsForProceedsFromLoansToSubsidiaries" scale="3" id="Tc_6sJr31UIm0-YUMXOS_y62w_33_6">40,601</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Repayment of loans from subsidiaries </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentOfNotesReceivableFromRelatedParties" scale="3" id="Tc_L3fUU6zM0EOrFV7DZJ0DZA_34_4">375,635</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentOfNotesReceivableFromRelatedParties" scale="3" id="Tc_jyafqGJihU6Gu42ph5pSeQ_34_6">12,809</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Net cash provided by (used in) investing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_4Zm0kdXa5k21WWGnvyR-Rw_35_2">76,920</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" id="Tc_bMHzgXios0y-eUhLTgdnWQ_35_4">280,584</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_C0t33PICSEq72h5qZtA8sw_35_6">66,420</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Financing activities:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Repayment of short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfNotesPayable" scale="3" id="Tc__HP29XeudUeoOAUo2zqc0A_37_2">49,000</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfNotesPayable" scale="3" id="Tc_ebXPmIvgjk-7-ZvZ0mcfbA_37_4">151,000</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Proceeds from long-term borrowings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromRepaymentsOfNotesPayable" scale="3" id="Tc_DHUKaULUsEWN4AnADvJx_g_38_6">50,000</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Repayment of convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfConvertibleDebt" scale="3" id="Tc_RSq14L7UO0aIvTZHi6qC1g_39_6">127,500</ix:nonFraction>)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Payments for repurchase of treasury stock</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsForRepurchaseOfConvertiblePreferredStock" scale="3" id="Tc_x1MeE5lTz0GJ19PEgzm91w_40_6">11,845</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Proceeds from exercise of stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="Tc_jp3XS3pKy0uj7wqTXUt4EA_41_2">879</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="Tc_bm6aCiXAmEKokZnI6TaiPQ_41_4">769</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="Tc_DPG_T_QIk0eqKk6rfG4hZQ_41_6">875</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Net cash used in financing activities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" sign="-" scale="3" id="Tc_YWdRphvmhkSXWZJj8OoH_g_42_2">48,121</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" sign="-" scale="3" id="Tc_gFVSS2m1EUSpCySLBfjx2g_42_4">150,231</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" sign="-" scale="3" id="Tc_8bUVx01o1EWsK9USrPvoAw_42_6">88,470</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Effect of exchange rate changes</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_bTK60zrOE0el5l_3ftl9zA_44_2">6,362</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" sign="-" scale="3" id="Tc_TP4dSuXIBkWHiypvWnAeSw_44_4">29,618</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_8WEdQUvt9kWA0o9RPa2ssw_44_6">11,110</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Net decrease in cash and cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" sign="-" scale="3" id="Tc_5Nhxxzg0EUy1Q0j1CqNO9w_46_2">4,391</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" sign="-" scale="3" id="Tc_wSi11rF8OkaIauk0F3uvaw_46_4">7,860</ix:nonFraction>)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" sign="-" scale="3" id="Tc_6PWVQ4Bhg06T1iaQIpEgZA_46_6">6,784</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Cash and cash equivalents at the beginning of the year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2016_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_ync2vpL9vkSdVFl3lols6w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_i4VxLa3IlUOqtMx4A_U5zA_48_2">21,348</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_dFnmrWqd-UqgDn0vonqWDw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_0zznISlQj0OuitOMOUCijw_48_4">16,957</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_anhcZOjNyUeKAasEpUA9_g_48_6">9,097</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Cash and cash equivalents at the end of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_dFnmrWqd-UqgDn0vonqWDw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_WaCU2kwRS0GiQUR2lXUhHQ_49_2">16,957</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_XPjat1Jut0SwYxJ-ndDz8Q_49_4">9,097</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_zzTTcbHAJUeU_7Mpf-yGIA_49_6">2,313</ix:nonFraction></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Supplemental disclosure of cash flow information:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Interest paid (net of amounts capitalized)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_iAIAyw0wIkCpy9L5RcSAJQ_52_2">18,375</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_AhNqiF5tP0mwwnelmsqzvQ_52_4">10,154</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q" contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_N_TD1hjLakuFzlV9WgZ3OQ_52_6">4,644</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:continuation><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-71</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_b2202771_343e_4776_83d3_b367a5ea56b2"></a><a id="Tc_CfVutCvr20-w-sxuzrZefA_1_2"></a><a id="Tc_GQfYN81vXUKJVgTRXoRGXg_1_4"></a><a id="Tc_OA6mYd7VHE6FCF5IRONRvw_2_2"></a><a id="Tc_28eNHw6n1kaEalNlC-Cmvg_2_4"></a><a id="Tc_k21R_hEjiESyaRM0QUBkOQ_3_0"></a><a id="Tc_qdUYCclvFEKRgxhFDwTxhg_3_2"></a><a id="Tc_DK_Kz1223UWuY7xEKD-J6A_3_4"></a><a id="Tc_X9QixqWWS0-FhtZzoVEjwA_3_6"></a><a id="Tc_8Zr8HxRFbk-4IE-xuK8cmg_4_0"></a><a id="Tc_KVPuDDhJMEaBWX2nGgl8oQ_4_2"></a><a id="Tc_Q0qNSgeFY0aEyqnUPgj3iQ_4_5"></a><a id="Tc_amBb11yfVEKDksmXQV5n_Q_4_6"></a><a id="Tc_Q3KDqdjeNEOuz1SUvwxmtA_5_2"></a><a id="Tc_BR_h38DOhUekFObraDVj_w_6_0"></a><a id="Tc_8E0P6kOx50ORMjWeUxgd2w_6_2"></a><a id="Tc_dNMeGZa0xUCfPL2pvDnBSg_6_5"></a><a id="Tc_lzTXh88JXkeT0wM0qVmYYg_6_6"></a><a id="Tc_mfkP0IOsRkeSkE78wUROJg_7_2"></a><a id="Tc_v7AW9dCGkkW-wFKhrXCt1A_8_0"></a><a id="Tc_ynhWqiQkY0aNcPzRHeQ2ew_8_2"></a><a id="Tc_yBJdX5wZe0CF_Xlx0bHdiQ_8_5"></a><a id="Tc_F50JZMkQQ0awuzMUYAGDpw_8_6"></a><a id="Tc_UHkrbEksPkOQjwcx_1M5BA_9_2"></a><a id="Tc__2zB-RkjCkuoQjFSS5LQkg_10_0"></a><a id="Tc_M0h5IRaJski_Lm0MHbhpQA_10_2"></a><a id="Tc_lVxU1UuxK0C82C80g1TgTw_10_5"></a><a id="Tc_uyeZAN4ziEOBnoWZ2SwMjQ_10_6"></a><a id="Tc_Piuf9EMVHkOg8JwwVRzADw_11_2"></a><a id="Tc_9eoDg_b_QE6TCQwFntzdvw_11_6"></a><a id="Tc_N0C9_AbmF0a2SOn5dX1kuw_12_0"></a><a id="Tc_H2SZa-YMTkO_CHBKBTA9WQ_12_2"></a><a id="Tc_Xbusp9UwBECXVGB9YTDesg_12_5"></a><a id="Tc_LV7Vcvg3ikC_uJDL3HBNtw_12_6"></a><a id="Tc_jMYxQq-6AkG7oLAVcuD00g_13_2"></a><a id="Tc_xvgmuP5kkEqEuYYQ63Au_Q_14_0"></a><a id="Tc_zvs1WqYZ-0KZQGA5ab7UEg_14_2"></a><a id="Tc_xSpBQf9C60GkQLt6IDKu6A_14_5"></a><a id="Tc_CYiIuIntSkqPSz2nYImqZg_14_6"></a><a id="Tc_4_GiDuqVN0i18iEH2HYBiA_15_2"></a><a id="Tc_5Rd4IXdbBkir6FOVYwrrZg_16_0"></a><a id="Tc_LlIfkAJGlUOyASj1SB7EKQ_16_2"></a><a id="Tc_Rgj07kA42kawIVMK7_3uFg_16_5"></a><a id="Tc_kEL9BK5IY0OTPmnjz7-vQg_16_6"></a><a id="Tc_n-PNuLZNNUqEGHKaWogiAw_17_2"></a><a id="Tc_n1530oBnbkSkWRsBe2TaFA_18_0"></a><a id="Tc_KXGDEQXkLkeIPZpE2fHpOQ_18_2"></a><a id="Tc_WqxKjTGVtk-6fM1Xom_yXg_18_5"></a><a id="Tc_EKVVWhJJeEiRM_OtCL4wwA_18_6"></a><a id="Tc_q2a0FoCSNkmJ1T-y1BcTRQ_19_2"></a><a id="Tc_nY3m30DadkGsPbXrZ5ozgQ_20_0"></a><a id="Tc_vLQ0FJO4SUmmZRlQmXPWiA_20_2"></a><a id="Tc_NVa0qqvr5E-OfRq-r3k0sA_20_5"></a><a id="Tc_QncmqznwvEyzS2OfP0NPXQ_20_6"></a><a id="Tc_WN_4ttDUPkeQg02ArUoGkw_21_2"></a><a id="Tc_xovHB-u3Gka29a6PQO7l0w_22_0"></a><a id="Tc__PqnEliFdUG8QNMI7QShzQ_22_2"></a><a id="Tc_pZbhUYJWxEGzwMz0YysBjQ_22_5"></a><a id="Tc_yxI3lzgIhkCVXGYL-4unow_22_6"></a><a id="Tc_OM8mtdZ-kUik7hR-SS4BJQ_23_2"></a><a id="Tc_z5YDKQT9eUuZs7B-qDbt5A_24_0"></a><a id="Tc_A7Bvu6l0JUu8etMNfLCCLA_24_2"></a><a id="Tc_AUMICo-_5kmc-VvJIVclZA_24_5"></a><a id="Tc_1PvkwJzU5Ue6w6SfFKvTCA_24_6"></a><a id="Tc_mJuCrNdJdUCV7wrHSZpH_w_25_2"></a><a id="Tc_Vu0PrUavgEy9dTsm04eVQw_26_0"></a><a id="Tc_qS468jVTHUea_stLDimYSw_26_2"></a><a id="Tc_j3JUWkCuhkyn2pa4Uij6lg_26_5"></a><a id="Tc_aUed9Y-_rUqMc00utwupFQ_26_6"></a><a id="Tc_9vlRXuS9HE-Vulp5tywUaQ_27_2"></a><a id="Tc_CFbtJPDYpEqevxZ44oVRgw_28_0"></a><a id="Tc_PCggakg6AUKOCh1sa1ykag_28_2"></a><a id="Tc_WbP0UscwwkukTIHGKGC1qQ_28_5"></a><a id="Tc_Ase1Uh7NBkWAiFXzO6ISew_28_6"></a><a id="Tc_f3qhNRr0iUidurcTJoTUPQ_29_2"></a><a id="Tc_rWYhRJ4Gu0m0hk9ebmRZ9w_30_0"></a><a id="Tc_uhdrsgvWUEq34WpuR_nktg_30_2"></a><a id="Tc_e2cmNSFaCkS0qX-vz2lxlQ_30_5"></a><a id="Tc_txpttMlgYEGxpJZIZugQ8g_30_6"></a><a id="Tc_upzv8UBmC0KjHmcMne8IyA_31_2"></a><a id="Tc_TEEnic9mDU-APczxR6MUVg_32_0"></a><a id="Tc_qUQJUnr2yUKpxRDpuXw_PA_32_2"></a><a id="Tc_HXDZn8JFbUqVTaN23QLj9g_32_5"></a><a id="Tc_DHWyq4XDYEOTiLUpG-USxg_32_6"></a><a id="Tc_thrPF8eK2UysRbW_k-lPxg_33_2"></a><a id="Tc_eCFuNun_JUiVhprG1AHc1g_34_0"></a><a id="Tc_5Y9PVvu1nUGjlgzWX1s8Zg_34_2"></a><a id="Tc_4saZD-qQbk-4lawMrBvPMQ_34_5"></a><a id="Tc_nXJXMKZj_kybuocAR5vl1A_34_6"></a><a id="Tc_kzhlgl6KCE23-MFpQJ2osQ_35_2"></a><a id="Tc_klizFgTyw0e7fik4Td31Xw_36_0"></a><a id="Tc_LNM_m2tItkuAOXmMeJDqvQ_36_2"></a><a id="Tc_79mA1MXbyUut3SHuHg7m7Q_36_5"></a><a id="Tc_4voF92wKF0-xGUhH6ectWQ_36_6"></a><a id="Tc_zvAyGMh-x0uybObQVGrRtg_37_2"></a><a id="Tc_WFOi4OF0fk2g1MPxFT8YGA_38_0"></a><a id="Tc_ptoFKmBRwUiW0c9hfhld0Q_38_2"></a><a id="Tc_nKANbZ2Hv02hRsxmoYsslA_38_5"></a><a id="Tc_mzQeqBc9vkGJHIMaqBRvpA_38_6"></a><a id="Tc_yyTxWJzEM0SXGiOuMLsrwA_39_2"></a><a id="Tc_EnYwS3K1XkKW5WWrzCY79g_40_0"></a><a id="Tc_ZXRqaLpOJkudqHQKbwUMPA_40_2"></a><a id="Tc_EVqETxrnlkqC6ja6aPJdiA_40_5"></a><a id="Tc_87gvEMb500SIvyhChjKOtQ_40_6"></a><a id="Tc_P-KJ3434ok6HlpUbD06UGg_41_2"></a><a id="Tc_vBD_sFfZ702RKfKz_ueu-A_42_0"></a><a id="Tc_cYtRoA-Aa0KCDTdFohOK0A_42_2"></a><a id="Tc_EE7o0eVtN0avO3KfL4iuMg_42_5"></a><a id="Tc_9Rj3YNLgj02G9RYNFULZrg_42_6"></a><a id="Tc_cm9Fu7tIw0-Cfh9l8a2LbQ_43_2"></a><a id="Tc_IQbp6d44TUOXvht9MUynUg_44_0"></a><a id="Tc_cqBAy3uT5Uud8JtIr6Pg8A_44_2"></a><a id="Tc_XZc6a6WsBUWZYkvhapqckw_44_5"></a><a id="Tc_MaPOoqWjXkiUgc0zGLBSVQ_44_6"></a><a id="Tc_uulslV2G6Uq_mE3kCMHG_A_45_2"></a><a id="Tc_17uZNhHvs0GiM7RmKV0a1A_46_0"></a><a id="Tc_PxfCHTxp9ECi6yXgaBKfUA_46_2"></a><a id="Tc_QfqdyOFhbEGxpEH7MzjJ3Q_46_5"></a><a id="Tc_2HIehYXEPEexWY4ZRS32gw_46_6"></a><a id="Tc_LYJDdRGgHkCZjILB9KwXMA_47_2"></a><a id="Tc_binYLf3NvUeVQ-jB0g53UA_48_0"></a><a id="Tc_JCZ0YwBE9kqS4dhge9uDPw_48_2"></a><a id="Tc_2lIGYBrf8ESD1wbl2KwCuQ_48_5"></a><a id="Tc_M-DaAQfrsUmsDT-pEkTfrg_48_6"></a><a id="Tc_A45-mDlEjU6Pc9m95C2BFQ_49_2"></a><a id="Tc_bm0A6svnlEe88VNuafHlgw_50_0"></a><a id="Tc_zm1T4kqwakmZ3dGtWOrlmQ_50_2"></a><a id="Tc_He77gPbEFE6fR5KXvoM8FQ_50_5"></a><a id="Tc_cmRId0EuHESymKYNRbyNzg_50_6"></a><a id="Tc_stK9Mm7jDkOblq_GLn1T2w_51_2"></a><a id="Tc_BHhhaPYCX0-4WjqVDfZYmQ_52_0"></a><a id="Tc_HZu-0Izq8kqslBPSjpMhPQ_52_2"></a><a id="Tc_bS05wm_uDUuFGY6ejYOqUw_52_5"></a><a id="Tc_b3-27xhPy06UlNZcor73qA_52_6"></a><a id="Tc_WGxhZZRP4U2muSAOhtiQ2g_53_2"></a><a id="Tc_B9c5vRTKN0uTZrr16TzQmg_54_0"></a><a id="Tc_m0sMwiw7ZEOi4Z5vqSmb3Q_54_2"></a><a id="Tc_FRzV4q1UPkGO9VV663dPoQ_54_5"></a><a id="Tc_IYJsjI4l9kmD7wCUkFd5Aw_54_6"></a><a id="Tc_OSz5F3ef7k64Xra9rRcfGA_55_2"></a><a id="Tc_zX1aQoSXOkOve_y5Fyt1PQ_56_0"></a><a id="Tc_XGyAezpadESUmHrnC6B2tQ_56_2"></a><a id="Tc_Bg108Q307Ea9vQfAgme1LA_56_5"></a><a id="Tc_9IytiEGg5E61_YINexoWjg_56_6"></a><a id="Tc_KDoHPXmDTEOKt7Ka4FIa3g_57_2"></a><a id="Tc_PRQulzHVOU-2jADT1YSxXg_58_0"></a><a id="Tc_AerlMb4WKkaYvXZMSKIiMA_58_2"></a><a id="Tc_sPddDmN-NEuIyz_jprWE1w_58_5"></a><a id="Tc_bizN2VeOd0eZITn5Tggfuw_58_6"></a><a id="Tc_2Y4TenGOVkixjiZ9QgsZqw_59_2"></a><a id="Tc_qpEqPgEdOE6xUoriUV9QLQ_60_0"></a><a id="Tc_TwrR86xuKE-TsI9B9DLefg_60_2"></a><a id="Tc_mwCSIVstVkSNzZZgooOz2w_60_5"></a><a id="Tc_aCLx_-AB20S2spsQmjWC-g_60_6"></a><a id="Tc_lQJVDyh9b0qPVjHntKaSIg_61_2"></a><a id="Tc_nySBSFSWh0GTV9JwXg3VEQ_62_0"></a><a id="Tc_zOhjtgXyNU6Zi2rC0m8D9A_62_2"></a><a id="Tc_9A6oylxBFkWWMDoooEtb8A_62_5"></a><a id="Tc_7k8xv7haS0m68ijNg4Oabw_62_6"></a><a id="Tc_vnrv5xmHtEGY0zpRDHNcqg_63_2"></a><a id="Tc_HxW0m0fKYEeQNTm6f5Cu-A_64_0"></a><a id="Tc_YBCiVgpLEkqSw0yBSbaqHg_64_2"></a><a id="Tc_Q9MHMMgvM0Ois-Aftk6dOQ_64_5"></a><a id="Tc_P6t9XyRXdEuCtLGwYeyNPg_64_6"></a><a id="Tc_penMQSSwnUCvurVu8c-jzA_65_2"></a><a id="Tc_KaGQ4CKeYk6MaIRcwkc9Vg_66_0"></a><a id="Tc_GrtJ5AOkjEC5ABZZzAKrZA_66_2"></a><a id="Tc_uWWBmF2260aSs8dwDdmVPw_66_5"></a><a id="Tc_LhE_mhbFj0qvGf_UsNYBoQ_66_6"></a><a id="Tc_5jF00MpZEkael20HoViLjw_67_2"></a><a id="Tc_lwFZS81PuE6VTpzEX3TK9w_68_0"></a><a id="Tc_pgoleUUQ6k21VhkcgpZNng_68_2"></a><a id="Tc_8sq4AbNfoki2Hv6TnrBNaw_68_5"></a><a id="Tc_4oUx18Wp5kG00PQPu8400w_68_6"></a><a id="Tc_LVxfZJqL2kyqEJ3Mh6iRDQ_69_2"></a><a id="Tc_KXiz6hfcXEe8Ld3h6dAHzw_70_0"></a><a id="Tc_e-Onc9bCDEa-4qXnbrdggg_70_2"></a><a id="Tc_yZpZTzs_GEGNmh0fhA12og_70_5"></a><a id="Tc_mcCHeXYl40Kh6VXtnXTtZQ_70_6"></a><ix:nonNumeric contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ" name="us-gaap:InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock" id="Tb_mvwmD7yos0yptLZyYIY0_g" continuedAt="Tb_mvwmD7yos0yptLZyYIY0_g_cont1" escape="true"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Appendix 1</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Major Subsidiaries of CSI </b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table sets forth information concerning CSI&#8217;s major subsidiaries: </p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:18pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:31.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Place&#160;and</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Attributable</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Equity</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:45.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"><b style="font-weight:bold;">Subsidiary </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">of&#160;Incorporation</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Interest&#160;Held</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Principal&#160;Activity</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">CSI Solartronics (Changshu)&#160;Co.,&#160;Ltd.&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CSISolartronicsChangshuCoLtdMember_X2daspvchECaB7VCla1Psw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_bswVuNfUEkWtFZBM158cpw_4_4">100</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Developing solar power project</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">November&#160;23, 2001</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">CSI Solar Technologies&#160;Inc.&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CSISolarTechnologiesIncMember_eXrqcEc30Ei0qALz2vCLvw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_rBVaZqm0kkOX9PP2LBdvGg_6_4">100</ix:nonFraction></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Sales and marketing of solar products</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">August&#160;8, 2003</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">CSI New Energy Holding Co., Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiNewEnergyHoldingCo.LtdMember_f3BBwSBlQk-aYL2vlJi5jg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_vkiaF0IC1USgWU5xBvjvhA_8_4">100</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Investment holding</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">January&#160;7, 2005</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Manufacturing (Luoyang)&#160;Inc.&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingLuoyangIncMember_IjALAkJg8kS0WYjYxymI7g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_RIdtD6cFVkmuwzisXBUdYQ_10_4">100</ix:nonFraction></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Manufacture of solar modules,</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">February&#160;24, 2006</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">ingots and wafers</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Manufacturing (Changshu)&#160;Inc.&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_l7hJjXGwS0S7CHhnXKSXyw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_1ZXdG6fxaE-BMCgZv6VTwQ_12_4">100</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Production of solar modules</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">August&#160;1, 2006</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">CSI Cells&#160;Co.,&#160;Ltd.&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiCellsCo.Ltd.Member_pgGVNg8lp0Sh7U7fWsyv2g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_AsHI0vdid0uyfiROdZsjdA_14_4">100</ix:nonFraction></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Manufacture of solar cells</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">August&#160;23, 2006</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar (USA)&#160;Inc.&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">USA</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_50dtds0o1U2PfBa7Ju7KIQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_x2AssO4g3UKmFbFPNW4i5w_16_4">100</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">June&#160;8, 2007</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Japan K.K.&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Japan</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_E7s0enECwEm_SyoeRl196w" decimals="4" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_MkY8C3DO-EK2V_iFeH6lxg_18_4">100</ix:nonFraction></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">June&#160;21, 2009</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Solutions&#160;Inc.&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canada</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_R65hiqi-BkGyArimZFj6kQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_mkI0NQtFAE6Zu4KUSs--rQ_20_4">100</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Developing solar power project and manufacture of solar modules</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">June&#160;22, 2009</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">CSI Solar Power Group Co., Ltd. (formerly named/known as &quot;CSI Solar Power (China)&#160;Inc.&quot;)&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiSolarPowerChinaInc.Member_2XOncCEazUK4vS1Ijo1FPQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_lrMCigBMOkKaiTYmFiJ0OA_22_4">100</ix:nonFraction></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Investment holding and trading</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">July&#160;7, 2009</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar EMEA&#160;GmbH</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Germany</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_VgVpP6IgvEeJJ8yXETQkfQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_gBis_JObsUapaX86lvMKrg_24_4">100</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">August&#160;21, 2009</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar (Australia) Pty&#160;Limited</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Australia</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarAustraliaPtyLtdMember_IQaKtyiZxkG7qi3SJvyDIA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc__8FSh-itOEOjOuSkC2dnWA_26_4">100</ix:nonFraction></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Developing solar power project</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">February&#160;3, 2011</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar International Limited</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Hong Kong</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarInternationalProjectHoldingLimitedMember_AlBVqgZqXUiF6uAz17iJUA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_Z4ClV0iCO0i4VvdMrKF1XA_28_4">100</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">March&#160;25, 2011</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar O and M (Ontario)&#160;Inc.&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canada</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarOAndMOntarioIncMember_6CM_pzl240CSlQHbpW0PuQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_PBcrzJDxZ0K4R4hvfccSTg_30_4">100</ix:nonFraction></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Solar farm operating and maintenance service</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">May&#160;10, 2011</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Suzhou Sanysolar Materials Technology&#160;Co.,&#160;Ltd.&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember_p6_jPQLIaUutOVv0Ty5iCg" decimals="5" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_ossXxX1z2UO1kxo4OcbX1w_32_4">99.73</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Production of solar module materials</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">August&#160;17, 2011</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar South East Asia Pte. Ltd.&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Singapore</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSouthEastAsiaPteLtdMember_ubLDcYvLCUuT3bAlHD7uNA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_bdruZ75b10a2pU8QK-rNJg_34_4">100</ix:nonFraction></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">September&#160;19, 2011</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar South Africa (Pty)&#160;Ltd</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">South Africa</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSouthAfricaPtyLtdMember_Hq256zVRrkyBj14khGxE3A" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_CcU0pZh3jEmziPulabwW9w_36_4">100</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">June&#160;22, 2012</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd.</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Brazil</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_D0bbTLwklk69tQO30lztQA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_DEpuWs6C0UivYorSBmUVHw_38_4">100</ix:nonFraction></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Sales and marketing of solar modules, and provide solar energy solution to customer</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">November&#160;14, 2012</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Construction (USA) LLC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">USA</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarConstructionUsaLLCMember_SxMKdJGv0EqOa4AtP5Hczw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_yhyDU3cTJ0K40fQyh8egaA_40_4">100</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Solar farm operating and maintenance service </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">May 20, 2014</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Projects K.K.</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Japan</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_wqWISQGOt0aEOzTLJDmR9w" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_1JSVrnpEf0qG1yFl6Htrhw_42_4">100</ix:nonFraction></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Developing solar power project</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">May 20, 2014</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">CSI&amp;GCL Solar Manufacturing (Yan Cheng) Inc.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiGclSolarManufacturingYanchengCo.Ltd.Member_YqFvDkAPxkCVF2Vt8O2l6g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_OjCmIyaEmEGaPHMMzTriXA_44_4">100</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"><span style="white-space:pre-wrap;">Research and developing,  manufacture and sales of solar cells, and solar power projects development </span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">May 29, 2014</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar UK Ltd.</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">United Kingdom </p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarUkLtdMember_nHcLXRu22kaKL7Hpu3JEWA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_Ads-p6c85Uar64Fq6axFJg_46_4">100</ix:nonFraction></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">May 29, 2014</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar UK Projects Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">United Kingdom</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarUkProjectsLtdMember_gaFFVSiMVU6dJx6tv-15pw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_9IsbFglSo0u-g-sBpvAshw_48_4">100</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Developing solar power project</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">August 29, 2014</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Changshu Tegu New Material Technology Co., Ltd.</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember_pfgLe_A9ukygMgFIx3pkTw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_1iP1GFS1pk2dOBI-JX7IzA_50_4">100</ix:nonFraction></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">EVA solar packaging film research and development, production, and sales</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">September 2, 2014</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Changshu Tlian Co., Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_ChangshuTlianCo.Ltd.Member_O1mirRnMdUOXfh8yn7m3pQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_csvGdBQjLEC4g3jWjNBfOw_52_4">100</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Junction box and connector research, development, production and sales</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">December 26, 2014</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Recurrent Energy Group Inc.</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">USA</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_RecurrentEnergyGroupInc.Member_tfNffgYLOU21rCoI61i76w" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_r6OIVNAm_UePpim0Xh1nFw_54_4">100</ix:nonFraction></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Developing solar power project</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">January 22, 2015</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Recurrent Energy, LLC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">USA</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_RecurrentEnergyLlcMember_uCUszJzAkkedZfzB6TzLjg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_BTgXdasoJkO8t7qmjZA7kg_56_4">100</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Developing solar power project</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">March 31, 2015</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PT. Canadian Solar Indonesia</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Indonesia</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_PtCanadianSolarIndonesiaMember_WIa2wR-R7EabxskoyytV4Q" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc__haxm0mma0ipnfcHDxdFqg_58_4">67</ix:nonFraction></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Production of solar modules</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">February 26, 2015</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Manufacturing Vietnam Co., Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Vietnam</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingVietnamCo.LtdMember_j6KXhNbxdUKQnrw1nPf8pA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_bUsZr3zBUUaEeXYAENnSVg_60_4">100</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Production of solar modules</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">June 25, 2015</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Energy Private Limited</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">India</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyPrivateLimitedMember_eHSRKh6OEU6lcmKRHLWs8g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_ITtec7ZTqU-5BDrlc9KrQw_62_4">100</ix:nonFraction></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">May 06, 2015</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar MSS (Australia) Pty Ltd (formerly named/known as &#8220;Canadian Solar Australia 1 Pty Ltd. &quot;)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Australia</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarAustralia1PtyLtdMember_Bq8reKRQzEeAJVfF0H_S2Q" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_inX8tU19X0mJ3R1TNsaQtQ_64_4">100</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">August 03, 2015</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Energy Holding Company Limited</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Hong Kong </p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingCompanyLimitedMember_kYzLCiJx4U2DO0PAUArfcA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_Vf__JX5yAEGJhoz5Et-WFw_66_4">100</ix:nonFraction></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Project investment, financing, trading of solar modules</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">September 22, 2015</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Energy Singapore Pte. Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Singapore</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member_IZbwU8qQ1k2O4q_JuvLeJg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_poPrx7hGgEyweSCtls3wuQ_68_4">100</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Development &amp; Ownership of solar PV projects</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">October 29, 2015</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Manufacturing (Thailand) Co.,Ltd.</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Thailand</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_k3pfla9r_USOzRTlmL3WIg" decimals="7" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_UH_AOwzp3kymkjs6dBC6Vg_70_4">99.99992</ix:nonFraction></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Cells and module production</p></td></tr></table></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-72</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:74.59%;border:0;margin:30pt 12.7% 30pt 12.7%;"></div><div style="max-width:100%;padding-left:12.7%;padding-right:12.7%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:12pt;margin:0pt 0pt 6pt 0pt;"><a href="#TOC"><span style="font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:8.05pt;"><a id="Tc_M3dqFvcqXUO2CDgykfWRoA_71_2"></a><a id="Tc_QxWq-VP5kkqkW48T6nno_w_72_0"></a><a id="Tc_ClEbNmJOF0OgOtw09Dh6og_72_2"></a><a id="Tc_2Syz1_qAnESG2M1nb9bCAg_72_5"></a><a id="Tc_wASlhgr3mUq0YWPr1uAIXg_72_6"></a><a id="Tc_ED9d_zmKJkGRJfOsEqrQ7w_73_2"></a><a id="Tc_ziSZDBI0AEePMVlw4cRuoA_74_0"></a><a id="Tc_OqG6p3aQB0WBkE_p8HSyEg_74_2"></a><a id="Tc_nELE-0Qbi0WKsZzlMbiWmQ_74_5"></a><a id="Tc_K66-U2gXTUmBesM6qOwp_Q_74_6"></a><a id="Tc_W2YC6VcaRkWRiMweiCvrow_75_2"></a><a id="Tc_6aLQcIGXpUSW6LlCABACbA_76_0"></a><a id="Tc_CyoT2sqz40-ajitJ4-zX4w_76_2"></a><a id="Tc_73xasEvlQ0WPEikCfRk1zA_76_5"></a><a id="Tc_LHw6RitYNE-S2vBlh8S_8A_76_6"></a><a id="Tc_anux_FdrIES1LwY_KG90bw_77_2"></a><a id="Tc__15dDkX8FU6pUAeUZ7PUng_78_0"></a><a id="Tc_wele_gS-UUS0bn319R8rUA_78_2"></a><a id="Tc_32KlcGO97EW9Au-_M0kQhw_78_5"></a><a id="Tc_X-EfBHvNOU28yKdHkr851w_78_6"></a><a id="Tc_FAQz78TmjUeW-kHZIPdcIw_79_2"></a><a id="Tc_SyNygGipA06e1PoCyCg1Dw_80_0"></a><a id="Tc_taBOh_KBUUOwTtlkPhDqYQ_80_2"></a><a id="Tc_xl9biYu4JEe-lxErEvOOlQ_80_5"></a><a id="Tc_DcSM91G83EuawQPKFsBm2Q_80_6"></a><a id="Tc_99UhIO0fzEezf1jpU-k-bg_81_2"></a><a id="Tc_PfR2JPgZgkSVCr_GZd-Q1w_82_0"></a><a id="Tc_Syq9jEpbf06d6yj7Hv-GLw_82_2"></a><a id="Tc_JqICBVQLcU2DRI-nRktL6g_82_5"></a><a id="Tc_dmCIATP_m0SS_ouyuBx-ZQ_82_6"></a><a id="Tc_z2kf7fgH9Em1w55yqq_0Ew_83_2"></a><a id="Tc_9FS_4f73qUeMX8mQIwsZOg_84_0"></a><a id="Tc_TdiMpG8e90y6YCB6Ma-6WA_84_2"></a><a id="Tc_bF5J9zyN9Ue9t5y0UghUBw_84_5"></a><a id="Tc_TgTBPCJnYUKJ0hBK6NEkGw_84_6"></a><a id="Tc_i-uJ_g3CvUeLkZtdbfdA-Q_85_2"></a><a id="Tc_KFxlAPZEQ0enzIPirX2Kbg_86_0"></a><a id="Tc_Oz-a3U_yi0CKdeWaT8o8Og_86_2"></a><a id="Tc_z7s1uxdCSUq2DAiznK5mxw_86_5"></a><a id="Tc_YIQCvq6neE6m8gvyhulUxw_86_6"></a><a id="Tc_TU11D1szmEW9E2zVLJmJYg_87_2"></a><a id="Tc_3SVfx_b65U6qRu1A3mgfhQ_88_0"></a><a id="Tc_xJy4iq-D60Kd6nevRcJA9A_88_2"></a><a id="Tc_StvaxWgLMkuM6ORnO4gTEQ_88_5"></a><a id="Tc_3ixKeNCSH0Gbvaws1BQ08w_88_6"></a><a id="Tc__w_oRQ7EokiIjVIHxQceSw_89_2"></a><a id="Tc_h19wWkmpPUuT1miN1lp6zQ_90_0"></a><a id="Tc_RNeXO9r1gkSEnm8Qb3xhVQ_90_2"></a><a id="Tc_ukuM66n080GOlCG1yNOmtQ_90_5"></a><a id="Tc_HMNvBHZRZUW8C6L0Uhap2Q_90_6"></a><a id="Tc_VH4EEfSjGUeIDBbSXpWukQ_91_2"></a><a id="Tc_Y8no12SiGE6WLoEXL3Cg_Q_92_0"></a><a id="Tc_IErP9WUVMEWNSiQ92tEKKg_92_2"></a><a id="Tc_mbgv04kXlUazSJSs1gOjDA_92_5"></a><a id="Tc_CoY5JdfMtkqnF7UH7QxjfQ_92_6"></a><a id="Tc_TfQTz_rTnE2nTevuAVYhMA_93_2"></a><a id="Tc_Ql7I2IHTBUW7ekMDWteVLQ_94_0"></a><a id="Tc_cyH0iCA7qkeDEWbD6LZeJg_94_2"></a><a id="Tc_-xPtonO__EmcnUZTaQtpBw_94_5"></a><a id="Tc_-wpy8tG4XkerZiZWR-5LBg_94_6"></a><a id="Tc_RZoi1ioVl0CGrOt5wTedRw_95_2"></a><a id="Tc_tOBHtASh3E6E_Gk2iMsSPg_96_0"></a><a id="Tc_bXzAH1Eal0WwG7GTa0wLgA_96_2"></a><a id="Tc_8VDAIY2RVEqx_al-GgeAEw_96_5"></a><a id="Tc_BLQXQtNm0US1R7NBdZgJWg_96_6"></a><a id="Tc_eViHmP3Rk0KqAmHNkssyMg_97_2"></a><a id="Tc_6QJrDZRo20yON5DQASNvoA_98_0"></a><a id="Tc_Iq5oqOL3qUm-U3o_dKNBTA_98_2"></a><a id="Tc_eDoRajezQE20_MrVgb0JeQ_98_5"></a><a id="Tc_nCcwpysW20mN_k-SJTZW_w_98_6"></a><a id="Tc_DFDZMDjIwUalMWM1opS-5A_99_2"></a><a id="Tc_vM9NOTlKdUOg6uQAKf-8fQ_100_0"></a><a id="Tc_-bSMgJOUcUaWMm9zxs3CJA_100_2"></a><a id="Tc_pLB5ydGRNEq8YGFD_EctHw_100_5"></a><a id="Tc_HeiQMFXJgkaJiNyYR_19NA_100_6"></a><a id="Tc_GPQrNOGI7k2-RFnhR7WDxw_101_2"></a><a id="Tc_1B7XTSMC4EqQc30zpunxpw_102_0"></a><a id="Tc_Q0KW7bD-YUqDpvOyqmkK_g_102_2"></a><a id="Tc_IBkgGsE5AESSC4xDEZfskA_102_5"></a><a id="Tc__NXD3Sb4PU231xwAXFXzjQ_102_6"></a><a id="Tc_KU6XoX7fmkmwlKOYU4NMzQ_103_2"></a><a id="Tc_xuGOnoFFX0eSwLT-hJJYrQ_104_0"></a><a id="Tc_iVfVhKPDIUGI-Bf5WA6PHg_104_2"></a><a id="Tc_jps1_eTpj0uGVuVC8XKm0g_104_5"></a><a id="Tc_ULVosOeJbkOAmpVaLj7Ipw_104_6"></a><a id="Tc_qcPko_V6HU-1daxdSZudng_105_2"></a><a id="Tc_kv456DIcXEu4As6lA7nJtQ_106_0"></a><a id="Tc_doeteo4hLEqGfVg_LSceYQ_106_2"></a><a id="Tc_KXb2HiDmXUin7WpEyA4lHQ_106_5"></a><a id="Tc_qNHJso3ZBEGS8XmGFNKijQ_106_6"></a><a id="Tc_lIHTA7W4OES-FFcoAtIBPg_107_2"></a><ix:continuation id="Tb_mvwmD7yos0yptLZyYIY0_g_cont1"><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">November 20, 2015</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Sunenergy (Suzhou) Co., Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSunenergySuzhouCo.Ltd.Member_dJD8J6MYAEOwoZlpGzx51Q" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_8VLwFYqY_EmItnq2AFjT8g_72_4">100</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Production of solar modules</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">May 12, 2016</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Sunenergy (Baotou) Co., Ltd.</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_8ujZS-yBMESJXzpV0Crsxw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_t3ElhxaNyUWz88wQmS3n0Q_74_4">100</ix:nonFraction></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Production of solar modules, ingots and wafers</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">August 18, 2016</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Middle East DMCC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">United Arab Emirates</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarMiddleEastDmccMember_UsdpaLQhmk-podlCp2-T8Q" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_hB0OrYkL5kW91z62tY_41w_76_4">100</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">March 28, 2017</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">CSI Investment Management (SuZhou) Co., Ltd.</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiInvestmentManagementSuzhouCoLtdMember_GJt3ETH8_0CxWvTY3gZ0bw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_mZ_3V4s8ZE-Gbt-73M6MoA_78_4">100</ix:nonFraction></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Investment management &amp; assets management</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">May 05, 2017</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Suzhou Gaochuangte New Energy Development Co., Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember_LGxXw2tOskuUFrLfvpL8eA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_4GuFwinfw068s9oIVDkS0g_80_4">90</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Design, engineering construction and management of solar power project</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">June 12, 2017</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">CSI Cells (Yancheng) Co., Ltd. </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Production of solar cells</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">May 18, 2017</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">CSI Modules (DaFeng) Co., Ltd. </p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">**</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Production of solar modules</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">May 16, 2017</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Construction (Australia) Pty Ltd</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Australia</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarConstructionAustraliaPtyLtdMember_Jub7_vciaEqQm7wdA9GrGg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_KQLxB1fU8kS6Cld8fGysrQ_86_4">100</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Providing engineering, procurement and construction service</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">July&#160;04, 2017</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">CSUK Energy Systems Construction and Generation JSC</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Turkey</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsukEnergySystemsConstructionAndGenerationJscMember_fjg9x-UWGUG4bERD7gfdCg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_Z_X4aEUn7Um5d2U4n5IKWw_88_4">100</ix:nonFraction></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Construction of power plants generating electricity by utilizing renewable energy sources</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">October 30, 2017</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">CSI Modules (JiaXing) Co., Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiModulesJiaxingCoLtdMember_SNgW881rrEizurtXQwpdcA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_lnX5asi6Q0mVxRiRNeqc6g_90_4">100</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Production of solar modules</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">November 3, 2017</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">CSI Wafer (LuoYang) Co., Ltd.</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiWaferLuoyangCoLtdMember_1ZVHiC_9dEyNUII2fgKyjw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_5NFQw1lyykiz27MQNzybxg_92_4">100</ix:nonFraction></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Production of solar cells and wafers</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">November 27, 2017</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Manufacturing Taiwan Co., Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingTaiwanCoLtdMember_VPLCaZyfrkGlrnL0ri-j4w" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_pCaWjinoM02GytkqwtKbPg_94_4">100</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Production of solar modules</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">December&#160;05, 2017</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Argentina Investment Holding Ltd.</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Argentina</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarArgentinaInvestmentHoldingLtdMember_EPf-Mmmb3EmG8Ak__bCR0w" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_OwhcWfnHjUWhXCOP0LQVCg_96_4">100</ix:nonFraction></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Developing solar power project</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">January 23, 2018</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Changsu Xingu Photovoltaic Material Technology Co., Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember_8g6PlU6ogEWyqmSMeIbKnw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_qsF3l7b2MkCxXxYJ11XjYA_98_4">100</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">EVA solar packaging film research and development, production and sales</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">March 19, 2018</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar New Energy Holding Company Limited</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Hong Kong</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember_iZAe9dPgUEWNHzxDVQo4Ag" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_06Sc4v-M3EeFq-finauPjA_100_4">100</ix:nonFraction></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Project investment, financing, trading of solar modules.</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">March 20, 2019</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Energy Holding Singapore Pte. Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Singapore</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member_MU8LW1ASJEypZcrjukEHEw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_GLV8bRee0EacBGvhHzvS4g_102_4">100</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Development &amp; Ownership of Solar PV Projects</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">April 22, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar SSES (Canada) Inc.</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canada</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSsesCanadaInc.Member_9FBBjjFkL02CrIh4E0mIGA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_1e3pVidzakKDv2UsGC3AZg_104_4">100</ix:nonFraction></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">System Solution and Energy Storage</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Nov 27, 2019</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar SSES (UK) Ltd</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">United Kingdom</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSsesUkLtdMember_s7UcNNfSTk-ya7j7gKh3KQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Tc_Ne89CcyWL02giLO9pwgPOw_106_4">100</ix:nonFraction></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">IP holding</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">December&#160;18, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr></table><div style="font-family:'Times New Roman';font-size:7.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;">*<span style="font-family:'Calibri';">&#160;&#160;&#160;&#160;&#160;&#160;</span>CSI Cells Co., Ltd. holds <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_srt_CounterpartyNameAxis_csiq_CsiCellsCo.Ltd.Member_Ld_hV3-Kk0-OpEOkQQ3flg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Narr_bHHZBkmxw0uVOWoiTVvwJQ">52</ix:nonFraction>% equity rights of CSI Cells (Yancheng) Co., Ltd., a limited partnership fund, of which CSI Cells Co., Ltd. holds <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiSolarPowerChinaInc.Member_srt_CounterpartyNameAxis_csiq_CsiCellsCo.Ltd.Member_NVm05P2FNkarzAqjfzzKLg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Narr_AcklYK5Zz0WvetH0u-Egvw">37.33</ix:nonFraction>% shares as a limited partner and a wholly-owned subsidiary of CSI Solar Power Group Co., Ltd. holds <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_srt_CounterpartyNameAxis_csiq_CsiCellsCo.Ltd.Member_Ld_hV3-Kk0-OpEOkQQ3flg" decimals="4" format="ixt:numdotdecimal" name="csiq:EquityInterestHeldAsGeneralPartner" scale="-2" id="Narr_kwwl1-zEo0qk7PvWxT9hnQ">0.17</ix:nonFraction>% shares as a general partner, holds <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiCellsYanchangCoLtdMember_jGNrNqRCvUuQRZBx6-jF0g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Narr_R8IKB8ZFw0eMpGUqGtC-mA">48</ix:nonFraction>% equity rights of CSI Cells (Yancheng) Co., Ltd.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 0pt;">**<span style="font-family:'Calibri';">&#160;&#160;&#160;&#160;</span>Canadian Solar Manufacturing (Changshu) Inc. holds <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiModulesDafengCoLtdMember_srt_CounterpartyNameAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_1n1AG2K6xk2UOzGnATGbIw" decimals="4" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Narr_j6X319OxCEedF13gySoP8w">3.12</ix:nonFraction>% equity rights of CSI Modules (DaFeng) Co., Ltd.,a limited partnership fund, of which Canadian Solar Manufacturing (Changshu) Inc. holds <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_srt_CounterpartyNameAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_B--R_4fNa0yJ6CHEldgOeg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Narr_zwZrOnjdBUO0RAz08P0Biw">20</ix:nonFraction>% shares as a limited partner and a wholly-owned subsidiary of CSI Solar Power Group Co., Ltd. holds <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiSolarPowerChinaInc.Member_2XOncCEazUK4vS1Ijo1FPQ" decimals="5" format="ixt:numdotdecimal" name="csiq:EquityInterestHeldAsGeneralPartner" scale="-2" id="Narr_wVUEfUHI60-aSAAg6RbVRA">0.067</ix:nonFraction>% shares as a general partner, holds <ix:nonFraction unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg" contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiModulesDafengCoLtdMember_srt_CounterpartyNameAxis_csiq_CsiSolarPowerChinaInc.Member_ZtO-Oy4VYU-bwnYTyH14MQ" decimals="4" format="ixt:numdotdecimal" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" scale="-2" id="Narr_53pWgaCtr0Sfig2yiC4wiw">96.88</ix:nonFraction>% equity rights of CSI Modules (DaFeng) Co., Ltd.</p></ix:continuation><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:30pt 0pt 0pt 0pt;">F-73</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;margin-left:12.7%;margin-right:12.7%;margin-top:30pt;page-break-after:avoid;width:74.59%;border:0;"></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-2.2
<SEQUENCE>2
<FILENAME>csiq-20191231xex2d2.htm
<DESCRIPTION>EX-2.2
<TEXT>
<!--HTML document created with Toppan Merrill Bridge  9.6.0.116-->
<!--Created on: 4/28/2020 6:55:25 AM-->
<html>
	<head>
		<title>
			csiq_Ex2_2
		</title>
	</head>
	<body><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;"></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;">
		<p style="margin:0pt 0pt 12pt;text-align:right;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">Exhibit 2.2</font>
		</p>
		<p style="margin:0pt;text-align:center;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">DESCRIPTION OF THE REGISTRANT&#x2019;S SECURITIES</font>
		</p>
		<p style="margin:0pt;text-align:center;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">REGISTERED PURSUANT TO SECTION 12 OF THE</font>
		</p>
		<p style="margin:0pt;text-align:center;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">SECURITIES EXCHANGE ACT OF 1934</font>
		</p>
		<p style="margin:0pt;text-align:center;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-size:11pt;">&nbsp;</font>
		</p>
		<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">Canadian Solar Inc. (&#x201C;we,&#x201D; &#x201C;us,&#x201D; &#x201C;our company,&#x201D; or &#x201C;our&#x201D;) has the following securities registered pursuant to Section 12(b) of the Securities Exchange Act of 1934 (the &#x201C;Exchange Act&#x201D;):</font>
		</p>
		<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-size:11pt;">&nbsp;</font>
		</p>
		<div style="width:100%;"><table cellpadding="0" cellspacing="0" align="center" style="border-collapse:collapse;width: 100.00%;">
			<tr>
				<td valign="top" style="width:43.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:02.04%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:23.58%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:02.82%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:28.56%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="border-right:1pt none #D9D9D9 ;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;width:43.00%;border-bottom:1pt solid #000000 ;padding:0pt;">
					<p style="margin:0pt;text-align:center;font-family:Times New Roman,Times,serif;font-size: 11pt;">
						<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">Title of each class registered as of the end of the<br>period&nbsp;covered by the annual report</font></p>
				</td>
				<td valign="top" style="border-right:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-top:1pt none #D9D9D9 ;width:02.04%;padding:0pt;">
					<p style="margin:0pt;text-align:center;font-family:Times New Roman,Times,serif;font-size: 11pt;">
						<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">&nbsp;&nbsp;&nbsp;&nbsp;</font></p>
				</td>
				<td valign="top" style="border-right:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-top:1pt none #D9D9D9 ;width:23.58%;border-bottom:1pt solid #000000 ;padding:0pt;">
					<p style="margin:0pt;text-align:center;font-family:Times New Roman,Times,serif;font-size: 11pt;">
						<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">Trading<br>symbol</font></p>
				</td>
				<td valign="top" style="border-right:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-top:1pt none #D9D9D9 ;width:02.82%;padding:0pt;">
					<p style="margin:0pt;text-align:center;font-family:Times New Roman,Times,serif;font-size: 11pt;">
						<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">&nbsp;&nbsp;&nbsp;&nbsp;</font></p>
				</td>
				<td valign="top" style="border-left:1pt none #D9D9D9 ;border-top:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;width:28.56%;border-bottom:1pt solid #000000 ;padding:0pt;">
					<p style="margin:0pt;text-align:center;font-family:Times New Roman,Times,serif;font-size: 11pt;">
						<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">Name of each exchange on<br>which registered</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="border-right:1pt none #D9D9D9 ;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;width:43.00%;padding:0pt;">
					<p style="margin:0pt;text-align:center;font-family:Times New Roman,Times,serif;font-size: 11pt;">
						<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">Common shares with no par value</font></p>
				</td>
				<td valign="top" style="border-right:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-top:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;width:02.04%;padding:0pt;">
					<p style="margin:0pt;text-align:center;font-family:Times New Roman,Times,serif;font-size: 11pt;">
						<font style="display:inline;font-size:11pt;">&nbsp;</font></p>
				</td>
				<td valign="top" style="border-right:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-top:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;width:23.58%;padding:0pt;">
					<p style="margin:0pt;text-align:center;font-family:Times New Roman,Times,serif;font-size: 11pt;">
						<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">CSIQ</font></p>
				</td>
				<td valign="top" style="border-right:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-top:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;width:02.82%;padding:0pt;">
					<p style="margin:0pt;text-align:center;font-family:Times New Roman,Times,serif;font-size: 11pt;">
						<font style="display:inline;font-size:11pt;">&nbsp;</font></p>
				</td>
				<td valign="top" style="border-left:1pt none #D9D9D9 ;border-top:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;width:28.56%;padding:0pt;">
					<p style="margin:0pt;text-align:center;font-family:Times New Roman,Times,serif;font-size: 11pt;">
						<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">Nasdaq Global Select Market</font></p>
				</td>
			</tr>
		</table></div>
		<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">This exhibit contains a description of the rights of the holders of our common shares. The following summary is subject to and qualified in its entirety by our articles of continuance, as amended from time to time, (the &#x201C;articles&#x201D;), bylaws as effective from time to time, and by applicable Canadian law, particularly the Canada Business Corporations Act (the &#x201C;CBCA&#x201D;). This is not a summary of all the significant provisions of the articles, bylaws or of Canadian law and does not purport to be complete. Capitalized terms used but not defined herein have the meanings given to them in our annual report on Form 20-F to which this description of securities registered under section 12 of the Exchange Act is an exhibit.</font>
		</p>
		<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-size:11pt;">&nbsp;</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">Item 9. General</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">Item 9.A.3 Pre-emptive rights</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">Our common shares do not contain any pre-emptive purchase rights to any of our securities.</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">Item 9.A.5 Type and class of securities</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">Our class of common shares are registered with the U.S. Securities and Exchange Commission. We may issue an unlimited number of common shares, without par value. Other than under applicable securities laws, there are no restrictions on the transferability of common shares.</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">Item 9.A.6 Limitations or qualifications</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">Not applicable.</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">Item 9.A.7 Rights of other types of securities</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">Our board of directors has the authority, without approval from the shareholders, to issue an unlimited number of preferred shares in one or more series. Our board of directors may establish the number of shares to be included in each such series and may fix the designations, preferences, powers and other rights of the shares of a series of preferred shares</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">Item 10.B Memorandum and articles of association</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">Item 10.B.3 Shareholder rights</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-style:italic;font-size:11pt;">Dividends</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">Holders of our common shares are entitled to receive, from funds legally available therefor, dividends when and as declared by the board of directors, subject to any prior rights of the holders of our preferred shares if issued. The CBCA restricts the directors&#x2019; ability to declare, and our ability to pay,</font>
		</p>
		<p style="margin:0pt 0pt 8pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-size:11pt;">&nbsp;</font>
		</p>
		<p style="margin:0pt 0pt 8pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			&nbsp;
		</p>
		<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;"></font></p></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;">
		<p><font size="1"> </font></p></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;page-break-after:always;"><div style="background-color:#000000;clear:both;height:2pt;border:0;margin:30pt 0pt 30pt 0pt;"></div></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;"></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;"><p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;"><font style="display:inline;"></font>
		</p>
		<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 12pt;">
			<font style="display:inline;font-size:12pt;">&nbsp;</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">dividends by requiring that certain solvency tests be satisfied at the time of such declaration and payment.</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-style:italic;font-size:11pt;">Voting rights</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">Each common share is entitled to one vote on all matters upon which the common shares are entitled to vote.</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-style:italic;font-size:11pt;">Liquidation</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">With respect to a distribution of assets in the event of our liquidation, dissolution or winding-up, whether voluntary or involuntary, or any other distribution of our assets for the purposes of winding up our affairs, assets available for distribution among the holders of common shares shall be distributed among the holders of the common shares on a pro&nbsp;rata basis, subject to any prior rights of the holders of our preferred shares if issued.</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">There are no provisions in our articles discriminating against any existing or prospective shareholder as a result of such shareholder owning a substantial number of our common shares. Our common shares are not subject to liability to further capital calls by our company. Also, no provisions or rights exist in our articles regarding our common shares in connection with exchange, redemption, retraction, purchase for cancellation, surrender or sinking or purchase funds.</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">Item 10.B.4 Changes to shareholder rights</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">All or any of the rights attached to our common shares, or any other class of shares duly authorized may, subject to the provisions of the CBCA, be varied either with the unanimous written consent of the holders of the issued shares of that class or by a special resolution passed at a meeting of the holders of the shares of that class. A &#x201C;special resolution&#x201D; means a resolution passed by not less than two-thirds of the votes cast by the shareholders entitled to vote on the resolution at a meeting at which a quorum is present.</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">Item 10.B.6 Limitations on shareholder rights</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">There are no limitations under the laws of Canada or in the organizational documents of our company on the rights of shareholders who are not residents of Canada to hold and vote common shares.</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-style:italic;font-size:11pt;">Other Canadian law considerations with respect to ownership and exchange controls</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-style:italic;font-size:11pt;">Competition Act</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">Limitations on the ability to acquire and hold our common shares may be imposed by the Competition Act (Canada). This legislation establishes a pre-merger notification regime for certain types of merger transactions that exceed certain statutory shareholding and financial thresholds. Transactions that are subject to notification cannot be closed until the required materials are filed and the applicable statutory waiting period has expired or been waived by the Commissioner of Competition, or the Commissioner. Further, the Competition Act (Canada) permits the Commissioner to review any acquisition of control over or of a significant interest in us, whether or not it is subject to mandatory notification. This legislation grants the Commissioner jurisdiction, for up to one year, to challenge this type of acquisition before the Canadian Competition Tribunal if it would, or would be likely to, substantially prevent or lessen competition in any market in Canada.</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-style:italic;font-size:11pt;">Investment Canada Act</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">The Investment Canada Act requires notification and, in certain cases, advance review and approval by the Government of Canada, through the Minister of Innovation, Science and Economic</font>
		</p>
		<p style="margin:0pt 0pt 8pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;"></font>
		</p>
		<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;"></font></p></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;">
		<p><font size="1"> </font></p><div style="width:100%">

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

			<font style="display:inline;text-transform:uppercase;">2</font>

		</p>

</div></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;page-break-after:always;"><div style="background-color:#000000;clear:both;height:2pt;border:0;margin:30pt 0pt 30pt 0pt;"></div></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;"></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;"><p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;"><font style="display:inline;"></font>
		</p>
		<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 12pt;">
			<font style="display:inline;font-size:12pt;">&nbsp;</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">Development (the &#x201C;</font><font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">Minister</font><font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">&#x201D;)</font><font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">, &nbsp;</font><font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">of an investment to establish a new Canadian business by a non-Canadian or of the acquisition by a non-Canadian of &#x201C;control&#x201D; of a &#x201C;Canadian business&#x201D;, all as defined in the Investment Canada Act. Generally, the threshold for advance review and approval will be higher in monetary terms for a member of the World Trade Organization. The Investment Canada Act generally prohibits the implementation of such a reviewable transaction unless, after review, the Minister is satisfied that the investment is likely to be of net benefit to Canada. The Investment Canada Act contains various rules to determine if there has been an acquisition of control. For example, for purposes of determining whether an investor has acquired control of a corporation by acquiring shares, the following general rules apply, subject to certain exceptions. The acquisition of a majority of the voting shares of a corporation is deemed to be acquisition of control of that corporation. The acquisition of less than a majority but one-third or more of the voting shares of a corporation is presumed to be an acquisition of control of that corporation unless it can be established that, on the acquisition, the corporation is not controlled in fact by the acquiror through the ownership of voting shares. The acquisition of less than one-third of the voting shares of a corporation is deemed not to be acquisition of control of that corporation.</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">In addition, under the Investment Canada Act, &#x201C;national security&#x201D; review on a discretionary basis may also be undertaken by the federal government in respect of a much broader range of investments by a non-Canadian to &#x201C;acquire, in whole or in part, or to establish an entity carrying on all or any part of its operations in Canada, with the relevant test being whether such an investment by a non-Canadian could be &#x201C;injurious to national security.&#x201D; The Minister has broad discretion to determine whether an investor is a non-Canadian and therefore may be subject to &#x201C;national security&#x201D; review. Review on national security grounds is at the discretion of the federal government and may occur on a pre- or post-closing basis. If the Minister, after consultation with the Minister of Public Safety and Emergency Preparedness and the investor, consider the investment could be injurious to &#x201C;national security&#x201D;, the Minister refers the matter to the Governor in Council.&nbsp;&nbsp;Following its review, if the Governor in Council determines the investment could be injurious to &#x201C;national security&#x201D;, the Governor in Council may takes any measures in respect of the investment that it considers advisable to protect national security, including denying the investment, asking for undertakings, imposing terms or conditions for the investment, or ordering divestiture (if the investment has been completed). Any of these provisions may discourage a potential acquirer from proposing or completing a transaction that may have otherwise presented a premium to our shareholders. We cannot predict whether investors will find our company and our common shares less attractive because we are governed by foreign laws.</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">Item 10.B.7 Change in control</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">There are no provisions in our articles or in the CBCA that would have an effect of delaying, deferring or preventing a change in control of our company which would operate with respect to a merger, acquisition or corporate restructuring involving our company or any of our subsidiaries. Please see Item 9.A.7 regarding the preferred shares issuable in series.</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">Item 10.B.8 Ownership disclosure threshold for our common shares</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">Our articles do not have any specific threshold requiring disclosure of ownership by holders of our common shares. In addition, the CBCA and securities regulation in Canada requires that we disclose in our proxy information circular for our annual general meeting and certain other disclosure documents filed by us under such regulation, holders who beneficially own more than 10% of our issued and outstanding common shares.</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">Item 10.B.9 Differences in the law</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">See Items 10.B.3, 10.B.4, 10.B.6, 10.B.7, 10.B.8 above.</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">Item 10.B.10 Changes in capital</font>
		</p>
		<p style="margin:0pt 0pt 8pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;"></font>
		</p>
		<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;"></font></p></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;">
		<p><font size="1"> </font></p><div style="width:100%">

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

			<font style="display:inline;text-transform:uppercase;">3</font>

		</p>

</div></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;page-break-after:always;"><div style="background-color:#000000;clear:both;height:2pt;border:0;margin:30pt 0pt 30pt 0pt;"></div></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;"></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;"><p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;"><font style="display:inline;"></font>
		</p>
		<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-size:11pt;">&nbsp;</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">The requirements imposed by the articles governing changes in capital are not more stringent than is required by law.</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">Item 12. Description of securities other than equity securities</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">Item 12.A Debt securities</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">Not applicable.</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">Item 12.B Warrants and rights</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">Not applicable.</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">Item 12.C Other securities</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">Not applicable.</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-weight:bold;font-size:11pt;">Item 12.D.1 and 12.D.2 Description of American Depositary Shares</font>
		</p>
		<p style="margin:0pt 0pt 12pt;font-family:Times New Roman,Times,serif;font-size: 11pt;">
			<font style="display:inline;font-family:Times New Roman,Times,serif;font-size:11pt;">Not applicable.</font>
		</p></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;">
		<p><font size="1"> </font></p><div style="width:100%">

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

			<font style="display:inline;text-transform:uppercase;">4</font>

		</p>

</div></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;page-break-after:avoid;"><div style="background-color:#000000;clear:both;height:2pt;border:0;margin:30pt 0pt 30pt 0pt;"></div></div>
	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-8.1
<SEQUENCE>3
<FILENAME>csiq-20191231xex8d1.htm
<DESCRIPTION>EXHIBIT 8.1
<TEXT>
<!--HTML document created with Toppan Merrill Bridge  9.6.0.116-->
<!--Created on: 4/28/2020 6:55:26 AM-->
<html>
	<head>
		<title>
			csiq_Ex8_1
		</title>
	</head>
	<body><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;"></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;">
		<p style="margin:0pt 0pt 12pt;text-indent:36pt;text-align:right;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">EXHIBIT&nbsp;8.1</font>
		</p>
		<p style="margin:0pt;text-align:center;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">LIST OF MAJOR SUBSIDIARIES</font>
		</p>
		<p style="margin:0pt;text-align:center;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">&nbsp;(As of March 31, 2020)</font>
		</p>
		<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%;"><table cellpadding="0" cellspacing="0" style="border-collapse:collapse;width: 98.54%;">
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt solid #000000 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;font-weight:bold;">Name&nbsp;of&nbsp;entity</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt solid #000000 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;font-weight:bold;">Place&nbsp;of&nbsp;incorporation</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt solid #000000 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;font-weight:bold;">Ownership&nbsp;interest</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt solid #000000 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt solid #000000 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt solid #000000 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">CSI Solartronics (Changshu) Co.,&nbsp;Ltd.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">PRC</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">CSI Solar Technologies Inc.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">PRC</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">CSI New Energy Holding Co.,&nbsp;Ltd.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">PRC</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar Manufacturing (Luoyang) Inc.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">PRC</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar Manufacturing (Changshu) Inc.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">PRC</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">CSI Cells Co.,&nbsp;Ltd.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">PRC</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar (USA) Inc.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">USA</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar Japan K.K.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Japan</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar Solutions Inc.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canada</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">CSI Solar Power Group Co.,&nbsp;Ltd.&nbsp;(formerly named/known as &#x201C;CSI Solar Power (China) Inc.&#x201D;)</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">PRC</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar EMEA GmbH</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Germany</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar (Australia) Pty Limited</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Australia</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar International Limited</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Hong Kong</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar O and M (Ontario) Inc.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canada</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Suzhou Sanysolar Materials Technology Co.,&nbsp;Ltd.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">PRC</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">99.73%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar South East Asia Pte. Ltd.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Singapore</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar South Africa (Pty) Ltd</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">South Africa</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar Brazil Commerce,&nbsp;Import and Export of Solar Panels Ltd.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Brazil</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar Construction (USA) LLC</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">USA</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar Projects K.K.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Japan</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">CSI&amp;GCL Solar Manufacturing (Yan Cheng) Inc.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">PRC</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar UK Ltd.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">United Kingdom</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar UK Projects Ltd.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">United Kingdom</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Changshu Tegu New Material Technology Co.,&nbsp;Ltd.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">PRC</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Changshu Tlian Co.,&nbsp;Ltd.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">PRC</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Recurrent Energy Group Inc.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">USA</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Recurrent Energy, LLC</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">USA</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">PT. Canadian Solar Indonesia</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Indonesia</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">67%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar Manufacturing Vietnam Co.,&nbsp;Ltd.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Vietnam</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar Energy Private Limited</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">India</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar MSS (Australia) Pty Ltd (formerly named/known as &#x201C;Canadian Solar Australia 1 Pty Ltd.&#x201D;)</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Australia</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar Energy Holding Company Limited</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Hong Kong</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar Energy Singapore Pte. Ltd.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Singapore</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar Manufacturing (Thailand) Co.,&nbsp;Ltd.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Thailand</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">99.99992%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar Sunenergy (Suzhou) Co.,&nbsp;Ltd.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">PRC</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar Sunenergy (Baotou) Co.,&nbsp;Ltd.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">PRC</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar Middle East DMCC</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">United Arab Emirates</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">CSI Investment Management (SuZhou) Co.,&nbsp;Ltd.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">PRC</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">CSI Cells (Yancheng) Co.,&nbsp;Ltd.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">PRC</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">*</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">CSI Modules (DaFeng) Co.,&nbsp;Ltd.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">PRC</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">**</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Suzhou Gaochuangte New Energy Development Co.,&nbsp;Ltd.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">PRC</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">90%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar Construction (Australia) Pty Ltd</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Australia</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">CSUK Energy Systems Construction and Generation JSC</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Turkey</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">CSI Modules (JiaXing) Co.,&nbsp;Ltd.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">PRC</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">CSI Wafer (LuoYang) Co.,&nbsp;Ltd.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">PRC</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar Manufacturing Taiwan Co.,&nbsp;Ltd.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Taiwan</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar Argentina Investment Holding Ltd.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Argentina</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar New Energy Holding Company Limited</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Hong Kong</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt 0pt 0pt 7.5pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar Energy Holding Singapore Pte. Ltd.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Singapore</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt 0pt 0pt 7.5pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar SSES (Canada) Inc.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canada</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt 0pt 0pt 7.5pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
		</table></div>
		<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;"></font>
		</p>
		<div style="width:100%;"><table cellpadding="0" cellspacing="0" style="border-collapse:collapse;width: 98.54%;"></table></div></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;">
		<p><font size="1"> </font></p></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;page-break-after:always;"><div style="background-color:#000000;clear:both;height:2pt;border:0;margin:30pt 0pt 30pt 0pt;"></div></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;"></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;"><div style="width:100%;"><table cellpadding="0" cellspacing="0" style="border-collapse:collapse;width: 98.54%;">
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;"></font></p>
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar SSES (UK) Ltd</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;&nbsp;&nbsp;&nbsp;</font></p>
				</td>
				<td valign="top" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">United Kingdom</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;&nbsp;&nbsp;&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar SSES (US) Inc.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">USA</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt 0pt 0pt 7.5pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar Asset Management LLC</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">USA</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt 0pt 0pt 7.5pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:58.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Canadian Solar Netherlands Cooperative U.A.</font></p>
				</td>
				<td valign="bottom" style="width:02.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:20.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Netherland</font></p>
				</td>
				<td valign="bottom" style="width:02.42%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt 0pt 0pt 7.5pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="bottom" style="width:17.10%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">100%</font></p>
				</td>
			</tr>
		</table></div>
		<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<p style="margin:0pt 0pt 12pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">* CSI Cells Co., Ltd. holds 52% equity rights of CSI Cells (Yan cheng) Co.,&nbsp;Ltd. a limited partnership fund, of which CSI Cells Co., Ltd. holds 37.33% shares as a limited partner and a wholly-owned subsidiary of CSI Solar Power Group Co.,&nbsp;Ltd. holds 0.17% shares as a general partner, holds 48% equity rights of CSI Cells (Yancheng) Co.,&nbsp;Ltd.</font>
		</p>
		<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">** Canadian Solar Manufacturing&nbsp;(Changshu) Inc. holds 3.12% equity rights of CSI Modules (DaFeng) Co.,&nbsp;Ltd. a limited partnership fund, of which Canadian Solar Manufacturing&nbsp;(Changshu)&nbsp;Inc. holds 20% shares as a limited partner and a wholly-owned subsidiary of CSI Solar Power Group Co.,&nbsp;Ltd. holds 0.067% shares as a general partner, holds 96.88% equity rights of CSI Modules (DaFeng) Co.,&nbsp;Ltd.</font>
		</p>
		<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;">
		<p><font size="1"> </font></p></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;page-break-after:avoid;"><div style="background-color:#000000;clear:both;height:2pt;border:0;margin:30pt 0pt 30pt 0pt;"></div></div>
	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-12.1
<SEQUENCE>4
<FILENAME>csiq-20191231xex12d1.htm
<DESCRIPTION>EXHIBIT 12.1
<TEXT>
<!--HTML document created with Toppan Merrill Bridge  9.6.0.116-->
<!--Created on: 4/28/2020 6:55:27 AM-->
<html>
	<head>
		<title>
			csiq_Ex12_1
		</title>
	</head>
	<body><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;"></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;">
		<p style="margin:0pt 0pt 12pt;text-indent:36pt;text-align:right;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">EXHIBIT&nbsp;12.1</font>
		</p>
		<p style="margin:0pt;text-align:center;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">Certification by the Chief Executive Officer</font>
		</p>
		<p style="margin:0pt 0pt 12pt;text-align:center;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">Pursuant to Section&nbsp;302 of the Sarbanes-Oxley Act of 2002</font>
		</p>
		<p style="margin:0pt 0pt 12pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">I, Shawn (Xiaohua) Qu, certify that:</font>
		</p>
		<p style="margin:0pt 0pt 12pt;text-indent:28.35pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I have reviewed this annual report on Form&nbsp;20-F of Canadian Solar Inc. (the &#x201C;Company&#x201D;);</font>
		</p>
		<p style="margin:0pt 0pt 12pt;text-indent:28.35pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</font>
		</p>
		<p style="margin:0pt 0pt 12pt;text-indent:28.35pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 this report;</font>
		</p>
		<p style="margin:0pt 0pt 12pt;text-indent:28.35pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">4.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Company&#x2019;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules&nbsp;13a-15(e)&nbsp;and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules&nbsp;13a-15(f)&nbsp;and 15d-15(f)) for the Company and have:</font>
		</p>
		<p style="margin:0pt 0pt 12pt 28.35pt;text-indent:21.3pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">(a)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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;</font>
		</p>
		<p style="margin:0pt 0pt 12pt 28.35pt;text-indent:21.3pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">(b)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</font>
		</p>
		<p style="margin:0pt 0pt 12pt 28.35pt;text-indent:21.3pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">(c)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Evaluated the effectiveness of the Company&#x2019;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</font>
		</p>
		<p style="margin:0pt 0pt 12pt 28.35pt;text-indent:21.3pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">(d)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Disclosed in this report any change in the Company&#x2019;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&#x2019;s internal control over financial reporting; and</font>
		</p>
		<p style="margin:0pt 0pt 12pt;text-indent:28.35pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">5.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Company&#x2019;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the Company&#x2019;s auditors and the audit committee of the Company&#x2019;s board of directors (or persons performing the equivalent functions):</font>
		</p>
		<p style="margin:0pt 0pt 12pt 28.35pt;text-indent:21.3pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">(a)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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&#x2019;s ability to record, process, summarize and report financial information; and</font>
		</p>
		<p style="margin:0pt 0pt 0pt 28.1pt;text-indent:21.6pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">(b)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Any fraud, whether or not material, that involves management or other employees who have a significant role in the Company&#x2019;s internal control over financial reporting.</font>
		</p>
		<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%;"><table cellpadding="0" cellspacing="0" style="border-collapse:collapse;width: 100.00%;">
			<tr>
				<td valign="top" style="width:04.16%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
				<td colspan="2" valign="top" style="width:46.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:49.54%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:04.16%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Date:</font></p>
				</td>
				<td colspan="2" valign="top" style="width:46.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">April 28, 2020</font></p>
				</td>
				<td valign="top" style="width:49.54%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:04.16%;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 5pt;">
						<font style="display:inline;font-size:5pt;">&nbsp;</font></p>
				</td>
				<td colspan="2" valign="top" style="width:46.30%;border-left:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 5pt;">
						<font style="display:inline;font-size:5pt;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:49.54%;border-left:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 5pt;">
						<font style="display:inline;font-size:5pt;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:04.16%;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">By:</font></p>
				</td>
				<td colspan="2" valign="top" style="width:46.30%;border-left:1pt none #D9D9D9 ;border-bottom:1pt solid #000000 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">/s/ Shawn (Xiaohua) Qu</font></p>
				</td>
				<td valign="top" style="width:49.54%;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:04.16%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:11.15pt;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;overflow: hidden;font-size:0pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:05.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:11.15pt;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Name:</font></p>
				</td>
				<td valign="top" style="width:41.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:11.15pt;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Shawn (Xiaohua) Qu</font></p>
				</td>
				<td valign="top" style="width:49.54%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:11.15pt;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;overflow: hidden;font-size:0pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:04.16%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:05.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Title:</font></p>
				</td>
				<td valign="top" style="width:41.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Chief Executive Officer</font></p>
				</td>
				<td valign="top" style="width:49.54%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
		</table></div>
		<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;">
		<p><font size="1"> </font></p></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;page-break-after:avoid;"><div style="background-color:#000000;clear:both;height:2pt;border:0;margin:30pt 0pt 30pt 0pt;"></div></div>
	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-12.2
<SEQUENCE>5
<FILENAME>csiq-20191231xex12d2.htm
<DESCRIPTION>EXHIBIT 12.2
<TEXT>
<!--HTML document created with Toppan Merrill Bridge  9.6.0.116-->
<!--Created on: 4/28/2020 6:55:28 AM-->
<html>
	<head>
		<title>
			csiq_Ex12_2
		</title>
	</head>
	<body><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;"></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;">
		<p style="margin:0pt 0pt 12pt;text-indent:36pt;text-align:right;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">EXHIBIT&nbsp;12.2</font>
		</p>
		<p style="margin:0pt;text-align:center;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">Certification by the Chief Financial Officer</font>
		</p>
		<p style="margin:0pt 0pt 12pt;text-align:center;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">Pursuant to Section&nbsp;302 of the Sarbanes-Oxley Act of 2002</font>
		</p>
		<p style="margin:0pt 0pt 12pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">I, Huifeng Chang, certify that:</font>
		</p>
		<p style="margin:0pt 0pt 12pt 288pt;text-indent: -259.65pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I have reviewed this annual report on Form&nbsp;20-F of Canadian Solar Inc. (the &#x201C;Company&#x201D;);</font>
		</p>
		<p style="margin:0pt 0pt 12pt;text-indent:28.35pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</font>
		</p>
		<p style="margin:0pt 0pt 12pt;text-indent:28.35pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 this report;</font>
		</p>
		<p style="margin:0pt 0pt 12pt;text-indent:28.35pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">4.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Company&#x2019;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules&nbsp;13a-15(e)&nbsp;and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules&nbsp;13a-15(f)&nbsp;and 15d-15(f)) for the Company and have:</font>
		</p>
		<p style="margin:0pt 0pt 12pt 28.35pt;text-indent:21.3pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">(a)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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;</font>
		</p>
		<p style="margin:0pt 0pt 12pt 28.35pt;text-indent:21.3pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">(b)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</font>
		</p>
		<p style="margin:0pt 0pt 12pt 28.35pt;text-indent:21.3pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">(c)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Evaluated the effectiveness of the Company&#x2019;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</font>
		</p>
		<p style="margin:0pt 0pt 12pt 28.35pt;text-indent:21.3pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">(d)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Disclosed in this report any change in the Company&#x2019;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&#x2019;s internal control over financial reporting; and</font>
		</p>
		<p style="margin:0pt 0pt 12pt;text-indent:28.35pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">5.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Company&#x2019;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the Company&#x2019;s auditors and the audit committee of the Company&#x2019;s board of directors (or persons performing the equivalent functions):</font>
		</p>
		<p style="margin:0pt 0pt 12pt 28.35pt;text-indent:21.3pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">(a)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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&#x2019;s ability to record, process, summarize and report financial information; and</font>
		</p>
		<p style="margin:0pt 0pt 0pt 28.1pt;text-indent:21.6pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">(b)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Any fraud, whether or not material, that involves management or other employees who have a significant role in the Company&#x2019;s internal control over financial reporting.</font>
		</p>
		<p style="margin:0pt 0pt 0pt 28.1pt;text-indent:21.6pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p>
		<div style="width:100%;"><table cellpadding="0" cellspacing="0" align="center" style="border-collapse:collapse;width: 100.00%;">
			<tr>
				<td valign="top" style="width:04.16%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
				<td colspan="2" valign="top" style="width:46.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:49.54%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:04.16%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Date:</font></p>
				</td>
				<td colspan="2" valign="top" style="width:46.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">April 28, 2020</font></p>
				</td>
				<td valign="top" style="width:49.54%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:04.16%;border-left:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 5pt;">
						<font style="display:inline;font-size:5pt;">&nbsp;</font></p>
				</td>
				<td colspan="2" valign="top" style="width:46.30%;border-left:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 5pt;">
						<font style="display:inline;font-size:5pt;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:49.54%;border-left:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 5pt;">
						<font style="display:inline;font-size:5pt;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:04.16%;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">By:</font></p>
				</td>
				<td colspan="2" valign="top" style="width:46.30%;border-left:1pt none #D9D9D9 ;border-bottom:1pt solid #000000 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">/s/ Huifeng Chang</font></p>
				</td>
				<td valign="top" style="width:49.54%;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:04.16%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:11.15pt;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;overflow: hidden;font-size:0pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:04.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:11.15pt;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Name:</font></p>
				</td>
				<td valign="top" style="width:42.12%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:11.15pt;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Huifeng Chang</font></p>
				</td>
				<td valign="top" style="width:49.54%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:11.15pt;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;overflow: hidden;font-size:0pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:04.16%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:04.18%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Title:</font></p>
				</td>
				<td valign="top" style="width:42.12%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Chief Financial Officer</font></p>
				</td>
				<td valign="top" style="width:49.54%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
		</table></div>
		<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;">
		<p><font size="1"> </font></p></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;page-break-after:avoid;"><div style="background-color:#000000;clear:both;height:2pt;border:0;margin:30pt 0pt 30pt 0pt;"></div></div>
	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-13.1
<SEQUENCE>6
<FILENAME>csiq-20191231xex13d1.htm
<DESCRIPTION>EXHIBIT 13.1
<TEXT>
<!--HTML document created with Toppan Merrill Bridge  9.6.0.116-->
<!--Created on: 4/28/2020 6:55:28 AM-->
<html>
	<head>
		<title>
			csiq_Ex13_1
		</title>
	</head>
	<body><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;"></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;">
		<p style="margin:0pt 0pt 12pt;text-indent:36pt;text-align:right;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">EXHIBIT&nbsp;13.1</font>
		</p>
		<p style="margin:0pt;text-align:center;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">Certification by the Chief Executive Officer</font>
		</p>
		<p style="margin:0pt 0pt 12pt;text-align:center;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">Pursuant to Section&nbsp;906 of the Sarbanes-Oxley Act of 2002</font>
		</p>
		<p style="margin:0pt 0pt 12pt;text-indent:36pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">In connection with the Annual Report of Canadian Solar Inc. (the &#x201C;Company&#x201D;) on Form&nbsp;20-F for the year ended December&nbsp;31, 2019 as filed with the Securities and Exchange Commission on the date hereof (the &#x201C;Report&#x201D;),&nbsp;I, Shawn (Xiaohua) Qu, Chief Executive Officer of the Company, certify, pursuant to 18 U.S.C. Section&nbsp;1350, as adopted pursuant to Section&nbsp;906 of the Sarbanes-Oxley Act of 2002, that to my knowledge:</font>
		</p>
		<p style="margin:0pt 0pt 12pt;text-indent:35.45pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">(1).&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Report fully complies with the requirements of Section&nbsp;13(a)&nbsp;or 15(d)&nbsp;of the Securities Exchange Act of 1934; and</font>
		</p>
		<p style="margin:0pt;text-indent:35.3pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">(2).&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font>
		</p>
		<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 12pt;">
			<font style="display:inline;font-size:12pt;">&nbsp;</font>
		</p>
		<div style="width:100%;"><table cellpadding="0" cellspacing="0" align="center" style="border-collapse:collapse;width: 100.00%;">
			<tr>
				<td valign="top" style="width:04.16%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
				<td colspan="2" valign="top" style="width:46.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:49.54%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:04.16%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Date:</font></p>
				</td>
				<td colspan="2" valign="top" style="width:46.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">April 28, 2020</font></p>
				</td>
				<td valign="top" style="width:49.54%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:04.16%;border-left:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 5pt;">
						<font style="display:inline;font-size:5pt;">&nbsp;</font></p>
				</td>
				<td colspan="2" valign="top" style="width:46.30%;border-left:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 5pt;">
						<font style="display:inline;font-size:5pt;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:49.54%;border-left:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 5pt;">
						<font style="display:inline;font-size:5pt;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:04.16%;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">By:</font></p>
				</td>
				<td colspan="2" valign="top" style="width:46.30%;border-left:1pt none #D9D9D9 ;border-bottom:1pt solid #000000 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">/s/ Shawn (Xiaohua) Qu</font></p>
				</td>
				<td valign="top" style="width:49.54%;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:04.16%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:11.15pt;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;overflow: hidden;font-size:0pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:05.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:11.15pt;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Name:</font></p>
				</td>
				<td valign="top" style="width:41.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:11.15pt;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Shawn (Xiaohua) Qu</font></p>
				</td>
				<td valign="top" style="width:49.54%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:11.15pt;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;overflow: hidden;font-size:0pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:04.16%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:05.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Title:</font></p>
				</td>
				<td valign="top" style="width:41.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Chief Executive Officer</font></p>
				</td>
				<td valign="top" style="width:49.54%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
		</table></div>
		<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;">
		<p><font size="1"> </font></p></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;page-break-after:avoid;"><div style="background-color:#000000;clear:both;height:2pt;border:0;margin:30pt 0pt 30pt 0pt;"></div></div>
	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-13.2
<SEQUENCE>7
<FILENAME>csiq-20191231xex13d2.htm
<DESCRIPTION>EXHIBIT 13.2
<TEXT>
<!--HTML document created with Toppan Merrill Bridge  9.6.0.116-->
<!--Created on: 4/28/2020 6:55:29 AM-->
<html>
	<head>
		<title>
			csiq_Ex13_2
		</title>
	</head>
	<body><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;"></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;">
		<p style="margin:0pt 0pt 12pt;text-indent:36pt;text-align:right;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">EXHIBIT&nbsp;13.2</font>
		</p>
		<p style="margin:0pt;text-align:center;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">Certification by the Chief Financial Officer</font>
		</p>
		<p style="margin:0pt 0pt 12pt;text-align:center;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">Pursuant to Section&nbsp;906 of the Sarbanes-Oxley Act of 2002</font>
		</p>
		<p style="margin:0pt 0pt 12pt;text-indent:36pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">In connection with the Annual Report of Canadian Solar Inc. (the &#x201C;Company&#x201D;) on Form&nbsp;20-F for the year ended December&nbsp;31, 2019 as filed with the Securities and Exchange Commission on the date hereof (the &#x201C;Report&#x201D;),&nbsp;I, Huifeng Chang, Chief Financial Officer of the Company, certify, pursuant to 18 U.S.C. Section&nbsp;1350, as adopted pursuant to Section&nbsp;906 of the Sarbanes-Oxley Act of 2002, that to my knowledge:</font>
		</p>
		<p style="margin:0pt 0pt 12pt;text-indent:35.45pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">(1).&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Report fully complies with the requirements of Section&nbsp;13(a)&nbsp;or 15(d)&nbsp;of the Securities Exchange Act of 1934; and</font>
		</p>
		<p style="margin:0pt;text-indent:35.3pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">(2).&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font>
		</p>
		<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 12pt;">
			<font style="display:inline;font-size:12pt;">&nbsp;</font>
		</p>
		<div style="width:100%;"><table cellpadding="0" cellspacing="0" align="center" style="border-collapse:collapse;width: 100.00%;">
			<tr>
				<td valign="top" style="width:04.16%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
				<td colspan="2" valign="top" style="width:46.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:49.54%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:1.00pt;padding:0pt;">
					<p style="margin:0pt;font-family:Times New Roman,Times,serif;height:1.00pt;overflow:hidden;font-size:0pt;">
						<font style="display:inline;font-size:1pt;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:04.16%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Date:</font></p>
				</td>
				<td colspan="2" valign="top" style="width:46.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">April 28, 2020</font></p>
				</td>
				<td valign="top" style="width:49.54%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:04.16%;border-left:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 5pt;">
						<font style="display:inline;font-size:5pt;">&nbsp;</font></p>
				</td>
				<td colspan="2" valign="top" style="width:46.30%;border-left:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 5pt;">
						<font style="display:inline;font-size:5pt;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:49.54%;border-left:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 5pt;">
						<font style="display:inline;font-size:5pt;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:04.16%;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">By:</font></p>
				</td>
				<td colspan="2" valign="top" style="width:46.30%;border-left:1pt none #D9D9D9 ;border-bottom:1pt solid #000000 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">/s/ Huifeng Chang</font></p>
				</td>
				<td valign="top" style="width:49.54%;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:04.16%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:11.15pt;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;overflow: hidden;font-size:0pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:05.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:11.15pt;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Name:</font></p>
				</td>
				<td valign="top" style="width:41.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:11.15pt;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Huifeng Chang</font></p>
				</td>
				<td valign="top" style="width:49.54%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;height:11.15pt;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;overflow: hidden;font-size:0pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:04.16%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:05.00%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Title:</font></p>
				</td>
				<td valign="top" style="width:41.30%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Chief Financial Officer</font></p>
				</td>
				<td valign="top" style="width:49.54%;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
		</table></div>
		<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;">
		<p><font size="1"> </font></p></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;page-break-after:avoid;"><div style="background-color:#000000;clear:both;height:2pt;border:0;margin:30pt 0pt 30pt 0pt;"></div></div>
	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-15.1
<SEQUENCE>8
<FILENAME>csiq-20191231xex15d1.htm
<DESCRIPTION>EXHIBIT 15.1
<TEXT>
<!--HTML document created with Toppan Merrill Bridge  9.6.0.116-->
<!--Created on: 4/28/2020 6:55:30 AM-->
<html>
	<head>
		<title>
			csiq_Ex15_1
		</title>
	</head>
	<body><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;"></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;">
		<p style="margin:0pt 0pt 12pt;text-indent:36pt;text-align:right;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">EXHIBIT&nbsp;15.1</font>
		</p>
		<p style="margin:0pt 0pt 12pt;text-align:center;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;font-weight:bold;">CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</font>
		</p>
		<p style="margin:0pt;text-indent:36pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">We consent to the incorporation by reference in Registration Statement Nos. 333-147042, 333-178187 and 333-201766 on Form&nbsp;S-8 and Registration Statement No.&nbsp;333-208828 on Form&nbsp;F-3 of our reports dated April 28, &nbsp;2020, relating to the financial statements of Canadian Solar Inc. and subsidiaries (the &#x201C;Company&#x201D;), and the effectiveness of the Company&#x2019;s internal control over financial reporting, appearing in this Annual Report on Form&nbsp;20-F of the Company for the year ended December&nbsp;31, 2019.</font>
		</p>
		<p style="margin:0pt;font-family:Times New Roman,Times,serif;font-size: 12pt;">
			<font style="display:inline;font-size:12pt;">&nbsp;</font>
		</p>
		<div style="width:100%;"><table cellpadding="0" cellspacing="0" style="border-collapse:collapse;width: 100.00%;">
			<tr>
				<td colspan="2" valign="top" style="width:451.35pt;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">/s/ Deloitte Touche Tohmatsu Certified Public Accountants LLP</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:225.70pt;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
				<td valign="top" style="width:288.00pt;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:225.70pt;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">Shanghai, China</font></p>
				</td>
				<td valign="top" style="width:288.00pt;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
			<tr>
				<td valign="top" style="width:225.70pt;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">April 28, 2020</font></p>
				</td>
				<td valign="top" style="width:288.00pt;border-top:1pt none #D9D9D9 ;border-left:1pt none #D9D9D9 ;border-bottom:1pt none #D9D9D9 ;border-right:1pt none #D9D9D9 ;padding:0pt;">
					<p style="margin:0pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
						<font style="display:inline;">&nbsp;</font></p>
				</td>
			</tr>
		</table></div>
		<p style="margin:0pt 0pt 18.1pt;text-align:justify;text-justify:inter-ideograph;font-family:Times New Roman,Times,serif;font-size: 10pt;">
			<font style="display:inline;">&nbsp;</font>
		</p></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;">
		<p><font size="1"> </font></p></div><div style="margin-left:5.88235294117647%;margin-right:5.88235294117647%;page-break-after:avoid;"><div style="background-color:#000000;clear:both;height:2pt;border:0;margin:30pt 0pt 30pt 0pt;"></div></div>
	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>9
<FILENAME>csiq-20191231.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  9.6.7401.38943 -->
<!--Based on XBRL 2.1-->
<!--Created on: 4/28/2020 12:56:24 PM-->
<!--Modified on: 4/28/2020 12:56:24 PM-->
<xsd:schema targetNamespace="http://www.canadiansolar.com/20191231" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:csiq="http://www.canadiansolar.com/20191231" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:num="http://www.xbrl.org/dtr/type/numeric" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:country="http://xbrl.sec.gov/country/2017-01-31" xmlns:us-gaap="http://fasb.org/us-gaap/2019-01-31" xmlns:us-types="http://fasb.org/us-types/2019-01-31" xmlns:dei="http://xbrl.sec.gov/dei/2019-01-31" xmlns:us-roles="http://fasb.org/us-roles/2019-01-31" xmlns:negated="http://www.xbrl.org/2009/role/negated" xmlns:srt-types="http://fasb.org/srt-types/2019-01-31">
  <xsd:annotation>
    <xsd:appinfo>
      <link:roleType roleURI="http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets" id="StatementConsolidatedBalanceSheets">
        <link:definition>00100 - 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://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations" id="StatementConsolidatedStatementsOfOperations">
        <link:definition>00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" id="StatementConsolidatedStatementsOfComprehensiveIncome">
        <link:definition>00300 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows" id="StatementConsolidatedStatementsOfCashFlows">
        <link:definition>00500 - 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://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical" id="StatementConsolidatedStatementsOfCashFlowsParenthetical">
        <link:definition>00505 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails">
        <link:definition>40209 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating 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://www.canadiansolar.com/role/DisclosureInventoriesDetails" id="DisclosureInventoriesDetails">
        <link:definition>40401 - 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://www.canadiansolar.com/role/DisclosureProjectAssetsDetails" id="DisclosureProjectAssetsDetails">
        <link:definition>40501 - Disclosure - PROJECT ASSETS (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" id="DisclosurePropertyPlantAndEquipmentNetDetails">
        <link:definition>40601 - 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://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails" id="DisclosureSolarPowerSystemsNetDetails">
        <link:definition>40701 - Disclosure - SOLAR POWER SYSTEMS, 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://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails" id="DisclosureIntangibleAssetsNetDetails">
        <link:definition>40801 - 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://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails" id="DisclosureVariableInterestEntitiesDetails">
        <link:definition>41001 - Disclosure - VARIABLE INTEREST ENTITIES (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails3Calc2" id="DisclosureBorrowingsLongTermDetails3Calc2">
        <link:definition>41103 - Disclosure - BORROWINGS - Long term (Details 3) (Calc 2)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails" id="DisclosureLeaseLeaseExpenseDetails">
        <link:definition>41201 - Disclosure - LEASE - Lease expense (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails" id="DisclosureLeaseOperatingLeasesMaturitiesDetails">
        <link:definition>41204 - Disclosure - LEASE - Operating leases - Maturities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails" id="DisclosureLeaseOperatingLeasesGrossDifferenceDetails">
        <link:definition>41205 - Disclosure - LEASE - Operating leases - Gross difference (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails" id="DisclosureLeaseFinanceLeasesMaturitiesDetails">
        <link:definition>41206 - Disclosure - LEASE - Finance leases - Maturities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails" id="DisclosureLeaseFinanceLeasesGrossDifferenceDetails">
        <link:definition>41207 - Disclosure - LEASE - Finance leases - Gross difference (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails" id="DisclosureLeaseTotalLeasesMaturitiesDetails">
        <link:definition>41208 - Disclosure - LEASE - Total leases - Maturities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails" id="DisclosureLeaseTotalLeasesGrossDifferenceDetails">
        <link:definition>41209 - Disclosure - LEASE - Total leases - Gross difference (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails" id="DisclosureLeaseTotalLeasesSummaryDetails">
        <link:definition>41210 - Disclosure - LEASE - Total leases - Summary (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsDetails" id="DisclosureBorrowingsDetails">
        <link:definition>41301 - Disclosure - 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://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails" id="DisclosureBorrowingsLongTermDetails">
        <link:definition>41303 - Disclosure - BORROWINGS - Long term (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" id="DisclosureIncomeTaxesProvisionForIncomeTaxesDetails">
        <link:definition>41801 - Disclosure - INCOME TAXES - Provision for 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://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" id="DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails">
        <link:definition>41803 - Disclosure - INCOME TAXES - Deferred tax 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://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails" id="DisclosureIncomeTaxesReconciliationDetails">
        <link:definition>41804 - Disclosure - INCOME TAXES - Reconciliation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails" id="DisclosureEarningsPerShareDetails">
        <link:definition>41901 - Disclosure - EARNINGS PER SHARE (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails" id="DisclosureFinancialStatementScheduleIBalanceSheetsDetails">
        <link:definition>42702 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" id="DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails">
        <link:definition>42704 - Disclosure - Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails" id="DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails">
        <link:definition>42705 - Disclosure - Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" id="DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails">
        <link:definition>42706 - Disclosure - Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation" id="DocumentDocumentAndEntityInformation">
        <link:definition>00090 - Document - Document and Entity Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical" id="StatementConsolidatedBalanceSheetsParenthetical">
        <link:definition>00105 - 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://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity" id="StatementConsolidatedStatementsOfChangesInEquity">
        <link:definition>00400 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivities" id="DisclosureOrganizationAndPrincipalActivities">
        <link:definition>10101 - Disclosure - ORGANIZATION AND PRINCIPAL ACTIVITIES</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPolicies" id="DisclosureSummaryOfPrincipalAccountingPolicies">
        <link:definition>10201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccounts" id="DisclosureAllowanceForDoubtfulAccounts">
        <link:definition>10301 - Disclosure - ALLOWANCE FOR DOUBTFUL ACCOUNTS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureInventories" id="DisclosureInventories">
        <link:definition>10401 - 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://www.canadiansolar.com/role/DisclosureProjectAssets" id="DisclosureProjectAssets">
        <link:definition>10501 - Disclosure - PROJECT ASSETS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNet" id="DisclosurePropertyPlantAndEquipmentNet">
        <link:definition>10601 - 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://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNet" id="DisclosureSolarPowerSystemsNet">
        <link:definition>10701 - Disclosure - SOLAR POWER SYSTEMS, 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://www.canadiansolar.com/role/DisclosureIntangibleAssetsNet" id="DisclosureIntangibleAssetsNet">
        <link:definition>10801 - 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://www.canadiansolar.com/role/DisclosureFairValueMeasurement" id="DisclosureFairValueMeasurement">
        <link:definition>10901 - Disclosure - FAIR VALUE MEASUREMENT</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureVariableInterestEntities" id="DisclosureVariableInterestEntities">
        <link:definition>11001 - Disclosure - VARIABLE INTEREST ENTITIES</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliates" id="DisclosureInvestmentsInAffiliates">
        <link:definition>11101 - 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://www.canadiansolar.com/role/DisclosureBorrowings" id="DisclosureBorrowings">
        <link:definition>11301 - Disclosure - 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://www.canadiansolar.com/role/DisclosureShortTermNotesPayable" id="DisclosureShortTermNotesPayable">
        <link:definition>11401 - Disclosure - SHORT-TERM NOTES 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://www.canadiansolar.com/role/DisclosureAccruedWarrantyCosts" id="DisclosureAccruedWarrantyCosts">
        <link:definition>11501 - Disclosure - ACCRUED WARRANTY COSTS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureRestrictedNetAssets" id="DisclosureRestrictedNetAssets">
        <link:definition>11601 - Disclosure - RESTRICTED NET ASSETS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureConvertibleNotes" id="DisclosureConvertibleNotes">
        <link:definition>11701 - Disclosure - CONVERTIBLE NOTES</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxes" id="DisclosureIncomeTaxes">
        <link:definition>11801 - Disclosure - INCOME TAXES</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureEarningsPerShare" id="DisclosureEarningsPerShare">
        <link:definition>11901 - Disclosure - EARNINGS PER SHARE</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactions" id="DisclosureRelatedPartyBalancesAndTransactions">
        <link:definition>12001 - Disclosure - RELATED PARTY BALANCES AND 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://www.canadiansolar.com/role/DisclosureCommitmentsAndContingencies" id="DisclosureCommitmentsAndContingencies">
        <link:definition>12101 - Disclosure - COMMITMENTS AND CONTINGENCIES</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformation" id="DisclosureSegmentInformation">
        <link:definition>12201 - 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://www.canadiansolar.com/role/DisclosureMajorCustomers" id="DisclosureMajorCustomers">
        <link:definition>12301 - Disclosure - MAJOR CUSTOMERS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlans" id="DisclosureEmployeeBenefitPlans">
        <link:definition>12401 - Disclosure - EMPLOYEE BENEFIT PLANS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensation" id="DisclosureShareBasedCompensation">
        <link:definition>12501 - Disclosure - SHARE-BASED COMPENSATION</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSubsequentEvents" id="DisclosureSubsequentEvents">
        <link:definition>12601 - Disclosure - SUBSEQUENT EVENTS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureAdditionalInformationFinancialStatementScheduleI" id="DisclosureAdditionalInformationFinancialStatementScheduleI">
        <link:definition>12701 - Disclosure - Additional Information - Financial Statement Schedule I</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsi" id="DisclosureAppendix1MajorSubsidiariesOfCsi">
        <link:definition>12801 - Disclosure - Appendix 1 - Major Subsidiaries of CSI</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies" id="DisclosureSummaryOfPrincipalAccountingPoliciesPolicies">
        <link:definition>20202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables" id="DisclosureSummaryOfPrincipalAccountingPoliciesTables">
        <link:definition>30203 - Disclosure - SUMMARY OF PRINCIPAL 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://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsTables" id="DisclosureAllowanceForDoubtfulAccountsTables">
        <link:definition>30303 - Disclosure - ALLOWANCE FOR DOUBTFUL ACCOUNTS (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureInventoriesTables" id="DisclosureInventoriesTables">
        <link:definition>30403 - 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://www.canadiansolar.com/role/DisclosureProjectAssetsTables" id="DisclosureProjectAssetsTables">
        <link:definition>30503 - Disclosure - PROJECT ASSETS (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetTables" id="DisclosurePropertyPlantAndEquipmentNetTables">
        <link:definition>30603 - 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://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetTables" id="DisclosureSolarPowerSystemsNetTables">
        <link:definition>30703 - Disclosure - SOLAR POWER SYSTEMS, 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://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetTables" id="DisclosureIntangibleAssetsNetTables">
        <link:definition>30803 - Disclosure - INTANGIBLE ASSETS, 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://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables" id="DisclosureFairValueMeasurementTables">
        <link:definition>30903 - Disclosure - FAIR VALUE MEASUREMENT (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesTables" id="DisclosureVariableInterestEntitiesTables">
        <link:definition>31003 - Disclosure - VARIABLE INTEREST ENTITIES (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTables" id="DisclosureInvestmentsInAffiliatesTables">
        <link:definition>31103 - 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://www.canadiansolar.com/role/DisclosureBorrowingsTables" id="DisclosureBorrowingsTables">
        <link:definition>31303 - Disclosure - BORROWINGS (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsTables" id="DisclosureAccruedWarrantyCostsTables">
        <link:definition>31503 - Disclosure - ACCRUED WARRANTY COSTS (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables" id="DisclosureIncomeTaxesTables">
        <link:definition>31803 - Disclosure - INCOME TAXES (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureEarningsPerShareTables" id="DisclosureEarningsPerShareTables">
        <link:definition>31903 - Disclosure - EARNINGS PER SHARE (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables" id="DisclosureCommitmentsAndContingenciesTables">
        <link:definition>32103 - Disclosure - COMMITMENTS AND CONTINGENCIES (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationTables" id="DisclosureSegmentInformationTables">
        <link:definition>32203 - 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://www.canadiansolar.com/role/DisclosureMajorCustomersTables" id="DisclosureMajorCustomersTables">
        <link:definition>32303 - Disclosure - MAJOR CUSTOMERS (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationTables" id="DisclosureShareBasedCompensationTables">
        <link:definition>32503 - Disclosure - SHARE-BASED COMPENSATION (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails">
        <link:definition>40201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Allowance for doubtful receivables (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails">
        <link:definition>40202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Property, plant and equipment (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails">
        <link:definition>40203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Prepaid land use rights (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails">
        <link:definition>40204 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Asset retirement obligation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails">
        <link:definition>40205 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails">
        <link:definition>40206 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Disaggregation of Revenue (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails">
        <link:definition>40207 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - 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://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDefaultDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDefaultDetails">
        <link:definition>40207 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities Default (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails">
        <link:definition>40208 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Shipping and handling costs, Research and development (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails">
        <link:definition>40210 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails">
        <link:definition>40211 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Recently issued accounting pronouncements (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsDetails" id="DisclosureAllowanceForDoubtfulAccountsDetails">
        <link:definition>40301 - Disclosure - ALLOWANCE FOR DOUBTFUL ACCOUNTS (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails" id="DisclosureFairValueMeasurementDetails">
        <link:definition>40901 - Disclosure - FAIR VALUE MEASUREMENT (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails" id="DisclosureFairValueMeasurementInterestRateSwapDetails">
        <link:definition>40902 - Disclosure - FAIR VALUE MEASUREMENT - Interest rate swap (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails" id="DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails">
        <link:definition>40903 - Disclosure - FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails" id="DisclosureFairValueMeasurementCarryingValueDetails">
        <link:definition>40904 - Disclosure - FAIR VALUE MEASUREMENT - Carrying value (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails" id="DisclosureInvestmentsInAffiliatesDetails">
        <link:definition>41101 - 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://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails" id="DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails">
        <link:definition>41102 - Disclosure - INVESTMENTS IN AFFILIATES - Tax equity transactions (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails" id="DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails">
        <link:definition>41103 - Disclosure - INVESTMENTS IN AFFILIATES - Other investments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsShortTermDetails" id="DisclosureBorrowingsShortTermDetails">
        <link:definition>41302 - Disclosure - BORROWINGS - Short term (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails" id="DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails">
        <link:definition>41304 - Disclosure - BORROWINGS - Long term narrative and interest expense (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureShortTermNotesPayableDetails" id="DisclosureShortTermNotesPayableDetails">
        <link:definition>41401 - Disclosure - SHORT-TERM NOTES PAYABLE (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails" id="DisclosureAccruedWarrantyCostsDetails">
        <link:definition>41501 - Disclosure - ACCRUED WARRANTY COSTS (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureRestrictedNetAssetsDetails" id="DisclosureRestrictedNetAssetsDetails">
        <link:definition>41601 - Disclosure - RESTRICTED NET ASSETS (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails" id="DisclosureConvertibleNotesDetails">
        <link:definition>41701 - Disclosure - CONVERTIBLE NOTES (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails" id="DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails">
        <link:definition>41802 - Disclosure - INCOME TAXES - Domestic federal statutory tax rates (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails" id="DisclosureIncomeTaxesMovementOfValuationAllowanceDetails">
        <link:definition>41805 - Disclosure - INCOME TAXES - Movement of the valuation allowance (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails" id="DisclosureRelatedPartyBalancesAndTransactionsDetails">
        <link:definition>42001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails" id="DisclosureCommitmentsAndContingenciesCommitmentsDetails">
        <link:definition>42101 - Disclosure - COMMITMENTS AND CONTINGENCIES - Commitments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" id="DisclosureCommitmentsAndContingenciesContingenciesDetails">
        <link:definition>42102 - Disclosure - COMMITMENTS AND CONTINGENCIES - Contingencies (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails" id="DisclosureSegmentInformationDetails">
        <link:definition>42201 - 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://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails" id="DisclosureSegmentInformationDifferentGeographicLocationsDetails">
        <link:definition>42202 - Disclosure - SEGMENT INFORMATION - Different geographic locations (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails" id="DisclosureSegmentInformationEachProductOrServiceDetails">
        <link:definition>42203 - Disclosure - SEGMENT INFORMATION - Each product or service (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails" id="DisclosureMajorCustomersDetails">
        <link:definition>42301 - Disclosure - MAJOR CUSTOMERS (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails" id="DisclosureEmployeeBenefitPlansDetails">
        <link:definition>42401 - Disclosure - EMPLOYEE BENEFIT PLANS (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails" id="DisclosureShareBasedCompensationOptionsToEmployeesDetails">
        <link:definition>42501 - Disclosure - SHARE-BASED COMPENSATION - Options to Employees (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails" id="DisclosureShareBasedCompensationRsusToEmployeesDetails">
        <link:definition>42502 - Disclosure - SHARE-BASED COMPENSATION - RSUs to Employees (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSubsequentEventsDetails" id="DisclosureSubsequentEventsDetails">
        <link:definition>42601 - Disclosure - SUBSEQUENT EVENTS (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIDetails" id="DisclosureFinancialStatementScheduleIDetails">
        <link:definition>42701 - Disclosure - Financial Statement Schedule I (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails" id="DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails">
        <link:definition>42703 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails" id="DisclosureAppendix1MajorSubsidiariesOfCsiDetails">
        <link:definition>42801 - Disclosure - Appendix 1 - Major Subsidiaries of CSI (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical" id="StatementConsolidatedStatementsOfChangesInEquityParenthetical">
        <link:definition>00405 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureLease" id="DisclosureLease">
        <link:definition>11201 - Disclosure - LEASE</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTables" id="DisclosureLeaseTables">
        <link:definition>31203 - Disclosure - LEASE (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails" id="DisclosureLeaseCashFlowDetails">
        <link:definition>41202 - Disclosure - LEASE - Cash flow (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails" id="DisclosureLeaseAdditionalInformationDetails">
        <link:definition>41203 - Disclosure - LEASE - Additional information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:linkbaseRef xlink:type="simple" xlink:href="csiq-20191231_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="csiq-20191231_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="csiq-20191231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="csiq-20191231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
    </xsd:appinfo>
  </xsd:annotation>
  <xsd:import namespace="http://www.xbrl.org/dtr/type/non-numeric" schemaLocation="http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd" />
  <xsd:import namespace="http://www.xbrl.org/dtr/type/numeric" schemaLocation="http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/dei/2019-01-31" schemaLocation="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd" />
  <xsd:import namespace="http://fasb.org/us-roles/2019-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2019/elts/us-roles-2019-01-31.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
  <xsd:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" />
  <import namespace="http://www.xbrl.org/2009/role/net" schemaLocation="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd" xmlns="http://www.w3.org/2001/XMLSchema" />
  <import namespace="http://fasb.org/us-gaap/2019-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd" xmlns="http://www.w3.org/2001/XMLSchema" />
  <import namespace="http://fasb.org/srt/2019-01-31" schemaLocation="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd" xmlns="http://www.w3.org/2001/XMLSchema" />
  <import namespace="http://xbrl.sec.gov/country/2017-01-31" schemaLocation="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_AdvancesOnInventoryPurchasesNonCurrent" name="AdvancesOnInventoryPurchasesNonCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <xsd:element name="AdvancesToSuppliersPolicyTextBlock" id="csiq_AdvancesToSuppliersPolicyTextBlock" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="AllowanceForAdvancesToSuppliersMember" id="csiq_AllowanceForAdvancesToSuppliersMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="AllowanceForDoubtfulAccountsPolicyTextBlock" id="csiq_AllowanceForDoubtfulAccountsPolicyTextBlock" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="AllowanceForDoubtfulAdvancesToSuppliersCurrent" id="csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element name="AllowanceForDoubtfulAdvancesToSuppliersNoncurrent" id="csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element name="AmericaMember" id="csiq_AmericaMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" id="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" type="num:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" id="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" type="num:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="AssetsAcquisitionPolicyTextBlock" id="csiq_AssetsAcquisitionPolicyTextBlock" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CSISolarTechnologiesIncMember" id="csiq_CSISolarTechnologiesIncMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CSISolartronicsChangshuCoLtdMember" id="csiq_CSISolartronicsChangshuCoLtdMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CanadianSolarAustraliaPtyLtdMember" id="csiq_CanadianSolarAustraliaPtyLtdMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CanadianSolarEMEAGmbHMember" id="csiq_CanadianSolarEMEAGmbHMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CanadianSolarInternationalLtdMember" id="csiq_CanadianSolarInternationalLtdMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CanadianSolarInternationalProjectHoldingLimitedMember" id="csiq_CanadianSolarInternationalProjectHoldingLimitedMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CanadianSolarJapanKKMember" id="csiq_CanadianSolarJapanKKMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CanadianSolarManufacturingLuoyangIncMember" id="csiq_CanadianSolarManufacturingLuoyangIncMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CanadianSolarOAndMOntarioIncMember" id="csiq_CanadianSolarOAndMOntarioIncMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CanadianSolarSolutionsIncMember" id="csiq_CanadianSolarSolutionsIncMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CanadianSolarSouthAfricaPtyLtdMember" id="csiq_CanadianSolarSouthAfricaPtyLtdMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <element id="csiq_CanadianSolarSouthEastAsiaPteLtdMember" name="CanadianSolarSouthEastAsiaPteLtdMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <xsd:element name="CanadianSolarUSAIncMember" id="csiq_CanadianSolarUSAIncMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ChineseCommercialBanksMember" id="csiq_ChineseCommercialBanksMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ClassActionLawsuitsFiledInNewYorkMember" id="csiq_ClassActionLawsuitsFiledInNewYorkMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CompanyAMember" id="csiq_CompanyAMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CostOfGoodsAndServicesSoldNonrelatedParties" id="csiq_CostOfGoodsAndServicesSoldNonrelatedParties" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element name="CustomerOneMember" id="csiq_CustomerOneMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CustomerThreeMember" id="csiq_CustomerThreeMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="CustomerTwoMember" id="csiq_CustomerTwoMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="DefinedContributionPlanEmployerContributionAmount" id="csiq_DefinedContributionPlanEmployerContributionAmount" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element name="DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" id="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" type="num:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" id="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" type="num:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" id="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" type="num:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" id="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" type="num:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="EPCServiceProductMember" id="csiq_EPCServiceProductMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" id="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" type="num:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ForeignCurrencyRiskPolicyTextBlock" id="csiq_ForeignCurrencyRiskPolicyTextBlock" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="IncomeTaxAdditionalDisclosureAbstract" id="csiq_IncomeTaxAdditionalDisclosureAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="IncomeTaxHolidayAbstract" id="csiq_IncomeTaxHolidayAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" id="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" type="num:perShareItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" id="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" type="num:perShareItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="IncomeTaxesForeignCorporateTaxRate" id="csiq_IncomeTaxesForeignCorporateTaxRate" type="num:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="IncomeTaxesLineItems" id="csiq_IncomeTaxesLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="IncomeTaxesTable" id="csiq_IncomeTaxesTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="IncreaseDecreaseInAdvanceToSuppliers" id="csiq_IncreaseDecreaseInAdvanceToSuppliers" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" />
  <xsd:element name="IncreaseDecreaseInPrepaidLandUseRight" id="csiq_IncreaseDecreaseInPrepaidLandUseRight" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" />
  <xsd:element name="IncreaseDecreaseInProjectAssets" id="csiq_IncreaseDecreaseInProjectAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" />
  <xsd:element name="InsurancePolicyTerm" id="csiq_InsurancePolicyTerm" type="xbrli:durationItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="InsurancePremiumUnamortizedAmountNoncurrent" id="csiq_InsurancePremiumUnamortizedAmountNoncurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" />
  <element id="csiq_InterestCostsCapitalizedProjectAssets" name="InterestCostsCapitalizedProjectAssets" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment" name="InterestCostsCapitalizedPropertyPlantAndEquipment" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <xsd:element name="LineOfCreditFacilityMaturityTerm" id="csiq_LineOfCreditFacilityMaturityTerm" type="xbrli:durationItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="LossContingencyProvisionReversed" id="csiq_LossContingencyProvisionReversed" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element name="MajorCustomersDisclosureAbstract" id="csiq_MajorCustomersDisclosureAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="MajorCustomersDisclosureTextBlock" id="csiq_MajorCustomersDisclosureTextBlock" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage" id="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage" type="num:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="instant" />
  <xsd:element name="ModuleSegmentMember" id="csiq_ModuleSegmentMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="NonBindingLineOfCreditMember" id="csiq_NonBindingLineOfCreditMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <element id="csiq_NumberOfBoardMembers" name="NumberOfBoardMembers" nillable="true" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <xsd:element name="NumberOfBoardMembersDesignatedByTheAcquiredEntity" id="csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity" type="xbrli:integerItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="NumberOfCustomers" id="csiq_NumberOfCustomers" type="xbrli:integerItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="NumberOfSubpoenasReceived" id="csiq_NumberOfSubpoenasReceived" type="xbrli:integerItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="OAndMServicesProductMember" id="csiq_OAndMServicesProductMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <element id="csiq_OperatingLossCarryforwardsSubjectToExpiration" name="OperatingLossCarryforwardsSubjectToExpiration" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <xsd:element name="OtherCountriesAmericaMember" id="csiq_OtherCountriesAmericaMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="OtherCountriesAsiaMember" id="csiq_OtherCountriesAsiaMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="OtherCountriesEuropeMember" id="csiq_OtherCountriesEuropeMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="OtherEquityMethodInvesteesMember" id="csiq_OtherEquityMethodInvesteesMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="OtherJurisdictionsMember" id="csiq_OtherJurisdictionsMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="OtherNoncurrentAssetsAdjustment" id="csiq_OtherNoncurrentAssetsAdjustment" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" />
  <element id="csiq_PledgedAssetsNotSeparatelyReportedInventory" name="PledgedAssetsNotSeparatelyReportedInventory" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight" name="PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment" name="PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <xsd:element name="PreferentialWithholdingTaxRate" id="csiq_PreferentialWithholdingTaxRate" type="num:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="PrepaymentForLandUseRightPolicyTextBlock" id="csiq_PrepaymentForLandUseRightPolicyTextBlock" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ProductWarrantyAccrualRateForSalesOfSolarModules" id="csiq_ProductWarrantyAccrualRateForSalesOfSolarModules" type="num:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ProjectAssetsAbstract" id="csiq_ProjectAssetsAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <element id="csiq_ProjectAssetsImpairmentCharge" name="ProjectAssetsImpairmentCharge" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <xsd:element name="ProjectAssetsPlantsAndLand" id="csiq_ProjectAssetsPlantsAndLand" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element name="ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost" id="csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element name="ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" id="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" />
  <element id="csiq_ProjectAssetsPlantsAndLandCurrentPortion" name="ProjectAssetsPlantsAndLandCurrentPortion" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion" name="ProjectAssetsPlantsAndLandNonCurrentPortion" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <xsd:element name="ProjectAssetsPolicyTextBlock" id="csiq_ProjectAssetsPolicyTextBlock" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="PropertyPlantAndEquipmentExcludingConstructionInProgressNet" id="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element name="ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" id="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element name="RevenueFromNonrelatedParties" id="csiq_RevenueFromNonrelatedParties" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" />
  <xsd:element name="ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock" id="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ScheduleOfInterestExpenseTableTextBlock" id="csiq_ScheduleOfInterestExpenseTableTextBlock" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ScheduleOfProjectAssetsTableTextBlock" id="csiq_ScheduleOfProjectAssetsTableTextBlock" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock" id="csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" id="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="SecuredShortTermDebt" id="csiq_SecuredShortTermDebt" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardAggregateIntrinsicValueAbstract" id="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardAggregateIntrinsicValueAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate" id="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" id="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" type="xbrli:durationItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardWeightedAverageRemainingContractualTermAbstract" id="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardWeightedAverageRemainingContractualTermAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ShortTermNotesPayableTextBlock" id="csiq_ShortTermNotesPayableTextBlock" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" />
  <element id="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" name="SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" nillable="true" type="num:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" name="SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" nillable="true" type="num:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" name="SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" name="SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <xsd:element name="SolarPowerProjectsConstructionAndSaleMember" id="csiq_SolarPowerProjectsConstructionAndSaleMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="SolarSystemKitsProductMember" id="csiq_SolarSystemKitsProductMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <element id="csiq_StandardProductWarrantyPeriod" name="StandardProductWarrantyPeriod" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <xsd:element name="StockOptionsAndRestrictedStockUnitsMember" id="csiq_StockOptionsAndRestrictedStockUnitsMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="SuzhouGaochuangteNewEnergyCoLtdMember" id="csiq_SuzhouGaochuangteNewEnergyCoLtdMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="SuzhouSanysolarMaterialsTechnologyCoLtdMember" id="csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" id="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" type="num:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="USCountervailingAndAntiDumpingDutiesMember" id="csiq_USCountervailingAndAntiDumpingDutiesMember" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <element id="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" name="ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <xsd:element name="ValuationAllowancesAndReservesForeignExchangeEffect" id="csiq_ValuationAllowancesAndReservesForeignExchangeEffect" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" />
  <xsd:element name="WithholdingTaxRate" id="csiq_WithholdingTaxRate" type="num:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" id="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" type="num:percentItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:periodType="duration" />
  <element id="csiq_AllowanceForOtherReceivablesMember" name="AllowanceForOtherReceivablesMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_ProjectAssetsDisclosureTextBlock" name="ProjectAssetsDisclosureTextBlock" nillable="true" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_DeferredTaxLiabilitiesDeferredProfitOfProjects" name="DeferredTaxLiabilitiesDeferredProfitOfProjects" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_ConvertibleNotesDisclosureAbstract" name="ConvertibleNotesDisclosureAbstract" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_ConvertibleNotesDisclosureTextBlock" name="ConvertibleNotesDisclosureTextBlock" nillable="true" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_ProceedsFromConvertibleDebtInitialIssuance" name="ProceedsFromConvertibleDebtInitialIssuance" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance" name="DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_ProceedsFromConvertibleDebtAdditionalIssuance" name="ProceedsFromConvertibleDebtAdditionalIssuance" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" name="DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" nillable="true" type="num:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_EnergySegmentMember" name="EnergySegmentMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_ElectricityIncomeMember" name="ElectricityIncomeMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_EquityMethodInvestmentOwnershipPercentageSold" name="EquityMethodInvestmentOwnershipPercentageSold" nillable="true" type="num:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" name="DeferredTaxAssetsRelatedToSaleOfProjectAssets" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_AccumulatedAssetImpairmentCharges" name="AccumulatedAssetImpairmentCharges" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CanadianSolarConstructionUsaLLCMember" name="CanadianSolarConstructionUsaLLCMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_ReRoserockHoldingsLlcMember" name="ReRoserockHoldingsLlcMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_SuzhouFinancialLeasingCoLtdMember" name="SuzhouFinancialLeasingCoLtdMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_StandardSolarModuleMember" name="StandardSolarModuleMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash" name="PledgedAssetsNotSeparatelyReportedRestrictedCash" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_PledgedEquityNotSeparatelyReported" name="PledgedEquityNotSeparatelyReported" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" name="EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CsiNewEnergyHoldingCo.LtdMember" name="CsiNewEnergyHoldingCo.LtdMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CanadianSolarManufacturingChangshuInc.Member" name="CanadianSolarManufacturingChangshuInc.Member" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CsiCellsCo.Ltd.Member" name="CsiCellsCo.Ltd.Member" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CsiSolarPowerChinaInc.Member" name="CsiSolarPowerChinaInc.Member" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CsiGclSolarManufacturingYanchengCo.Ltd.Member" name="CsiGclSolarManufacturingYanchengCo.Ltd.Member" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CanadianSolarUkLtdMember" name="CanadianSolarUkLtdMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CanadianSolarUkProjectsLtdMember" name="CanadianSolarUkProjectsLtdMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_ChangshuTlianCo.Ltd.Member" name="ChangshuTlianCo.Ltd.Member" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CanadianSolarEnergyAcquisitionCo.Member" name="CanadianSolarEnergyAcquisitionCo.Member" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_RecurrentEnergyLlcMember" name="RecurrentEnergyLlcMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_PtCanadianSolarIndonesiaMember" name="PtCanadianSolarIndonesiaMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CanadianSolarManufacturingVietnamCo.LtdMember" name="CanadianSolarManufacturingVietnamCo.LtdMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CanadianSolarEnergyPrivateLimitedMember" name="CanadianSolarEnergyPrivateLimitedMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" name="CanadianSolarManufacturingThailandCo.Ltd.Member" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CanadianSolarAustralia1PtyLtdMember" name="CanadianSolarAustralia1PtyLtdMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_DerivativesAssetsCurrentMember" name="DerivativesAssetsCurrentMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_DerivativesAssetsNoncurrentMember" name="DerivativesAssetsNoncurrentMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_DerivativesLiabilitiesCurrentMember" name="DerivativesLiabilitiesCurrentMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_DerivativesLiabilitiesNoncurrentMember" name="DerivativesLiabilitiesNoncurrentMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_SolarPowerSystems" name="SolarPowerSystems" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_PaymentsToAcquireSolarPowerSystems" name="PaymentsToAcquireSolarPowerSystems" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_SolarPowerSystemsPolicyPolicyTextBlock" name="SolarPowerSystemsPolicyPolicyTextBlock" nillable="true" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems" name="PledgedAssetsProjectAssetsAndSolarPowerSystems" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember" name="DebtSecuredByProjectAssetsAndSolarPowerSystemsMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_SolarPowerSystemsAbstract" name="SolarPowerSystemsAbstract" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_SolarPowerSystemsTextBlock" name="SolarPowerSystemsTextBlock" nillable="true" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_DeferredTaxAssetsFutureDeductibleExpenses" name="DeferredTaxAssetsFutureDeductibleExpenses" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock" name="ScheduleOfSolarPowerSystemsComponentsTableTextBlock" nillable="true" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" name="AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_TaxEquityTransactionsLineItems" name="TaxEquityTransactionsLineItems" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CashFlowDistributionPercentage" name="CashFlowDistributionPercentage" nillable="true" type="num:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_PropertyAndEquipmentPurchaseCommitmentMember" name="PropertyAndEquipmentPurchaseCommitmentMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CostMethodInvestmentOwnershipPercentage" name="CostMethodInvestmentOwnershipPercentage" nillable="true" type="num:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember" name="CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_DebtInstrumentInterestRateFloatingPercentage" name="DebtInstrumentInterestRateFloatingPercentage" nillable="true" type="num:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CanadianSolarProjectKKMember" name="CanadianSolarProjectKKMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CanadianSolarEnergyHoldingCompanyLimitedMember" name="CanadianSolarEnergyHoldingCompanyLimitedMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_ServiceRevenueFromRelatedParty" name="ServiceRevenueFromRelatedParty" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember" name="ChangsuTeguNewMaterialTechnologyCoLtdMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_UnrealizedGainLossFromSalesToInvestees" name="UnrealizedGainLossFromSalesToInvestees" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_SolarPowerSystemsReclassifiedToProjectAssets" name="SolarPowerSystemsReclassifiedToProjectAssets" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_EquityIncomeLossFromSubsidiaries" name="EquityIncomeLossFromSubsidiaries" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_IncreaseDecreaseInValueAddedTaxReceivable" name="IncreaseDecreaseInValueAddedTaxReceivable" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" name="IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_IncreaseDecreaseInProductWarrantyAccrual" name="IncreaseDecreaseInProductWarrantyAccrual" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_InterestRateSwapsNumberOfFinancialInstitutions" name="InterestRateSwapsNumberOfFinancialInstitutions" nillable="true" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock" name="OtherOperatingIncomeExpensePolicyPolicyTextBlock" nillable="true" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock" name="ScheduleOfOtherOperatingIncomeExpenseTableTextBlock" nillable="true" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax" name="OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" name="OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter" name="FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CanadianSolarSunenergySuzhouCo.Ltd.Member" name="CanadianSolarSunenergySuzhouCo.Ltd.Member" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member" name="CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member" name="CanadianSolarSunenergyBaotouCo.Ltd.Member" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_MajorSubsidiariesDisclosuresAbstract" name="MajorSubsidiariesDisclosuresAbstract" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_ProceedsFromThirdPartyFinancingLiabilities" name="ProceedsFromThirdPartyFinancingLiabilities" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" name="GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems" name="ProceedsFromSaleOrDisposalOfSolarPowerSystems" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_DeferredTaxLiabilitiesInsuranceRecoverable" name="DeferredTaxLiabilitiesInsuranceRecoverable" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions" name="ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions" nillable="true" type="num:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_WarrantsMember" name="WarrantsMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable" name="PledgedAssetsNotSeparatelyReportedAccountsReceivable" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_FinancingLiabilitiesCurrent" name="FinancingLiabilitiesCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" name="EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" nillable="true" type="num:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_PaymentsForProceedsFromLoansToSubsidiaries" name="PaymentsForProceedsFromLoansToSubsidiaries" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_RecurrentEnergyGroupInc.Member" name="RecurrentEnergyGroupInc.Member" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CanadianSolarInfrastructureFundIncMember" name="CanadianSolarInfrastructureFundIncMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_PilipinasNewtonEnergyCorpMember" name="PilipinasNewtonEnergyCorpMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CashReceivableRelatedPartiesCurrent" name="CashReceivableRelatedPartiesCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_OMServiceMember" name="OMServiceMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_EquipmentPurchasesPayableRelatedPartiesCurrent" name="EquipmentPurchasesPayableRelatedPartiesCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_SuzhouIsilverMaterialsMember" name="SuzhouIsilverMaterialsMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_SuzhouKzoneEquipmentTechnologyMember" name="SuzhouKzoneEquipmentTechnologyMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold" name="AssetsHeldForSaleNumberOfSolarPowerPlantsSold" nillable="true" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_IncreaseDecreaseInGoodwill" name="IncreaseDecreaseInGoodwill" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_FinancingLiabilitiesNonCurrent" name="FinancingLiabilitiesNonCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_PurchaseOfUnitsPercentage" name="PurchaseOfUnitsPercentage" nillable="true" type="num:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption" name="NumberOfBoardOfInvestmentCertificatesTaxExemption" nillable="true" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_RoserockMember" name="RoserockMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_AssetManagementServiceMember" name="AssetManagementServiceMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_FirstAdministrativeReviewOfSolarTwoMember" name="FirstAdministrativeReviewOfSolarTwoMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CsiModulesDafengCoLtdMember" name="CsiModulesDafengCoLtdMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_EquityInterestHeldAsGeneralPartner" name="EquityInterestHeldAsGeneralPartner" nillable="true" type="num:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_NetIncreaseDecreaseCashAndCashEquivalentsAssetsHeldForSale" name="NetIncreaseDecreaseCashAndCashEquivalentsAssetsHeldForSale" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" name="NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_PaymentsOfDistributionsToTaxEquityInvestors" name="PaymentsOfDistributionsToTaxEquityInvestors" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CsiCellsYanchangCoLtdMember" name="CsiCellsYanchangCoLtdMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_SalesRevenueAbstract" name="SalesRevenueAbstract" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_LongTermBorrowingsOnProjectAssetsCurrent" name="LongTermBorrowingsOnProjectAssetsCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" name="OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_SolarModulesAndOtherSolarPowerProductsMember" name="SolarModulesAndOtherSolarPowerProductsMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CanadianSolarMiddleEastDmccMember" name="CanadianSolarMiddleEastDmccMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CsiInvestmentManagementSuzhouCoLtdMember" name="CsiInvestmentManagementSuzhouCoLtdMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember" name="SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CanadianSolarConstructionAustraliaPtyLtdMember" name="CanadianSolarConstructionAustraliaPtyLtdMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CsukEnergySystemsConstructionAndGenerationJscMember" name="CsukEnergySystemsConstructionAndGenerationJscMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CsiWaferLuoyangCoLtdMember" name="CsiWaferLuoyangCoLtdMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CanadianSolarManufacturingTaiwanCoLtdMember" name="CanadianSolarManufacturingTaiwanCoLtdMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CanadianSolarArgentinaInvestmentHoldingLtdMember" name="CanadianSolarArgentinaInvestmentHoldingLtdMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember" name="ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_DeferredTaxAssetsInterestLimitation" name="DeferredTaxAssetsInterestLimitation" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_EtSolutionsSouthAfricaOnePtyMember" name="EtSolutionsSouthAfricaOnePtyMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock" name="ShippingsAndHandlingCostPolicyPolicyTextBlock" nillable="true" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_EnowIncMember" name="EnowIncMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_PeriodOfSunsetReviews" name="PeriodOfSunsetReviews" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CsiModulesJiaxingCoLtdMember" name="CsiModulesJiaxingCoLtdMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_OtherProductMaterialsMember" name="OtherProductMaterialsMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_OtherProductEpcAndDevelopmentServicesMember" name="OtherProductEpcAndDevelopmentServicesMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_IncreaseDecreaseInAdvancesFromCustomers" name="IncreaseDecreaseInAdvancesFromCustomers" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_IncreaseDecreaseInAccountsReceivablesUnbilled" name="IncreaseDecreaseInAccountsReceivablesUnbilled" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_IncreaseDecreaseInContractLiabilities" name="IncreaseDecreaseInContractLiabilities" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_UncollectableRevenueMember" name="UncollectableRevenueMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_MaterialAndWorkmanShipMember" name="MaterialAndWorkmanShipMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_EightyPercentInitialPowerCapacityMember" name="EightyPercentInitialPowerCapacityMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_NinetySevenPercentInitialPowerCapacityMember" name="NinetySevenPercentInitialPowerCapacityMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_NinetyThreeInitialPowerCapacityMember" name="NinetyThreeInitialPowerCapacityMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_SolarPowerProjectMember" name="SolarPowerProjectMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_BankBorrowingsMember" name="BankBorrowingsMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_BorrowingsFromNonBankingInstitutionsMember" name="BorrowingsFromNonBankingInstitutionsMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_SecuredByInventoryAndAccountsReceivableMember" name="SecuredByInventoryAndAccountsReceivableMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_SubsidiaryMember" name="SubsidiaryMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember" name="CanadianSolarNewEnergyHoldingCompanyLimitedMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member" name="CanadianSolarEnergyHoldingSingaporePte.Ltd.Member" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CanadianSolarSsesCanadaInc.Member" name="CanadianSolarSsesCanadaInc.Member" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_CanadianSolarSsesUkLtdMember" name="CanadianSolarSsesUkLtdMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_InvestmentInSubsidiaries" name="InvestmentInSubsidiaries" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_PaymentsToAcquireSubsidiaries" name="PaymentsToAcquireSubsidiaries" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember" name="LuoyangJiwaNewMaterialTechnologyCo.LtdMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember" name="DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_ShortTermNotesPayable" name="ShortTermNotesPayable" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_FinancingAgreementMember" name="FinancingAgreementMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_LesseeLiabilityPaymentsDueYearTwo" name="LesseeLiabilityPaymentsDueYearTwo" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths" name="LesseeLiabilityPaymentsDueNextTwelveMonths" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_LesseeLiabilityPaymentsDueYearThree" name="LesseeLiabilityPaymentsDueYearThree" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_LesseeLiabilityPaymentsDueYearFour" name="LesseeLiabilityPaymentsDueYearFour" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_LesseeLiabilityPaymentsDueYearFive" name="LesseeLiabilityPaymentsDueYearFive" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_LesseeLiabilityPaymentsDueAfterYearFive" name="LesseeLiabilityPaymentsDueAfterYearFive" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_LesseeLiabilityPaymentsDue" name="LesseeLiabilityPaymentsDue" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_LesseeLiabilityUndiscountedExcessAmount" name="LesseeLiabilityUndiscountedExcessAmount" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_LeaseLiability" name="LeaseLiability" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_LeaseLiabilityCurrent" name="LeaseLiabilityCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_LeaseLiabilityNoncurrent" name="LeaseLiabilityNoncurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock" name="LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock" nillable="true" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_ScheduleOfEffectiveInterestRatesTableTextBlock" name="ScheduleOfEffectiveInterestRatesTableTextBlock" nillable="true" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_BifacialModuleAndDoubleGlassModuleMember" name="BifacialModuleAndDoubleGlassModuleMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_ProjectAssets" name="ProjectAssets" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_NonCashOperatingLeaseExpenses" name="NonCashOperatingLeaseExpenses" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_IncreaseDecreaseInOperatingLeaseLiabilities" name="IncreaseDecreaseInOperatingLeaseLiabilities" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" name="PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_OtherCurrentLiabilitiesFluctuations" name="OtherCurrentLiabilitiesFluctuations" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_SolarPowerSystemCommitmentsMember" name="SolarPowerSystemCommitmentsMember" nillable="true" type="nonnum:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_InvestmentInAffiliates" name="InvestmentInAffiliates" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_ContractLiabilitiesOtherCurrentLiabilities" name="ContractLiabilitiesOtherCurrentLiabilities" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_PaymentsToAcquireAffiliates" name="PaymentsToAcquireAffiliates" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_FinanceLeaseExpense" name="FinanceLeaseExpense" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_LeasesFutureMinimumLeasePaymentsDueCurrent" name="LeasesFutureMinimumLeasePaymentsDueCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears" name="LeasesFutureMinimumLeasePaymentsDueInTwoYears" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears" name="LeasesFutureMinimumLeasePaymentsDueInThreeYears" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears" name="LeasesFutureMinimumLeasePaymentsDueInFourYears" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears" name="LeasesFutureMinimumLeasePaymentsDueInFiveYears" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_LeasesFutureMinimumLeasePaymentsDuethereafter" name="LeasesFutureMinimumLeasePaymentsDuethereafter" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_LeasesFutureMinimumLeasePaymentsDue" name="LeasesFutureMinimumLeasePaymentsDue" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments" name="LeasesFutureMinimumPaymentsInterestIncludedInPayments" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments" name="LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_ScheduleOfFutureMinimumLeasePaymentsForLeasesTableTextBlock" name="ScheduleOfFutureMinimumLeasePaymentsForLeasesTableTextBlock" nillable="true" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xmlns="http://www.w3.org/2001/XMLSchema" />
  <element id="csiq_PaymentsForFinancingCashFlowsFromFinanceLease" name="PaymentsForFinancingCashFlowsFromFinanceLease" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" xmlns="http://www.w3.org/2001/XMLSchema" />
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>10
<FILENAME>csiq-20191231_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  9.6.7401.38943 -->
<!--Based on XBRL 2.1-->
<!--Created on: 4/28/2020 12:56:24 PM-->
<!--Modified on: 4/28/2020 12:56:24 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink">
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#StatementConsolidatedBalanceSheets" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#StatementConsolidatedStatementsOfOperations" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#StatementConsolidatedStatementsOfComprehensiveIncome" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#StatementConsolidatedStatementsOfCashFlows" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#StatementConsolidatedStatementsOfCashFlowsParenthetical" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureInventoriesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInventoriesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureProjectAssetsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosurePropertyPlantAndEquipmentNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSolarPowerSystemsNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureIntangibleAssetsNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureVariableInterestEntitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureBorrowingsLongTermDetails3Calc2" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails3Calc2" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureLeaseLeaseExpenseDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureLeaseOperatingLeasesMaturitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureLeaseOperatingLeasesGrossDifferenceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureLeaseFinanceLeasesMaturitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureLeaseFinanceLeasesGrossDifferenceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureLeaseTotalLeasesMaturitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureLeaseTotalLeasesGrossDifferenceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureLeaseTotalLeasesSummaryDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureBorrowingsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureBorrowingsLongTermDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureIncomeTaxesReconciliationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureEarningsPerShareDetails" roleURI="http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureFinancialStatementScheduleIBalanceSheetsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <calculationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets" xlink:type="extended" xlink:title="00100 - Statement - CONSOLIDATED BALANCE SHEETS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="LiabilitiesAndStockholdersEquity" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_637236753747072871" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities_637236753747072871" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_637236753747072871" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_637236753747072871" xlink:to="us-gaap_LiabilitiesCurrent_637236753747072871" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings_637236753747082862" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_637236753747072871" xlink:to="us-gaap_ShortTermBorrowings_637236753747082862" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableTradeCurrent" xlink:label="us-gaap_AccountsPayableTradeCurrent_637236753747082862" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_637236753747072871" xlink:to="us-gaap_AccountsPayableTradeCurrent_637236753747082862" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ShortTermNotesPayable" xlink:label="csiq_ShortTermNotesPayable_637236753747082862" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_637236753747072871" xlink:to="csiq_ShortTermNotesPayable_637236753747082862" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DueToRelatedPartiesCurrent" xlink:label="us-gaap_DueToRelatedPartiesCurrent_637236753747082862" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_637236753747072871" xlink:to="us-gaap_DueToRelatedPartiesCurrent_637236753747082862" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LongTermBorrowingsOnProjectAssetsCurrent" xlink:label="csiq_LongTermBorrowingsOnProjectAssetsCurrent_637236753747082862" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_637236753747072871" xlink:to="csiq_LongTermBorrowingsOnProjectAssetsCurrent_637236753747082862" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableOtherCurrent" xlink:label="us-gaap_AccountsPayableOtherCurrent_637236753747082862" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_637236753747072871" xlink:to="us-gaap_AccountsPayableOtherCurrent_637236753747082862" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="us-gaap_ConvertibleNotesPayableCurrent_637236753747082862" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_637236753747072871" xlink:to="us-gaap_ConvertibleNotesPayableCurrent_637236753747082862" order="7" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_637236753747082862" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_637236753747072871" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_637236753747082862" order="8" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeLiabilitiesCurrent" xlink:label="us-gaap_DerivativeLiabilitiesCurrent_637236753747082862" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_637236753747072871" xlink:to="us-gaap_DerivativeLiabilitiesCurrent_637236753747082862" order="9" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_637236753747092898" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_637236753747072871" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_637236753747092898" order="10" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_FinancingLiabilitiesCurrent" xlink:label="csiq_FinancingLiabilitiesCurrent_637236753747092898" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_637236753747072871" xlink:to="csiq_FinancingLiabilitiesCurrent_637236753747092898" order="11" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent_637236753747092898" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_637236753747072871" xlink:to="us-gaap_OtherLiabilitiesCurrent_637236753747092898" order="12" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductWarrantyAccrualNoncurrent" xlink:label="us-gaap_ProductWarrantyAccrualNoncurrent_637236753747092898" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_637236753747072871" xlink:to="us-gaap_ProductWarrantyAccrualNoncurrent_637236753747092898" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DueToRelatedPartiesNoncurrent" xlink:label="us-gaap_DueToRelatedPartiesNoncurrent_637236753747092898" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_637236753747072871" xlink:to="us-gaap_DueToRelatedPartiesNoncurrent_637236753747092898" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeLiabilitiesNoncurrent" xlink:label="us-gaap_DerivativeLiabilitiesNoncurrent_637236753747092898" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_637236753747072871" xlink:to="us-gaap_DerivativeLiabilitiesNoncurrent_637236753747092898" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans_637236753747092898" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_637236753747072871" xlink:to="us-gaap_LongTermNotesAndLoans_637236753747092898" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_637236753747092898" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_637236753747072871" xlink:to="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_637236753747092898" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_637236753747092898" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_637236753747072871" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_637236753747092898" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingencyAccrualAtCarryingValue" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue_637236753747102855" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_637236753747072871" xlink:to="us-gaap_LossContingencyAccrualAtCarryingValue_637236753747102855" order="8" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_637236753747102855" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_637236753747072871" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_637236753747102855" order="9" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_FinancingLiabilitiesNonCurrent" xlink:label="csiq_FinancingLiabilitiesNonCurrent_637236753747102855" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_637236753747072871" xlink:to="csiq_FinancingLiabilitiesNonCurrent_637236753747102855" order="10" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_637236753747102855" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_637236753747072871" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_637236753747102855" order="11" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_637236753747102855" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_637236753747102855" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_637236753747102855" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_637236753747102855" xlink:to="us-gaap_StockholdersEquity_637236753747102855" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue_637236753747102855" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_637236753747102855" xlink:to="us-gaap_CommonStockValue_637236753747102855" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue_637236753747102855" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_637236753747102855" xlink:to="us-gaap_TreasuryStockCommonValue_637236753747102855" order="2" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_637236753747112853" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_637236753747102855" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_637236753747112853" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_637236753747112853" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_637236753747102855" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_637236753747112853" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_637236753747112853" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_637236753747102855" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_637236753747112853" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest_637236753747112853" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_637236753747102855" xlink:to="us-gaap_MinorityInterest_637236753747112853" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Assets" xlink:label="Assets" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_637236753747112853" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_AssetsCurrent_637236753747112853" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_637236753747112853" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_637236753747112853" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_637236753747112853" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_637236753747122860" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_637236753747112853" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_637236753747122860" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_637236753747122860" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_637236753747112853" xlink:to="us-gaap_AccountsReceivableNetCurrent_637236753747122860" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="us-gaap_UnbilledReceivablesCurrent_637236753747122860" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_637236753747112853" xlink:to="us-gaap_UnbilledReceivablesCurrent_637236753747122860" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DueFromRelatedPartiesCurrent" xlink:label="us-gaap_DueFromRelatedPartiesCurrent_637236753747122860" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_637236753747112853" xlink:to="us-gaap_DueFromRelatedPartiesCurrent_637236753747122860" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet_637236753747122860" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_637236753747112853" xlink:to="us-gaap_InventoryNet_637236753747122860" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValueAddedTaxReceivableCurrent" xlink:label="us-gaap_ValueAddedTaxReceivableCurrent_637236753747122860" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_637236753747112853" xlink:to="us-gaap_ValueAddedTaxReceivableCurrent_637236753747122860" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdvancesOnInventoryPurchases" xlink:label="us-gaap_AdvancesOnInventoryPurchases_637236753747132851" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_637236753747112853" xlink:to="us-gaap_AdvancesOnInventoryPurchases_637236753747132851" order="8" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeAssetsCurrent" xlink:label="us-gaap_DerivativeAssetsCurrent_637236753747132851" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_637236753747112853" xlink:to="us-gaap_DerivativeAssetsCurrent_637236753747132851" order="9" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsPlantsAndLandCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion_637236753747132851" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_637236753747112853" xlink:to="csiq_ProjectAssetsPlantsAndLandCurrentPortion_637236753747132851" order="10" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_637236753747132851" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_637236753747112853" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_637236753747132851" order="11" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_637236753747132851" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_637236753747132851" order="2" use="optional" weight="1" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_637236753747132851" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_637236753747132851" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarPowerSystems" xlink:label="csiq_SolarPowerSystems_637236753747142853" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="csiq_SolarPowerSystems_637236753747142853" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_637236753747142853" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_637236753747142853" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AdvancesOnInventoryPurchasesNonCurrent" xlink:label="csiq_AdvancesOnInventoryPurchasesNonCurrent_637236753747142853" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="csiq_AdvancesOnInventoryPurchasesNonCurrent_637236753747142853" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PrepaidExpenseNoncurrent" xlink:label="us-gaap_PrepaidExpenseNoncurrent_637236753747142853" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_PrepaidExpenseNoncurrent_637236753747142853" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments_637236753747142853" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_EquityMethodInvestments_637236753747142853" order="8" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_637236753747142853" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_637236753747142853" order="9" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_637236753747152851" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_Goodwill_637236753747152851" order="10" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeAssetsNoncurrent" xlink:label="us-gaap_DerivativeAssetsNoncurrent_637236753747152851" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_DerivativeAssetsNoncurrent_637236753747152851" order="11" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsPlantsAndLandNonCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_637236753747152851" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_637236753747152851" order="12" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_637236753747152851" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_OtherAssetsNoncurrent_637236753747152851" order="13" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_637236753747162856" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_637236753747162856" order="14" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations" xlink:type="extended" xlink:title="00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="NetIncomeLossAvailableToCommonStockholdersBasic" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_637236753747162856" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetIncomeLossAvailableToCommonStockholdersBasic" xlink:to="us-gaap_ProfitLoss_637236753747162856" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_637236753747162856" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ProfitLoss_637236753747162856" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_637236753747162856" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_637236753747162856" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_637236753747162856" xlink:to="us-gaap_OperatingIncomeLoss_637236753747162856" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_637236753747162856" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_637236753747162856" xlink:to="us-gaap_GrossProfit_637236753747162856" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_637236753747162856" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit_637236753747162856" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_637236753747162856" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_RevenueFromNonrelatedParties" xlink:label="csiq_RevenueFromNonrelatedParties_637236753747162856" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_637236753747162856" xlink:to="csiq_RevenueFromNonrelatedParties_637236753747162856" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromRelatedParties" xlink:label="us-gaap_RevenueFromRelatedParties_637236753747172874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_637236753747162856" xlink:to="us-gaap_RevenueFromRelatedParties_637236753747172874" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold_637236753747172874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit_637236753747162856" xlink:to="us-gaap_CostOfGoodsAndServicesSold_637236753747172874" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CostOfGoodsAndServicesSoldNonrelatedParties" xlink:label="csiq_CostOfGoodsAndServicesSoldNonrelatedParties_637236753747172874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CostOfGoodsAndServicesSold_637236753747172874" xlink:to="csiq_CostOfGoodsAndServicesSoldNonrelatedParties_637236753747172874" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartiesAmountInCostOfSales" xlink:label="us-gaap_RelatedPartiesAmountInCostOfSales_637236753747172874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CostOfGoodsAndServicesSold_637236753747172874" xlink:to="us-gaap_RelatedPartiesAmountInCostOfSales_637236753747172874" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses_637236753747172874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_637236753747162856" xlink:to="us-gaap_OperatingExpenses_637236753747172874" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SellingExpense" xlink:label="us-gaap_SellingExpense_637236753747172874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses_637236753747172874" xlink:to="us-gaap_SellingExpense_637236753747172874" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense_637236753747172874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses_637236753747172874" xlink:to="us-gaap_GeneralAndAdministrativeExpense_637236753747172874" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense_637236753747172874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses_637236753747172874" xlink:to="us-gaap_ResearchAndDevelopmentExpense_637236753747172874" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_637236753747172874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses_637236753747172874" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet_637236753747172874" order="4" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense_637236753747182853" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_637236753747162856" xlink:to="us-gaap_NonoperatingIncomeExpense_637236753747182853" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense_637236753747182853" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_637236753747182853" xlink:to="us-gaap_InterestExpense_637236753747182853" order="1" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest_637236753747182853" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_637236753747182853" xlink:to="us-gaap_InvestmentIncomeInterest_637236753747182853" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_637236753747182853" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_637236753747182853" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_637236753747182853" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_637236753747182853" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_637236753747182853" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_637236753747182853" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainLossOnInvestments" xlink:label="us-gaap_GainLossOnInvestments_637236753747182853" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_637236753747182853" xlink:to="us-gaap_GainLossOnInvestments_637236753747182853" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_637236753747182853" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ProfitLoss_637236753747162856" xlink:to="us-gaap_IncomeTaxExpenseBenefit_637236753747182853" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_637236753747182853" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ProfitLoss_637236753747162856" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_637236753747182853" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_637236753747192856" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetIncomeLossAvailableToCommonStockholdersBasic" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_637236753747192856" order="2" use="optional" weight="-1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" xlink:type="extended" xlink:title="00300 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="ComprehensiveIncomeNetOfTax" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_637236753747192856" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_637236753747192856" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_637236753747192856" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_637236753747192856" xlink:to="us-gaap_ProfitLoss_637236753747192856" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_637236753747192856" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_637236753747192856" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_637236753747192856" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax" xlink:label="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax_637236753747192856" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_637236753747192856" xlink:to="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax_637236753747192856" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" xlink:label="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_637236753747192856" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_637236753747192856" xlink:to="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_637236753747192856" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" xlink:label="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax_637236753747192856" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_637236753747192856" xlink:to="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax_637236753747192856" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_637236753747192856" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_637236753747192856" order="2" use="optional" weight="-1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows" xlink:type="extended" xlink:title="00500 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_637236753747202866" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="us-gaap_ProfitLoss_637236753747202866" order="1" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_637236753747202866" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="us-gaap_DepreciationDepletionAndAmortization_637236753747202866" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_637236753747202866" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_637236753747202866" order="3" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_637236753747202866" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_637236753747202866" order="4" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_637236753747202866" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_637236753747202866" order="5" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges_637236753747202866" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="us-gaap_AssetImpairmentCharges_637236753747202866" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsImpairmentCharge" xlink:label="csiq_ProjectAssetsImpairmentCharge_637236753747202866" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="csiq_ProjectAssetsImpairmentCharge_637236753747202866" order="7" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ImpairmentOfInvestments" xlink:label="us-gaap_ImpairmentOfInvestments_637236753747202866" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="us-gaap_ImpairmentOfInvestments_637236753747202866" order="8" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_637236753747202866" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_637236753747202866" order="9" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_637236753747212861" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_637236753747212861" order="10" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_637236753747212861" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_637236753747212861" order="11" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryWriteDown" xlink:label="us-gaap_InventoryWriteDown_637236753747212861" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="us-gaap_InventoryWriteDown_637236753747212861" order="12" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NonCashOperatingLeaseExpenses" xlink:label="csiq_NonCashOperatingLeaseExpenses_637236753747212861" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="csiq_NonCashOperatingLeaseExpenses_637236753747212861" order="13" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_637236753747212861" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="us-gaap_ShareBasedCompensation_637236753747212861" order="14" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_UnrealizedGainLossFromSalesToInvestees" xlink:label="csiq_UnrealizedGainLossFromSalesToInvestees_637236753747212861" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="csiq_UnrealizedGainLossFromSalesToInvestees_637236753747212861" order="15" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_637236753747212861" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_637236753747212861" order="16" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_637236753747212861" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_637236753747212861" order="17" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_637236753747212861" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_637236753747212861" order="18" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories_637236753747222857" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="us-gaap_IncreaseDecreaseInInventories_637236753747222857" order="19" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInValueAddedTaxReceivable" xlink:label="csiq_IncreaseDecreaseInValueAddedTaxReceivable_637236753747222857" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="csiq_IncreaseDecreaseInValueAddedTaxReceivable_637236753747222857" order="20" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInAdvanceToSuppliers" xlink:label="csiq_IncreaseDecreaseInAdvanceToSuppliers_637236753747222857" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="csiq_IncreaseDecreaseInAdvanceToSuppliers_637236753747222857" order="21" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInProjectAssets" xlink:label="csiq_IncreaseDecreaseInProjectAssets_637236753747222857" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="csiq_IncreaseDecreaseInProjectAssets_637236753747222857" order="22" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_637236753747222857" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_637236753747222857" order="23" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_637236753747222857" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_637236753747222857" order="24" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade_637236753747222857" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableTrade_637236753747222857" order="25" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInNotesPayableCurrent" xlink:label="us-gaap_IncreaseDecreaseInNotesPayableCurrent_637236753747232857" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="us-gaap_IncreaseDecreaseInNotesPayableCurrent_637236753747232857" order="26" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_637236753747232857" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_637236753747232857" order="27" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInOtherAccountsPayable_637236753747232857" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="us-gaap_IncreaseDecreaseInOtherAccountsPayable_637236753747232857" order="28" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_637236753747232857" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_637236753747232857" order="29" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:label="csiq_IncreaseDecreaseInOperatingLeaseLiabilities_637236753747232857" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="csiq_IncreaseDecreaseInOperatingLeaseLiabilities_637236753747232857" order="30" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_637236753747232857" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_637236753747232857" order="31" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInProductWarrantyAccrual" xlink:label="csiq_IncreaseDecreaseInProductWarrantyAccrual_637236753747242868" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="csiq_IncreaseDecreaseInProductWarrantyAccrual_637236753747242868" order="32" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInPrepaidLandUseRight" xlink:label="csiq_IncreaseDecreaseInPrepaidLandUseRight_637236753747242868" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="csiq_IncreaseDecreaseInPrepaidLandUseRight_637236753747242868" order="33" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInGoodwill" xlink:label="csiq_IncreaseDecreaseInGoodwill_637236753747242868" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="csiq_IncreaseDecreaseInGoodwill_637236753747242868" order="34" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_637236753747242868" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_637236753747242868" order="35" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_637236753747242868" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_637236753747242868" order="36" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_637236753747252867" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="us-gaap_GainLossOnSaleOfDerivatives_637236753747252867" order="37" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement_637236753747252867" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753747202866" xlink:to="us-gaap_OtherOperatingActivitiesCashFlowStatement_637236753747252867" order="38" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_637236753747252867" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_637236753747252867" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments_637236753747252867" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_637236753747252867" xlink:to="us-gaap_PaymentsToAcquireEquityMethodInvestments_637236753747252867" order="1" use="optional" weight="-1" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" xlink:label="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_637236753747252867" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_637236753747252867" xlink:to="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_637236753747252867" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" xlink:label="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets_637236753747262863" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_637236753747252867" xlink:to="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets_637236753747262863" order="3" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:label="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_637236753747262863" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_637236753747252867" xlink:to="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_637236753747262863" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PaymentsToAcquireSolarPowerSystems" xlink:label="csiq_PaymentsToAcquireSolarPowerSystems_637236753747262863" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_637236753747252867" xlink:to="csiq_PaymentsToAcquireSolarPowerSystems_637236753747262863" order="5" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems" xlink:label="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_637236753747262863" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_637236753747252867" xlink:to="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_637236753747262863" order="6" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromInsuranceSettlementInvestingActivities" xlink:label="us-gaap_ProceedsFromInsuranceSettlementInvestingActivities_637236753747262863" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_637236753747252867" xlink:to="us-gaap_ProceedsFromInsuranceSettlementInvestingActivities_637236753747262863" order="7" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries" xlink:label="us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries_637236753747272860" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_637236753747252867" xlink:to="us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries_637236753747272860" order="8" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_637236753747272860" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_637236753747272860" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromNotesPayable" xlink:label="us-gaap_ProceedsFromNotesPayable_637236753747272860" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637236753747272860" xlink:to="us-gaap_ProceedsFromNotesPayable_637236753747272860" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentsOfNotesPayable" xlink:label="us-gaap_RepaymentsOfNotesPayable_637236753747272860" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637236753747272860" xlink:to="us-gaap_RepaymentsOfNotesPayable_637236753747272860" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt_637236753747272860" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637236753747272860" xlink:to="us-gaap_ProceedsFromIssuanceOfLongTermDebt_637236753747272860" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProceedsFromThirdPartyFinancingLiabilities" xlink:label="csiq_ProceedsFromThirdPartyFinancingLiabilities_637236753747282859" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637236753747272860" xlink:to="csiq_ProceedsFromThirdPartyFinancingLiabilities_637236753747282859" order="4" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PaymentsOfDistributionsToTaxEquityInvestors" xlink:label="csiq_PaymentsOfDistributionsToTaxEquityInvestors_637236753747282859" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637236753747272860" xlink:to="csiq_PaymentsOfDistributionsToTaxEquityInvestors_637236753747282859" order="5" use="optional" weight="-1" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments_637236753747282859" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637236753747272860" xlink:to="us-gaap_FinanceLeasePrincipalPayments_637236753747282859" order="6" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="us-gaap_PaymentsToMinorityShareholders_637236753747282859" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637236753747272860" xlink:to="us-gaap_PaymentsToMinorityShareholders_637236753747282859" order="7" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromMinorityShareholders" xlink:label="us-gaap_ProceedsFromMinorityShareholders_637236753747282859" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637236753747272860" xlink:to="us-gaap_ProceedsFromMinorityShareholders_637236753747282859" order="8" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SaleLeasebackTransactionNetProceedsFinancingActivities" xlink:label="us-gaap_SaleLeasebackTransactionNetProceedsFinancingActivities_637236753747292861" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637236753747272860" xlink:to="us-gaap_SaleLeasebackTransactionNetProceedsFinancingActivities_637236753747292861" order="9" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentsOfCommercialPaper" xlink:label="us-gaap_RepaymentsOfCommercialPaper_637236753747292861" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637236753747272860" xlink:to="us-gaap_RepaymentsOfCommercialPaper_637236753747292861" order="10" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentsOfConvertibleDebt" xlink:label="us-gaap_RepaymentsOfConvertibleDebt_637236753747292861" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637236753747272860" xlink:to="us-gaap_RepaymentsOfConvertibleDebt_637236753747292861" order="11" use="optional" weight="-1" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_637236753747292861" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637236753747272860" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_637236753747292861" order="12" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsForRepurchaseOfOtherEquity" xlink:label="us-gaap_PaymentsForRepurchaseOfOtherEquity_637236753747292861" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_637236753747272860" xlink:to="us-gaap_PaymentsForRepurchaseOfOtherEquity_637236753747292861" order="13" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_637236753747302861" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_637236753747302861" order="4" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical" xlink:type="extended" xlink:title="00505 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_637236753747302861" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_637236753747302861" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_637236753747302861" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_637236753747302861" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_637236753747302861" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_637236753747302861" order="3" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" xlink:type="extended" xlink:title="40209 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating income, net (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" xlink:label="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense_637236753747312873" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherOperatingIncomeExpenseNet" xlink:to="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense_637236753747312873" order="1" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_637236753747312873" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherOperatingIncomeExpenseNet" xlink:to="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_637236753747312873" order="2" use="optional" weight="1" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainOnBusinessInterruptionInsuranceRecovery" xlink:label="us-gaap_GainOnBusinessInterruptionInsuranceRecovery_637236753747312873" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherOperatingIncomeExpenseNet" xlink:to="us-gaap_GainOnBusinessInterruptionInsuranceRecovery_637236753747312873" order="3" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureInventoriesDetails" xlink:type="extended" xlink:title="40401 - Disclosure - INVENTORIES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves_637236753747312873" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="InventoryNet" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves_637236753747312873" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves_637236753747312873" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="InventoryNet" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves_637236753747312873" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves_637236753747312873" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="InventoryNet" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves_637236753747312873" order="3" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails" xlink:type="extended" xlink:title="40501 - Disclosure - PROJECT ASSETS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsPlantsAndLand" xlink:label="csiq_ProjectAssetsPlantsAndLand" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost_637236753747312873" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_ProjectAssetsPlantsAndLand" xlink:to="csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost_637236753747312873" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost_637236753747312873" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_ProjectAssetsPlantsAndLand" xlink:to="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost_637236753747312873" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" xlink:type="extended" xlink:title="40601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" xlink:label="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_637236753747322866" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_637236753747322866" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AccumulatedAssetImpairmentCharges" xlink:label="csiq_AccumulatedAssetImpairmentCharges_637236753747322866" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_637236753747322866" xlink:to="csiq_AccumulatedAssetImpairmentCharges_637236753747322866" order="1" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_637236753747452876" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_637236753747322866" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_637236753747452876" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_637236753747452876" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_637236753747322866" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_637236753747452876" order="3" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConstructionInProgressGross" xlink:label="us-gaap_ConstructionInProgressGross_637236753747452876" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_ConstructionInProgressGross_637236753747452876" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails" xlink:type="extended" xlink:title="40701 - Disclosure - SOLAR POWER SYSTEMS, NET (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarPowerSystems" xlink:label="csiq_SolarPowerSystems" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" xlink:label="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems_637236753747462886" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_SolarPowerSystems" xlink:to="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems_637236753747462886" order="1" use="optional" weight="-1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails" xlink:type="extended" xlink:title="40801 - Disclosure - INTANGIBLE ASSETS, NET (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="FiniteLivedIntangibleAssetsNet" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_637236753747462886" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_637236753747462886" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_637236753747462886" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_637236753747462886" order="2" use="optional" weight="-1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails" xlink:type="extended" xlink:title="41001 - Disclosure - VARIABLE INTEREST ENTITIES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssets" xlink:label="us-gaap_OtherAssets_637236753747462886" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_OtherAssets_637236753747462886" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssets" xlink:label="csiq_ProjectAssets_637236753747462886" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="csiq_ProjectAssets_637236753747462886" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt_637236753747462886" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LongTermDebt_637236753747462886" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherLiabilities" xlink:label="us-gaap_OtherLiabilities_637236753747462886" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_OtherLiabilities_637236753747462886" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings_637236753747462886" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_ShortTermBorrowings_637236753747462886" order="3" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails3Calc2" xlink:type="extended" xlink:title="41103 - Disclosure - BORROWINGS - Long term (Details 3) (Calc 2)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LoansPayableCurrent" xlink:label="us-gaap_LoansPayableCurrent_637236753747472874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LoansPayableCurrent_637236753747472874" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans_637236753747472874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermNotesAndLoans_637236753747472874" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails" xlink:type="extended" xlink:title="41201 - Disclosure - LEASE - Lease expense (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization_637236753747472874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization_637236753747472874" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense_637236753747472874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_FinanceLeaseInterestExpense_637236753747472874" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost_637236753747472874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_OperatingLeaseCost_637236753747472874" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost_637236753747472874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_ShortTermLeaseCost_637236753747472874" order="4" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails" xlink:type="extended" xlink:title="41204 - Disclosure - LEASE - Operating leases - Maturities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_637236753747472874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_637236753747472874" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_637236753747472874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_637236753747472874" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_637236753747472874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_637236753747472874" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_637236753747482874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_637236753747482874" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_637236753747482874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_637236753747482874" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_637236753747482874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_637236753747482874" order="6" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDue" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent_637236753747482874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent_637236753747482874" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears_637236753747482874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears_637236753747482874" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears_637236753747482874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears_637236753747482874" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears_637236753747482874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears_637236753747482874" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears_637236753747482874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears_637236753747482874" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter_637236753747482874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter_637236753747482874" order="6" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails" xlink:type="extended" xlink:title="41205 - Disclosure - LEASE - Operating leases - Gross difference (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_637236753747492869" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_637236753747492869" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_637236753747492869" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_OperatingLeaseLiability_637236753747492869" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails" xlink:type="extended" xlink:title="41206 - Disclosure - LEASE - Finance leases - Maturities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeasesFutureMinimumPaymentsDue" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDue" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeasesFutureMinimumPaymentsDueInFourYears" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInFourYears_637236753747492869" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CapitalLeasesFutureMinimumPaymentsDue" xlink:to="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInFourYears_637236753747492869" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeasesFutureMinimumPaymentsDueInThreeYears" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInThreeYears_637236753747492869" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CapitalLeasesFutureMinimumPaymentsDue" xlink:to="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInThreeYears_637236753747492869" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeasesFutureMinimumPaymentsDueInTwoYears" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInTwoYears_637236753747492869" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CapitalLeasesFutureMinimumPaymentsDue" xlink:to="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInTwoYears_637236753747492869" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeasesFutureMinimumPaymentsDueCurrent" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDueCurrent_637236753747492869" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CapitalLeasesFutureMinimumPaymentsDue" xlink:to="us-gaap_CapitalLeasesFutureMinimumPaymentsDueCurrent_637236753747492869" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_637236753747492869" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_637236753747492869" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_637236753747492869" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_637236753747492869" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_637236753747492869" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_637236753747492869" order="3" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails" xlink:type="extended" xlink:title="41207 - Disclosure - LEASE - Finance leases - Gross difference (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeasesFutureMinimumPaymentsDue" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDue" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments_637236753747502874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CapitalLeasesFutureMinimumPaymentsDue" xlink:to="us-gaap_CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments_637236753747502874" order="1" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments_637236753747502874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CapitalLeasesFutureMinimumPaymentsDue" xlink:to="us-gaap_CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments_637236753747502874" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_637236753747502874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_637236753747502874" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability_637236753747502874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiability_637236753747502874" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails" xlink:type="extended" xlink:title="41208 - Disclosure - LEASE - Total leases - Maturities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDue" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueCurrent" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueCurrent_637236753747502874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueCurrent_637236753747502874" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears_637236753747502874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears_637236753747502874" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears_637236753747502874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears_637236753747502874" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears_637236753747502874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears_637236753747502874" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears_637236753747502874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears_637236753747502874" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDuethereafter" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDuethereafter_637236753747512871" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDuethereafter_637236753747512871" order="6" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LesseeLiabilityPaymentsDue" xlink:label="csiq_LesseeLiabilityPaymentsDue" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LesseeLiabilityPaymentsDueNextTwelveMonths" xlink:label="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths_637236753747512871" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths_637236753747512871" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LesseeLiabilityPaymentsDueYearTwo" xlink:label="csiq_LesseeLiabilityPaymentsDueYearTwo_637236753747512871" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityPaymentsDueYearTwo_637236753747512871" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LesseeLiabilityPaymentsDueYearThree" xlink:label="csiq_LesseeLiabilityPaymentsDueYearThree_637236753747512871" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityPaymentsDueYearThree_637236753747512871" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LesseeLiabilityPaymentsDueYearFour" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFour_637236753747512871" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityPaymentsDueYearFour_637236753747512871" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LesseeLiabilityPaymentsDueYearFive" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFive_637236753747512871" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityPaymentsDueYearFive_637236753747512871" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LesseeLiabilityPaymentsDueAfterYearFive" xlink:label="csiq_LesseeLiabilityPaymentsDueAfterYearFive_637236753747512871" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityPaymentsDueAfterYearFive_637236753747512871" order="6" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails" xlink:type="extended" xlink:title="41209 - Disclosure - LEASE - Total leases - Gross difference (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDue" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments" xlink:label="csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments_637236753747522873" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:to="csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments_637236753747522873" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments" xlink:label="csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments_637236753747522873" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:to="csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments_637236753747522873" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LesseeLiabilityPaymentsDue" xlink:label="csiq_LesseeLiabilityPaymentsDue" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LesseeLiabilityUndiscountedExcessAmount" xlink:label="csiq_LesseeLiabilityUndiscountedExcessAmount_637236753747522873" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityUndiscountedExcessAmount_637236753747522873" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeaseLiability" xlink:label="csiq_LeaseLiability_637236753747522873" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LeaseLiability_637236753747522873" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails" xlink:type="extended" xlink:title="41210 - Disclosure - LEASE - Total leases - Summary (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent_637236753747522873" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiability" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent_637236753747522873" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_637236753747522873" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiability" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent_637236753747522873" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeaseLiability" xlink:label="csiq_LeaseLiability" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeaseLiabilityCurrent" xlink:label="csiq_LeaseLiabilityCurrent_637236753747522873" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LeaseLiability" xlink:to="csiq_LeaseLiabilityCurrent_637236753747522873" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeaseLiabilityNoncurrent" xlink:label="csiq_LeaseLiabilityNoncurrent_637236753747522873" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LeaseLiability" xlink:to="csiq_LeaseLiabilityNoncurrent_637236753747522873" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_637236753747522873" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_637236753747522873" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_637236753747532875" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_637236753747532875" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsDetails" xlink:type="extended" xlink:title="41301 - Disclosure - BORROWINGS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmount" xlink:label="DebtLongtermAndShorttermCombinedAmount" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings_637236753747532875" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DebtLongtermAndShorttermCombinedAmount" xlink:to="us-gaap_ShortTermBorrowings_637236753747532875" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherShortTermBorrowings" xlink:label="us-gaap_OtherShortTermBorrowings_637236753747532875" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ShortTermBorrowings_637236753747532875" xlink:to="us-gaap_OtherShortTermBorrowings_637236753747532875" order="1" use="optional" weight="1" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent_637236753747532875" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ShortTermBorrowings_637236753747532875" xlink:to="us-gaap_LongTermDebtCurrent_637236753747532875" order="2" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LongTermBorrowingsOnProjectAssetsCurrent" xlink:label="csiq_LongTermBorrowingsOnProjectAssetsCurrent_637236753747532875" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DebtLongtermAndShorttermCombinedAmount" xlink:to="csiq_LongTermBorrowingsOnProjectAssetsCurrent_637236753747532875" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans_637236753747532875" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="DebtLongtermAndShorttermCombinedAmount" xlink:to="us-gaap_LongTermNotesAndLoans_637236753747532875" order="3" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails" xlink:type="extended" xlink:title="41303 - Disclosure - BORROWINGS - Long term (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_637236753747532875" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_637236753747532875" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_637236753747532875" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_637236753747532875" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_637236753747542873" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_637236753747542873" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_637236753747542873" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_637236753747542873" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_637236753747542873" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_637236753747542873" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive_637236753747542873" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive_637236753747542873" order="6" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" xlink:type="extended" xlink:title="41801 - Disclosure - INCOME TAXES - Provision for income taxes (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="IncomeTaxExpenseBenefit" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_637236753747542873" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_637236753747542873" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_637236753747542873" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_637236753747542873" order="2" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="extended" xlink:title="41803 - Disclosure - INCOME TAXES - Deferred tax assets and liabilities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet_637236753747542873" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsNet_637236753747542873" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross_637236753747542873" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet_637236753747542873" xlink:to="us-gaap_DeferredTaxAssetsGross_637236753747542873" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_637236753747542873" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_637236753747542873" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_637236753747542873" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_637236753747552876" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_637236753747542873" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_637236753747552876" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_637236753747552876" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_637236753747542873" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_637236753747552876" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory_637236753747552876" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_637236753747542873" xlink:to="us-gaap_DeferredTaxAssetsInventory_637236753747552876" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DeferredTaxAssetsFutureDeductibleExpenses" xlink:label="csiq_DeferredTaxAssetsFutureDeductibleExpenses_637236753747552876" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_637236753747542873" xlink:to="csiq_DeferredTaxAssetsFutureDeductibleExpenses_637236753747552876" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" xlink:label="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_637236753747552876" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_637236753747542873" xlink:to="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_637236753747552876" order="6" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_637236753747552876" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_637236753747542873" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_637236753747552876" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_637236753747552876" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_637236753747542873" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_637236753747552876" order="8" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:label="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_637236753747552876" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_637236753747542873" xlink:to="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_637236753747552876" order="9" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DeferredTaxAssetsInterestLimitation" xlink:label="csiq_DeferredTaxAssetsInterestLimitation_637236753747552876" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_637236753747542873" xlink:to="csiq_DeferredTaxAssetsInterestLimitation_637236753747552876" order="10" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther_637236753747552876" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_637236753747542873" xlink:to="us-gaap_DeferredTaxAssetsOther_637236753747552876" order="11" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_637236753747562874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet_637236753747542873" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_637236753747562874" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_637236753747562874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_637236753747562874" order="2" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:label="us-gaap_DeferredTaxLiabilitiesDerivatives_637236753747562874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities_637236753747562874" xlink:to="us-gaap_DeferredTaxLiabilitiesDerivatives_637236753747562874" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_637236753747562874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities_637236753747562874" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_637236753747562874" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DeferredTaxLiabilitiesDeferredProfitOfProjects" xlink:label="csiq_DeferredTaxLiabilitiesDeferredProfitOfProjects_637236753747562874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities_637236753747562874" xlink:to="csiq_DeferredTaxLiabilitiesDeferredProfitOfProjects_637236753747562874" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DeferredTaxLiabilitiesInsuranceRecoverable" xlink:label="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_637236753747562874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities_637236753747562874" xlink:to="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_637236753747562874" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" xlink:label="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains_637236753747562874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities_637236753747562874" xlink:to="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains_637236753747562874" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_637236753747562874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities_637236753747562874" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_637236753747562874" order="6" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails" xlink:type="extended" xlink:title="41804 - Disclosure - INCOME TAXES - Reconciliation (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="EffectiveIncomeTaxRateContinuingOperations" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_637236753747572874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_637236753747572874" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_637236753747572874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_637236753747572874" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays_637236753747572874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays_637236753747572874" order="3" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_637236753747572874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_637236753747572874" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_637236753747572874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_637236753747572874" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_637236753747572874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_637236753747572874" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_637236753747572874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_637236753747572874" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_637236753747572874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_637236753747572874" order="8" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails" xlink:type="extended" xlink:title="41901 - Disclosure - EARNINGS PER SHARE (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_637236753747582880" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_637236753747582880" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" xlink:label="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther_637236753747582880" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:to="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther_637236753747582880" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_637236753747582880" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_637236753747582880" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_637236753747582880" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_637236753747582880" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" xlink:label="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities_637236753747582880" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities_637236753747582880" order="3" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails" xlink:type="extended" xlink:title="42702 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="LiabilitiesAndStockholdersEquity" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_637236753747582880" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquity_637236753747582880" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_637236753747582880" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities_637236753747582880" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Assets" xlink:label="Assets" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_637236753747582880" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_AssetsCurrent_637236753747582880" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_InvestmentInAffiliates" xlink:label="csiq_InvestmentInAffiliates_637236753747582880" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="csiq_InvestmentInAffiliates_637236753747582880" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_InvestmentInSubsidiaries" xlink:label="csiq_InvestmentInSubsidiaries_637236753747582880" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="csiq_InvestmentInSubsidiaries_637236753747582880" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_637236753747592876" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_637236753747592876" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_637236753747592876" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_OtherAssetsNoncurrent_637236753747592876" order="5" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" xlink:type="extended" xlink:title="42704 - Disclosure - Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="NetIncomeLossAvailableToCommonStockholdersBasic" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_637236753747592876" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetIncomeLossAvailableToCommonStockholdersBasic" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_637236753747592876" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_637236753747592876" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetIncomeLossAvailableToCommonStockholdersBasic" xlink:to="us-gaap_IncomeTaxExpenseBenefit_637236753747592876" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EquityIncomeLossFromSubsidiaries" xlink:label="csiq_EquityIncomeLossFromSubsidiaries_637236753747592876" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetIncomeLossAvailableToCommonStockholdersBasic" xlink:to="csiq_EquityIncomeLossFromSubsidiaries_637236753747592876" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_637236753747592876" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetIncomeLossAvailableToCommonStockholdersBasic" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_637236753747592876" order="4" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails" xlink:type="extended" xlink:title="42705 - Disclosure - Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="ComprehensiveIncomeNetOfTax" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_637236753747592876" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ProfitLoss_637236753747592876" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_637236753747602886" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_637236753747602886" order="2" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" xlink:type="extended" xlink:title="42706 - Disclosure - Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments_637236753747602886" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquireEquityMethodInvestments_637236753747602886" order="1" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_637236753747602886" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_637236753747602886" order="2" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PaymentsForProceedsFromLoansToSubsidiaries" xlink:label="csiq_PaymentsForProceedsFromLoansToSubsidiaries_637236753747602886" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="csiq_PaymentsForProceedsFromLoansToSubsidiaries_637236753747602886" order="3" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" xlink:label="us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries_637236753747602886" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries_637236753747602886" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentOfNotesReceivableFromRelatedParties" xlink:label="us-gaap_RepaymentOfNotesReceivableFromRelatedParties_637236753747602886" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_RepaymentOfNotesReceivableFromRelatedParties_637236753747602886" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PaymentsToAcquireSubsidiaries" xlink:label="csiq_PaymentsToAcquireSubsidiaries_637236753747602886" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="csiq_PaymentsToAcquireSubsidiaries_637236753747602886" order="6" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_637236753747602886" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ProfitLoss_637236753747602886" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_637236753747602886" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DepreciationDepletionAndAmortization_637236753747602886" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_637236753747602886" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_637236753747602886" order="3" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainOrLossOnSaleOfStockInSubsidiary" xlink:label="us-gaap_GainOrLossOnSaleOfStockInSubsidiary_637236753747612880" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_GainOrLossOnSaleOfStockInSubsidiary_637236753747612880" order="4" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_637236753747612880" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_637236753747612880" order="5" use="optional" weight="-1" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ImpairmentOfInvestments" xlink:label="us-gaap_ImpairmentOfInvestments_637236753747612880" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ImpairmentOfInvestments_637236753747612880" order="6" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_637236753747612880" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_637236753747612880" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EquityIncomeLossFromSubsidiaries" xlink:label="csiq_EquityIncomeLossFromSubsidiaries_637236753747612880" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="csiq_EquityIncomeLossFromSubsidiaries_637236753747612880" order="8" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_637236753747612880" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_637236753747612880" order="9" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_637236753747612880" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ShareBasedCompensation_637236753747612880" order="10" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories_637236753747612880" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInInventories_637236753747612880" order="11" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_637236753747612880" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_637236753747612880" order="12" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_637236753747622871" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_637236753747622871" order="13" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInAdvanceToSuppliers" xlink:label="csiq_IncreaseDecreaseInAdvanceToSuppliers_637236753747622871" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="csiq_IncreaseDecreaseInAdvanceToSuppliers_637236753747622871" order="14" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_637236753747622871" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_637236753747622871" order="15" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_637236753747622871" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_637236753747622871" order="16" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade_637236753747622871" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableTrade_637236753747622871" order="17" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_637236753747622871" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_637236753747622871" order="18" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_637236753747622871" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_637236753747622871" order="19" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInProductWarrantyAccrual" xlink:label="csiq_IncreaseDecreaseInProductWarrantyAccrual_637236753747622871" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="csiq_IncreaseDecreaseInProductWarrantyAccrual_637236753747622871" order="20" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_637236753747632874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_637236753747632874" order="21" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_637236753747632874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_637236753747632874" order="22" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_637236753747632874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_637236753747632874" order="23" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_637236753747632874" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_GainLossOnSaleOfDerivatives_637236753747632874" order="24" use="optional" weight="-1" priority="3" />
  </calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>11
<FILENAME>csiq-20191231_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  9.6.7401.38943 -->
<!--Based on XBRL 2.1-->
<!--Created on: 4/28/2020 12:56:24 PM-->
<!--Modified on: 4/28/2020 12:56:24 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink">
  <roleRef xlink:type="simple" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-roles-2019-01-31.xsd#eedm" roleURI="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DocumentDocumentAndEntityInformation" roleURI="http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#StatementConsolidatedStatementsOfChangesInEquity" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureAllowanceForDoubtfulAccountsTables" roleURI="http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureCommitmentsAndContingenciesTables" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDefaultDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDefaultDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureAllowanceForDoubtfulAccountsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosurePropertyPlantAndEquipmentNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSolarPowerSystemsNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureIntangibleAssetsNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureFairValueMeasurementDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureFairValueMeasurementInterestRateSwapDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureVariableInterestEntitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureInvestmentsInAffiliatesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureBorrowingsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureConvertibleNotesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureIncomeTaxesReconciliationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureIncomeTaxesMovementOfValuationAllowanceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureEarningsPerShareDetails" roleURI="http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureRelatedPartyBalancesAndTransactionsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureCommitmentsAndContingenciesCommitmentsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureCommitmentsAndContingenciesContingenciesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSegmentInformationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSegmentInformationDifferentGeographicLocationsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSegmentInformationEachProductOrServiceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureMajorCustomersDetails" roleURI="http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureEmployeeBenefitPlansDetails" roleURI="http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureShareBasedCompensationOptionsToEmployeesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureShareBasedCompensationRsusToEmployeesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSubsequentEventsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSubsequentEventsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureFinancialStatementScheduleIBalanceSheetsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureAppendix1MajorSubsidiariesOfCsiDetails" roleURI="http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" />
  <definitionLink xlink:role="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" xlink:type="extended" xlink:title="Extensible Enumeration Domain Members" xmlns="http://www.xbrl.org/2003/linkbase" />
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation" xlink:type="extended" xlink:title="00090 - Document - Document and Entity Information" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressesAddressTypeAxis" xlink:label="dei_EntityAddressesAddressTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="dei_DocumentInformationTable" xlink:to="dei_EntityAddressesAddressTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AddressTypeDomain" xlink:label="dei_AddressTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_EntityAddressesAddressTypeAxis" xlink:to="dei_AddressTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AddressTypeDomain" xlink:label="dei_AddressTypeDomain_637236753747642883" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="dei_EntityAddressesAddressTypeAxis" xlink:to="dei_AddressTypeDomain_637236753747642883" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_BusinessContactMember" xlink:label="dei_BusinessContactMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="dei_AddressTypeDomain" xlink:to="dei_BusinessContactMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCentralIndexKey" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentType" xlink:label="dei_DocumentType" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentType" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentRegistrationStatement" xlink:label="dei_DocumentRegistrationStatement" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentRegistrationStatement" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentAnnualReport" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentPeriodEndDate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFileNumber" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityRegistrantName" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityIncorporationStateCountryCode" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressAddressLine1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressCityOrTown" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressCountry" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressPostalZipCode" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_ContactPersonnelName" xlink:label="dei_ContactPersonnelName" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_ContactPersonnelName" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CityAreaCode" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_LocalPhoneNumber" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_Security12bTitle" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_SecurityExchangeName" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="19" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AmendmentFlag" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="20" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CurrentFiscalYearEndDate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="21" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityWellKnownSeasonedIssuer" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="22" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityVoluntaryFilers" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="23" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCurrentReportingStatus" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="24" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityInteractiveDataCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="25" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityFilerCategory" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="26" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityEmergingGrowthCompany" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentAccountingStandard" xlink:label="dei_DocumentAccountingStandard" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="27" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentAccountingStandard" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="28" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityShellCompany" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_NoTradingSymbolFlag" xlink:label="dei_NoTradingSymbolFlag" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="29" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_NoTradingSymbolFlag" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="30" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCommonStockSharesOutstanding" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="31" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalYearFocus" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="32" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalPeriodFocus" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="33" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentTransitionReport" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentShellCompanyReport" xlink:label="dei_DocumentShellCompanyReport" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="34" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentShellCompanyReport" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity" xlink:type="extended" xlink:title="00400 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember_637236753747692886" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_TypeOfAdoptionMember_637236753747692886" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingStandardsUpdate201409Member" xlink:label="us-gaap_AccountingStandardsUpdate201409Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_AccountingStandardsUpdate201409Member" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_637236753747692886" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain_637236753747692886" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockMember" xlink:label="us-gaap_TreasuryStockMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_TreasuryStockMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ParentMember" xlink:label="us-gaap_ParentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_ParentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_NoncontrollingInterestMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_CommonStockSharesIssued" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_ProfitLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CumulativeEffectOnRetainedEarningsTax1" xlink:label="us-gaap_CumulativeEffectOnRetainedEarningsTax1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_CumulativeEffectOnRetainedEarningsTax1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MinorityInterestDecreaseFromRedemptions" xlink:label="us-gaap_MinorityInterestDecreaseFromRedemptions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_MinorityInterestDecreaseFromRedemptions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_TreasuryStockValueAcquiredCostMethod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockSharesAcquired" xlink:label="us-gaap_TreasuryStockSharesAcquired" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_TreasuryStockSharesAcquired" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" xlink:label="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsTables" xlink:type="extended" xlink:title="30303 - Disclosure - ALLOWANCE FOR DOUBTFUL ACCOUNTS (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_637236753747762870" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_637236753747762870" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllowanceForCreditLossMember" xlink:label="us-gaap_AllowanceForCreditLossMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_AllowanceForCreditLossMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AllowanceForAdvancesToSuppliersMember" xlink:label="csiq_AllowanceForAdvancesToSuppliersMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="csiq_AllowanceForAdvancesToSuppliersMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AllowanceForOtherReceivablesMember" xlink:label="csiq_AllowanceForOtherReceivablesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="csiq_AllowanceForOtherReceivablesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xlink:label="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables" xlink:type="extended" xlink:title="32103 - Disclosure - COMMITMENTS AND CONTINGENCIES (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_637236753747782874" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_637236753747782874" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PropertyAndEquipmentPurchaseCommitmentMember" xlink:label="csiq_PropertyAndEquipmentPurchaseCommitmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:to="csiq_PropertyAndEquipmentPurchaseCommitmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarPowerSystemCommitmentsMember" xlink:label="csiq_SolarPowerSystemCommitmentsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:to="csiq_SolarPowerSystemCommitmentsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermPurchaseCommitmentTextBlock" xlink:label="us-gaap_LongTermPurchaseCommitmentTextBlock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LongTermPurchaseCommitmentTextBlock" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails" xlink:type="extended" xlink:title="40201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Allowance for doubtful receivables (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainContingenciesTable" xlink:label="us-gaap_GainContingenciesTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainContingenciesByNatureAxis" xlink:label="us-gaap_GainContingenciesByNatureAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_GainContingenciesTable" xlink:to="us-gaap_GainContingenciesByNatureAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainContingencyNatureDomain" xlink:label="us-gaap_GainContingencyNatureDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_GainContingenciesByNatureAxis" xlink:to="us-gaap_GainContingencyNatureDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainContingencyNatureDomain" xlink:label="us-gaap_GainContingencyNatureDomain_637236753747802887" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_GainContingenciesByNatureAxis" xlink:to="us-gaap_GainContingencyNatureDomain_637236753747802887" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InsuranceSettlementMember" xlink:label="us-gaap_InsuranceSettlementMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_GainContingencyNatureDomain" xlink:to="us-gaap_InsuranceSettlementMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainContingenciesLineItems" xlink:label="us-gaap_GainContingenciesLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_GainContingenciesLineItems" xlink:to="us-gaap_GainContingenciesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_GainContingenciesLineItems" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails" xlink:type="extended" xlink:title="40202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Property, plant and equipment (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_637236753747812898" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_637236753747812898" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_BuildingMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_MachineryAndEquipmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_FurnitureAndFixturesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_VehiclesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ElectricGenerationEquipmentMember" xlink:label="us-gaap_ElectricGenerationEquipmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ElectricGenerationEquipmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember_637236753747822915" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember_637236753747822915" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails" xlink:type="extended" xlink:title="40203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Prepaid land use rights (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_637236753747832877" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_637236753747832877" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_DevelopedTechnologyRightsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UseRightsMember" xlink:label="us-gaap_UseRightsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_UseRightsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails" xlink:type="extended" xlink:title="40205 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PublicUtilitiesInventoryAxis" xlink:label="us-gaap_PublicUtilitiesInventoryAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_PublicUtilitiesInventoryAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PublicUtilitiesInventoryTypeDomain" xlink:label="us-gaap_PublicUtilitiesInventoryTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PublicUtilitiesInventoryAxis" xlink:to="us-gaap_PublicUtilitiesInventoryTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PublicUtilitiesInventoryTypeDomain" xlink:label="us-gaap_PublicUtilitiesInventoryTypeDomain_637236753747852877" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PublicUtilitiesInventoryAxis" xlink:to="us-gaap_PublicUtilitiesInventoryTypeDomain_637236753747852877" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_UncollectableRevenueMember" xlink:label="csiq_UncollectableRevenueMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PublicUtilitiesInventoryTypeDomain" xlink:to="csiq_UncollectableRevenueMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_ProductOrServiceAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_637236753747852877" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain_637236753747852877" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ElectricityMember" xlink:label="us-gaap_ElectricityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ElectricityMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_InventoryNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" xlink:type="extended" xlink:title="40206 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Disaggregation of Revenue (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain_637236753747862876" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceDomain_637236753747862876" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TransferredAtPointInTimeMember" xlink:label="us-gaap_TransferredAtPointInTimeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:to="us-gaap_TransferredAtPointInTimeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TransferredOverTimeMember" xlink:label="us-gaap_TransferredOverTimeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:to="us-gaap_TransferredOverTimeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_637236753747872897" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain_637236753747872897" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ModuleSegmentMember" xlink:label="csiq_ModuleSegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentDomain" xlink:to="csiq_ModuleSegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EnergySegmentMember" xlink:label="csiq_EnergySegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="csiq_EnergySegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails" xlink:type="extended" xlink:title="40207 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetNetAbstract" xlink:label="us-gaap_ContractWithCustomerAssetNetAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_ContractWithCustomerAssetNetAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="us-gaap_UnbilledReceivablesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ContractWithCustomerAssetNetAbstract" xlink:to="us-gaap_UnbilledReceivablesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInAccountsReceivablesUnbilled" xlink:label="csiq_IncreaseDecreaseInAccountsReceivablesUnbilled" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ContractWithCustomerAssetNetAbstract" xlink:to="csiq_IncreaseDecreaseInAccountsReceivablesUnbilled" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityAbstract" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInAdvancesFromCustomers" xlink:label="csiq_IncreaseDecreaseInAdvancesFromCustomers" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract" xlink:to="csiq_IncreaseDecreaseInAdvancesFromCustomers" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ContractLiabilitiesOtherCurrentLiabilities" xlink:label="csiq_ContractLiabilitiesOtherCurrentLiabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract" xlink:to="csiq_ContractLiabilitiesOtherCurrentLiabilities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherCurrentLiabilitiesFluctuations" xlink:label="csiq_OtherCurrentLiabilitiesFluctuations" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract" xlink:to="csiq_OtherCurrentLiabilitiesFluctuations" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerLiability" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInContractLiabilities" xlink:label="csiq_IncreaseDecreaseInContractLiabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract" xlink:to="csiq_IncreaseDecreaseInContractLiabilities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDefaultDetails" xlink:type="extended" xlink:title="40207 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities Default (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetNetAbstract" xlink:label="us-gaap_ContractWithCustomerAssetNetAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_ContractWithCustomerAssetNetAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="us-gaap_UnbilledReceivablesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ContractWithCustomerAssetNetAbstract" xlink:to="us-gaap_UnbilledReceivablesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInAccountsReceivablesUnbilled" xlink:label="csiq_IncreaseDecreaseInAccountsReceivablesUnbilled" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ContractWithCustomerAssetNetAbstract" xlink:to="csiq_IncreaseDecreaseInAccountsReceivablesUnbilled" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityAbstract" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInAdvancesFromCustomers" xlink:label="csiq_IncreaseDecreaseInAdvancesFromCustomers" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract" xlink:to="csiq_IncreaseDecreaseInAdvancesFromCustomers" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ContractLiabilitiesOtherCurrentLiabilities" xlink:label="csiq_ContractLiabilitiesOtherCurrentLiabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract" xlink:to="csiq_ContractLiabilitiesOtherCurrentLiabilities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherCurrentLiabilitiesFluctuations" xlink:label="csiq_OtherCurrentLiabilitiesFluctuations" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract" xlink:to="csiq_OtherCurrentLiabilitiesFluctuations" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerLiability" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInContractLiabilities" xlink:label="csiq_IncreaseDecreaseInContractLiabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract" xlink:to="csiq_IncreaseDecreaseInContractLiabilities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails" xlink:type="extended" xlink:title="40208 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Shipping and handling costs, Research and development (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="srt_ProductOrServiceAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShippingAndHandlingMember" xlink:label="us-gaap_ShippingAndHandlingMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_ShippingAndHandlingMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SellingExpense" xlink:label="us-gaap_SellingExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SellingExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ResearchAndDevelopmentExpense" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" xlink:type="extended" xlink:title="40209 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating income, net (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_ProductOrServiceAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GrantMember" xlink:label="us-gaap_GrantMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ProductsAndServicesDomain" xlink:to="us-gaap_GrantMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" xlink:label="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainOnBusinessInterruptionInsuranceRecovery" xlink:label="us-gaap_GainOnBusinessInterruptionInsuranceRecovery" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_GainOnBusinessInterruptionInsuranceRecovery" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails" xlink:type="extended" xlink:title="40210 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductWarrantyLiabilityTable" xlink:label="us-gaap_ProductWarrantyLiabilityTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ProductWarrantyLiabilityTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ProductWarrantyLiabilityTable" xlink:to="srt_ProductOrServiceAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_StandardSolarModuleMember" xlink:label="csiq_StandardSolarModuleMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_StandardSolarModuleMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarPowerProjectMember" xlink:label="csiq_SolarPowerProjectMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_SolarPowerProjectMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_BifacialModuleAndDoubleGlassModuleMember" xlink:label="csiq_BifacialModuleAndDoubleGlassModuleMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_BifacialModuleAndDoubleGlassModuleMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GuaranteeObligationsByNatureAxis" xlink:label="us-gaap_GuaranteeObligationsByNatureAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ProductWarrantyLiabilityTable" xlink:to="us-gaap_GuaranteeObligationsByNatureAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GuaranteeObligationsNatureDomain" xlink:label="us-gaap_GuaranteeObligationsNatureDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_GuaranteeObligationsByNatureAxis" xlink:to="us-gaap_GuaranteeObligationsNatureDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GuaranteeObligationsNatureDomain" xlink:label="us-gaap_GuaranteeObligationsNatureDomain_637236753747933177" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_GuaranteeObligationsByNatureAxis" xlink:to="us-gaap_GuaranteeObligationsNatureDomain_637236753747933177" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_MaterialAndWorkmanShipMember" xlink:label="csiq_MaterialAndWorkmanShipMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_GuaranteeObligationsNatureDomain" xlink:to="csiq_MaterialAndWorkmanShipMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EightyPercentInitialPowerCapacityMember" xlink:label="csiq_EightyPercentInitialPowerCapacityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_GuaranteeObligationsNatureDomain" xlink:to="csiq_EightyPercentInitialPowerCapacityMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NinetySevenPercentInitialPowerCapacityMember" xlink:label="csiq_NinetySevenPercentInitialPowerCapacityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_GuaranteeObligationsNatureDomain" xlink:to="csiq_NinetySevenPercentInitialPowerCapacityMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NinetyThreeInitialPowerCapacityMember" xlink:label="csiq_NinetyThreeInitialPowerCapacityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_GuaranteeObligationsNatureDomain" xlink:to="csiq_NinetyThreeInitialPowerCapacityMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductWarrantyLiabilityLineItems" xlink:label="us-gaap_ProductWarrantyLiabilityLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_ProductWarrantyLiabilityTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProductWarrantyAccrualRateForSalesOfSolarModules" xlink:label="csiq_ProductWarrantyAccrualRateForSalesOfSolarModules" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="csiq_ProductWarrantyAccrualRateForSalesOfSolarModules" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_InsurancePolicyTerm" xlink:label="csiq_InsurancePolicyTerm" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="csiq_InsurancePolicyTerm" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_StandardProductWarrantyPeriod" xlink:label="csiq_StandardProductWarrantyPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="csiq_StandardProductWarrantyPeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_InsurancePremiumUnamortizedAmountNoncurrent" xlink:label="csiq_InsurancePremiumUnamortizedAmountNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="csiq_InsurancePremiumUnamortizedAmountNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InsuranceSettlementsReceivableNoncurrent" xlink:label="us-gaap_InsuranceSettlementsReceivableNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_InsuranceSettlementsReceivableNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:label="us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherNoncurrentAssetsAdjustment" xlink:label="csiq_OtherNoncurrentAssetsAdjustment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="csiq_OtherNoncurrentAssetsAdjustment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductWarrantyExpense" xlink:label="us-gaap_ProductWarrantyExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_ProductWarrantyExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsDetails" xlink:type="extended" xlink:title="40301 - Disclosure - ALLOWANCE FOR DOUBTFUL ACCOUNTS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllowanceForCreditLossMember" xlink:label="us-gaap_AllowanceForCreditLossMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_AllowanceForCreditLossMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AllowanceForAdvancesToSuppliersMember" xlink:label="csiq_AllowanceForAdvancesToSuppliersMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="csiq_AllowanceForAdvancesToSuppliersMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AllowanceForOtherReceivablesMember" xlink:label="csiq_AllowanceForOtherReceivablesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="csiq_AllowanceForOtherReceivablesMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:label="us-gaap_MovementInValuationAllowancesAndReservesRollForward" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="us-gaap_MovementInValuationAllowancesAndReservesRollForward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" xlink:label="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:to="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDeductions" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:to="us-gaap_ValuationAllowancesAndReservesDeductions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ValuationAllowancesAndReservesForeignExchangeEffect" xlink:label="csiq_ValuationAllowancesAndReservesForeignExchangeEffect" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:to="csiq_ValuationAllowancesAndReservesForeignExchangeEffect" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" xlink:type="extended" xlink:title="40601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_BuildingMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LeaseholdImprovementsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_MachineryAndEquipmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_FurnitureAndFixturesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_VehiclesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LandMember" xlink:label="us-gaap_LandMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LandMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AccumulatedAssetImpairmentCharges" xlink:label="csiq_AccumulatedAssetImpairmentCharges" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="csiq_AccumulatedAssetImpairmentCharges" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" xlink:label="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConstructionInProgressGross" xlink:label="us-gaap_ConstructionInProgressGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ConstructionInProgressGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_Depreciation" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails" xlink:type="extended" xlink:title="40701 - Disclosure - SOLAR POWER SYSTEMS, NET (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ElectricGenerationEquipmentMember" xlink:label="us-gaap_ElectricGenerationEquipmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ElectricGenerationEquipmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetUnderConstructionMember" xlink:label="us-gaap_AssetUnderConstructionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_AssetUnderConstructionMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" xlink:label="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarPowerSystems" xlink:label="csiq_SolarPowerSystems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="csiq_SolarPowerSystems" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_Depreciation" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails" xlink:type="extended" xlink:title="40801 - Disclosure - INTANGIBLE ASSETS, NET (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_DevelopedTechnologyRightsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_AmortizationOfIntangibleAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter" xlink:label="csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails" xlink:type="extended" xlink:title="40901 - Disclosure - FAIR VALUE MEASUREMENT (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_637236753748172909" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain_637236753748172909" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_InterestRateSwapMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_HedgingDesignationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain_637236753748172909" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationDomain_637236753748172909" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_HedgingDesignationDomain" xlink:to="us-gaap_DesignatedAsHedgingInstrumentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_HedgingRelationshipDomain" xlink:label="us-gaap_HedgingRelationshipDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" xlink:to="us-gaap_HedgingRelationshipDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_HedgingRelationshipDomain" xlink:label="us-gaap_HedgingRelationshipDomain_637236753748183343" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" xlink:to="us-gaap_HedgingRelationshipDomain_637236753748183343" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashFlowHedgingMember" xlink:label="us-gaap_CashFlowHedgingMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_HedgingRelationshipDomain" xlink:to="us-gaap_CashFlowHedgingMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_InterestRateSwapsNumberOfFinancialInstitutions" xlink:label="csiq_InterestRateSwapsNumberOfFinancialInstitutions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="csiq_InterestRateSwapsNumberOfFinancialInstitutions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeLiabilityNotionalAmount" xlink:label="us-gaap_DerivativeLiabilityNotionalAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_DerivativeLiabilityNotionalAmount" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeNotionalAmount" xlink:label="us-gaap_DerivativeNotionalAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_DerivativeNotionalAmount" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesFairValueDisclosure" xlink:label="us-gaap_LiabilitiesFairValueDisclosure" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_LiabilitiesFairValueDisclosure" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails" xlink:type="extended" xlink:title="40902 - Disclosure - FAIR VALUE MEASUREMENT - Interest rate swap (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:to="us-gaap_BalanceSheetLocationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_637236753748192910" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain_637236753748192910" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DerivativesAssetsCurrentMember" xlink:label="csiq_DerivativesAssetsCurrentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="csiq_DerivativesAssetsCurrentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DerivativesAssetsNoncurrentMember" xlink:label="csiq_DerivativesAssetsNoncurrentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="csiq_DerivativesAssetsNoncurrentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DerivativesLiabilitiesCurrentMember" xlink:label="csiq_DerivativesLiabilitiesCurrentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="csiq_DerivativesLiabilitiesCurrentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DerivativesLiabilitiesNoncurrentMember" xlink:label="csiq_DerivativesLiabilitiesNoncurrentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="csiq_DerivativesLiabilitiesNoncurrentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:to="us-gaap_HedgingDesignationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="us-gaap_NondesignatedMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_HedgingDesignationDomain" xlink:to="us-gaap_NondesignatedMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignExchangeForwardMember" xlink:label="us-gaap_ForeignExchangeForwardMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_ForeignExchangeForwardMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignExchangeOptionMember" xlink:label="us-gaap_ForeignExchangeOptionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_ForeignExchangeOptionMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_InterestRateSwapMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="us-gaap_DerivativesFairValueLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DerivativesFairValueLineItems" xlink:to="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" xlink:label="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DerivativesFairValueLineItems" xlink:to="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" xlink:label="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DerivativesFairValueLineItems" xlink:to="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails" xlink:type="extended" xlink:title="40903 - Disclosure - FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignExchangeForwardMember" xlink:label="us-gaap_ForeignExchangeForwardMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_ForeignExchangeForwardMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignExchangeOptionMember" xlink:label="us-gaap_ForeignExchangeOptionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_ForeignExchangeOptionMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_WarrantsMember" xlink:label="csiq_WarrantsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="csiq_WarrantsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_InterestRateSwapMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="us-gaap_DerivativeInstrumentsGainLossLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:to="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" xlink:label="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:to="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails" xlink:type="extended" xlink:title="41001 - Disclosure - VARIABLE INTEREST ENTITIES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfVariableInterestEntitiesTable" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfVariableInterestEntitiesTable" xlink:to="srt_ConsolidatedEntitiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_637236753748232923" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain_637236753748232923" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryMember" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableInterestEntityLineItems" xlink:label="us-gaap_VariableInterestEntityLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="us-gaap_ScheduleOfVariableInterestEntitiesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssets" xlink:label="csiq_ProjectAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="csiq_ProjectAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssets" xlink:label="us-gaap_OtherAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="us-gaap_OtherAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="us-gaap_Assets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="us-gaap_ShortTermBorrowings" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="us-gaap_LongTermDebt" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherLiabilities" xlink:label="us-gaap_OtherLiabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="us-gaap_OtherLiabilities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="us-gaap_Liabilities" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails" xlink:type="extended" xlink:title="41101 - Disclosure - INVESTMENTS IN AFFILIATES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="srt_EquityMethodInvesteeNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain_637236753748252921" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="srt_EquityMethodInvesteeNameDomain_637236753748252921" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ReRoserockHoldingsLlcMember" xlink:label="csiq_ReRoserockHoldingsLlcMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_ReRoserockHoldingsLlcMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarInfrastructureFundIncMember" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SuzhouFinancialLeasingCoLtdMember" xlink:label="csiq_SuzhouFinancialLeasingCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_SuzhouFinancialLeasingCoLtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherEquityMethodInvesteesMember" xlink:label="csiq_OtherEquityMethodInvesteesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_OtherEquityMethodInvesteesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_EquityMethodInvestments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails" xlink:type="extended" xlink:title="41102 - Disclosure - INVESTMENTS IN AFFILIATES - Tax equity transactions (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="srt_EquityMethodInvesteeNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ReRoserockHoldingsLlcMember" xlink:label="csiq_ReRoserockHoldingsLlcMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_ReRoserockHoldingsLlcMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalUnitsByClassAxis" xlink:label="us-gaap_CapitalUnitsByClassAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:to="us-gaap_CapitalUnitsByClassAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalUnitClassDomain" xlink:label="us-gaap_CapitalUnitClassDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_CapitalUnitsByClassAxis" xlink:to="us-gaap_CapitalUnitClassDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalUnitClassDomain" xlink:label="us-gaap_CapitalUnitClassDomain_637236753748272925" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_CapitalUnitsByClassAxis" xlink:to="us-gaap_CapitalUnitClassDomain_637236753748272925" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalUnitClassAMember" xlink:label="us-gaap_CapitalUnitClassAMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_CapitalUnitClassDomain" xlink:to="us-gaap_CapitalUnitClassAMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalUnitClassBMember" xlink:label="us-gaap_CapitalUnitClassBMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_CapitalUnitClassDomain" xlink:to="us-gaap_CapitalUnitClassBMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_TaxEquityTransactionsLineItems" xlink:label="csiq_TaxEquityTransactionsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="csiq_TaxEquityTransactionsLineItems" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EquityMethodInvestmentOwnershipPercentageSold" xlink:label="csiq_EquityMethodInvestmentOwnershipPercentageSold" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="csiq_TaxEquityTransactionsLineItems" xlink:to="csiq_EquityMethodInvestmentOwnershipPercentageSold" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="csiq_TaxEquityTransactionsLineItems" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromSaleOfInvestmentProjects" xlink:label="us-gaap_ProceedsFromSaleOfInvestmentProjects" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="csiq_TaxEquityTransactionsLineItems" xlink:to="us-gaap_ProceedsFromSaleOfInvestmentProjects" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CashFlowDistributionPercentage" xlink:label="csiq_CashFlowDistributionPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="csiq_TaxEquityTransactionsLineItems" xlink:to="csiq_CashFlowDistributionPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="csiq_TaxEquityTransactionsLineItems" xlink:to="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestmentOtherThanTemporaryImpairment" xlink:label="us-gaap_EquityMethodInvestmentOtherThanTemporaryImpairment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="csiq_TaxEquityTransactionsLineItems" xlink:to="us-gaap_EquityMethodInvestmentOtherThanTemporaryImpairment" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails" xlink:type="extended" xlink:title="41103 - Disclosure - INVESTMENTS IN AFFILIATES - Other investments (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="srt_EquityMethodInvesteeNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SuzhouFinancialLeasingCoLtdMember" xlink:label="csiq_SuzhouFinancialLeasingCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_SuzhouFinancialLeasingCoLtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarInfrastructureFundIncMember" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EnowIncMember" xlink:label="csiq_EnowIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_EnowIncMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_PaymentsToAcquireEquityMethodInvestments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EquityMethodInvestmentOwnershipPercentageSold" xlink:label="csiq_EquityMethodInvestmentOwnershipPercentageSold" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="csiq_EquityMethodInvestmentOwnershipPercentageSold" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity" xlink:label="csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NumberOfBoardMembers" xlink:label="csiq_NumberOfBoardMembers" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="csiq_NumberOfBoardMembers" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireInterestInJointVenture" xlink:label="us-gaap_PaymentsToAcquireInterestInJointVenture" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_PaymentsToAcquireInterestInJointVenture" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CostMethodInvestmentOwnershipPercentage" xlink:label="csiq_CostMethodInvestmentOwnershipPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="csiq_CostMethodInvestmentOwnershipPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ImpairmentOfInvestments" xlink:label="us-gaap_ImpairmentOfInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_ImpairmentOfInvestments" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsDetails" xlink:type="extended" xlink:title="41301 - Disclosure - BORROWINGS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_CreditFacilityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain_637236753748312916" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain_637236753748312916" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditMember" xlink:label="us-gaap_LineOfCreditMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_LineOfCreditMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NonBindingLineOfCreditMember" xlink:label="csiq_NonBindingLineOfCreditMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="csiq_NonBindingLineOfCreditMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="srt_CounterpartyNameAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_637236753748312916" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain_637236753748312916" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_BankBorrowingsMember" xlink:label="csiq_BankBorrowingsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_BankBorrowingsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_BorrowingsFromNonBankingInstitutionsMember" xlink:label="csiq_BorrowingsFromNonBankingInstitutionsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_BorrowingsFromNonBankingInstitutionsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherShortTermBorrowings" xlink:label="us-gaap_OtherShortTermBorrowings" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:to="us-gaap_OtherShortTermBorrowings" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:to="us-gaap_LongTermDebtCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:to="us-gaap_ShortTermBorrowings" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LongTermBorrowingsOnProjectAssetsCurrent" xlink:label="csiq_LongTermBorrowingsOnProjectAssetsCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:to="csiq_LongTermBorrowingsOnProjectAssetsCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:to="us-gaap_LongTermNotesAndLoans" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmount" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmount" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LineOfCredit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SecuredShortTermDebt" xlink:label="csiq_SecuredShortTermDebt" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_SecuredShortTermDebt" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SecuredDebtCurrent" xlink:label="us-gaap_SecuredDebtCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_SecuredDebtCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SecuredLongTermDebt" xlink:label="us-gaap_SecuredLongTermDebt" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_SecuredLongTermDebt" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PledgedAssetsNotSeparatelyReportedInventory" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedInventory" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedInventory" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PledgedEquityNotSeparatelyReported" xlink:label="csiq_PledgedEquityNotSeparatelyReported" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_PledgedEquityNotSeparatelyReported" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems" xlink:label="csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails" xlink:type="extended" xlink:title="41304 - Disclosure - BORROWINGS - Long term narrative and interest expense (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="srt_CounterpartyNameAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_BankBorrowingsMember" xlink:label="csiq_BankBorrowingsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_BankBorrowingsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_BorrowingsFromNonBankingInstitutionsMember" xlink:label="csiq_BorrowingsFromNonBankingInstitutionsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_BorrowingsFromNonBankingInstitutionsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_LongtermDebtTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain_637236753748362926" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain_637236753748362926" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SecuredByInventoryAndAccountsReceivableMember" xlink:label="csiq_SecuredByInventoryAndAccountsReceivableMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="csiq_SecuredByInventoryAndAccountsReceivableMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember" xlink:label="csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnsecuredDebtMember" xlink:label="us-gaap_UnsecuredDebtMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="us-gaap_UnsecuredDebtMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember" xlink:label="csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_FinancingAgreementMember" xlink:label="csiq_FinancingAgreementMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="csiq_FinancingAgreementMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_CreditFacilityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditMember" xlink:label="us-gaap_LineOfCreditMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_LineOfCreditMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="4" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="srt_OwnershipAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain_637236753748382917" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipDomain_637236753748382917" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SubsidiaryMember" xlink:label="csiq_SubsidiaryMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_OwnershipDomain" xlink:to="csiq_SubsidiaryMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_LineOfCredit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DebtInstrumentInterestRateFloatingPercentage" xlink:label="csiq_DebtInstrumentInterestRateFloatingPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_DebtInstrumentInterestRateFloatingPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestCostsIncurredAbstract" xlink:label="us-gaap_InterestCostsIncurredAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_InterestCostsIncurredAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_InterestCostsCapitalizedProjectAssets" xlink:label="csiq_InterestCostsCapitalizedProjectAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_InterestCostsIncurredAbstract" xlink:to="csiq_InterestCostsCapitalizedProjectAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_InterestCostsCapitalizedPropertyPlantAndEquipment" xlink:label="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_InterestCostsIncurredAbstract" xlink:to="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_InterestCostsIncurredAbstract" xlink:to="us-gaap_InterestExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestCostsIncurred" xlink:label="us-gaap_InterestCostsIncurred" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_InterestCostsIncurredAbstract" xlink:to="us-gaap_InterestCostsIncurred" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails" xlink:type="extended" xlink:title="41701 - Disclosure - CONVERTIBLE NOTES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_LongtermDebtTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConvertibleDebtMember" xlink:label="us-gaap_ConvertibleDebtMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="us-gaap_ConvertibleDebtMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_BalanceSheetLocationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProceedsFromConvertibleDebtInitialIssuance" xlink:label="csiq_ProceedsFromConvertibleDebtInitialIssuance" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_ProceedsFromConvertibleDebtInitialIssuance" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance" xlink:label="csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProceedsFromConvertibleDebtAdditionalIssuance" xlink:label="csiq_ProceedsFromConvertibleDebtAdditionalIssuance" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_ProceedsFromConvertibleDebtAdditionalIssuance" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionRatio1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleConversionRatio1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentAnnualPrincipalPayment" xlink:label="us-gaap_DebtInstrumentAnnualPrincipalPayment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentAnnualPrincipalPayment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleConversionPrice1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdTradingDays" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" xlink:label="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConvertibleLongTermNotesPayable" xlink:label="us-gaap_ConvertibleLongTermNotesPayable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_ConvertibleLongTermNotesPayable" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="us-gaap_ConvertibleNotesPayableCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_ConvertibleNotesPayableCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredFinanceCostsGross" xlink:label="us-gaap_DeferredFinanceCostsGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DeferredFinanceCostsGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_AmortizationOfFinancingCosts" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestExpenseDebtExcludingAmortization" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_InterestExpenseDebtExcludingAmortization" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestPayableCurrentAndNoncurrent" xlink:label="us-gaap_InterestPayableCurrentAndNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="19" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_InterestPayableCurrentAndNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentsOfConvertibleDebt" xlink:label="us-gaap_RepaymentsOfConvertibleDebt" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="20" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_RepaymentsOfConvertibleDebt" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" xlink:type="extended" xlink:title="41801 - Disclosure - INCOME TAXES - Provision for income taxes (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="us-gaap_IncomeTaxContingencyTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_IncomeTaxContingencyTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_637236753748452916" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain_637236753748452916" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CA" xlink:label="country_CA" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_CA" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_US" xlink:label="country_US" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_US" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CN" xlink:label="country_CN" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_CN" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_JP" xlink:label="country_JP" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_JP" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherJurisdictionsMember" xlink:label="csiq_OtherJurisdictionsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="csiq_OtherJurisdictionsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="us-gaap_IncomeTaxContingencyLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="us-gaap_IncomeTaxContingencyTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails" xlink:type="extended" xlink:title="41802 - Disclosure - INCOME TAXES - Domestic federal statutory tax rates (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="us-gaap_IncomeTaxContingencyTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_IncomeTaxContingencyTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_DomesticCountryMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_US" xlink:label="country_US" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_US" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_JP" xlink:label="country_JP" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_JP" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_DE" xlink:label="country_DE" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_DE" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_VN" xlink:label="country_VN" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_VN" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_TH" xlink:label="country_TH" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_TH" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_HK" xlink:label="country_HK" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_HK" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_IncomeTaxContingencyTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_637236753748492919" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain_637236753748492919" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarSolutionsIncMember" xlink:label="csiq_CanadianSolarSolutionsIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarSolutionsIncMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarUSAIncMember" xlink:label="csiq_CanadianSolarUSAIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarUSAIncMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarEnergyAcquisitionCo.Member" xlink:label="csiq_CanadianSolarEnergyAcquisitionCo.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarEnergyAcquisitionCo.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarJapanKKMember" xlink:label="csiq_CanadianSolarJapanKKMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarJapanKKMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarEMEAGmbHMember" xlink:label="csiq_CanadianSolarEMEAGmbHMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarEMEAGmbHMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarManufacturingVietnamCo.LtdMember" xlink:label="csiq_CanadianSolarManufacturingVietnamCo.LtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarManufacturingVietnamCo.LtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarInternationalLtdMember" xlink:label="csiq_CanadianSolarInternationalLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarInternationalLtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" xlink:label="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="us-gaap_IncomeTaxContingencyLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="us-gaap_IncomeTaxContingencyTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncomeTaxesForeignCorporateTaxRate" xlink:label="csiq_IncomeTaxesForeignCorporateTaxRate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="csiq_IncomeTaxesForeignCorporateTaxRate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions" xlink:label="csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption" xlink:label="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:label="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="us-gaap_UnrecognizedTaxBenefits" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="extended" xlink:title="41803 - Disclosure - INCOME TAXES - Deferred tax assets and liabilities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsGrossAbstract" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxAssetsGrossAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsInventory" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DeferredTaxAssetsFutureDeductibleExpenses" xlink:label="csiq_DeferredTaxAssetsFutureDeductibleExpenses" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="csiq_DeferredTaxAssetsFutureDeductibleExpenses" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" xlink:label="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:label="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DeferredTaxAssetsInterestLimitation" xlink:label="csiq_DeferredTaxAssetsInterestLimitation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="csiq_DeferredTaxAssetsInterestLimitation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsOther" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesNetAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:label="us-gaap_DeferredTaxLiabilitiesDerivatives" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesDerivatives" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DeferredTaxLiabilitiesDeferredProfitOfProjects" xlink:label="csiq_DeferredTaxLiabilitiesDeferredProfitOfProjects" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="csiq_DeferredTaxLiabilitiesDeferredProfitOfProjects" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DeferredTaxLiabilitiesInsuranceRecoverable" xlink:label="csiq_DeferredTaxLiabilitiesInsuranceRecoverable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="csiq_DeferredTaxLiabilitiesInsuranceRecoverable" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" xlink:label="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesOther" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLossCarryforwards" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OperatingLossCarryforwardsSubjectToExpiration" xlink:label="csiq_OperatingLossCarryforwardsSubjectToExpiration" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_OperatingLossCarryforwardsSubjectToExpiration" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails" xlink:type="extended" xlink:title="41804 - Disclosure - INCOME TAXES - Reconciliation (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncomeTaxesTable" xlink:label="csiq_IncomeTaxesTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="csiq_IncomeTaxesTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncomeTaxesLineItems" xlink:label="csiq_IncomeTaxesLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="csiq_IncomeTaxesLineItems" xlink:to="csiq_IncomeTaxesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="csiq_IncomeTaxesLineItems" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:label="csiq_IncomeTaxAdditionalDisclosureAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="csiq_IncomeTaxesLineItems" xlink:to="csiq_IncomeTaxAdditionalDisclosureAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" xlink:label="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:to="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:to="us-gaap_UndistributedEarningsOfForeignSubsidiaries" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" xlink:label="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:to="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:to="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_WithholdingTaxRate" xlink:label="csiq_WithholdingTaxRate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:to="csiq_WithholdingTaxRate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PreferentialWithholdingTaxRate" xlink:label="csiq_PreferentialWithholdingTaxRate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:to="csiq_PreferentialWithholdingTaxRate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncomeTaxHolidayAbstract" xlink:label="csiq_IncomeTaxHolidayAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="csiq_IncomeTaxesLineItems" xlink:to="csiq_IncomeTaxHolidayAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxHolidayAggregateDollarAmount" xlink:label="us-gaap_IncomeTaxHolidayAggregateDollarAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="csiq_IncomeTaxHolidayAbstract" xlink:to="us-gaap_IncomeTaxHolidayAggregateDollarAmount" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="csiq_IncomeTaxHolidayAbstract" xlink:to="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="csiq_IncomeTaxHolidayAbstract" xlink:to="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails" xlink:type="extended" xlink:title="41805 - Disclosure - INCOME TAXES - Movement of the valuation allowance (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:label="us-gaap_MovementInValuationAllowancesAndReservesRollForward" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="us-gaap_MovementInValuationAllowancesAndReservesRollForward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" xlink:label="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:to="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ValuationAllowancesAndReservesForeignExchangeEffect" xlink:label="csiq_ValuationAllowancesAndReservesForeignExchangeEffect" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:to="csiq_ValuationAllowancesAndReservesForeignExchangeEffect" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails" xlink:type="extended" xlink:title="41901 - Disclosure - EARNINGS PER SHARE (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_637236753748662940" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_637236753748662940" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_StockOptionsAndRestrictedStockUnitsMember" xlink:label="csiq_StockOptionsAndRestrictedStockUnitsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="csiq_StockOptionsAndRestrictedStockUnitsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:label="us-gaap_EarningsPerShareBasicAndDilutedAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_EarningsPerShareBasicAndDilutedAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" xlink:label="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:to="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:to="us-gaap_NetIncomeLossAttributableToParentDiluted" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" xlink:label="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:to="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:to="us-gaap_EarningsPerShareBasic" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails" xlink:type="extended" xlink:title="42001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain_637236753748672926" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyDomain_637236753748672926" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_RoserockMember" xlink:label="csiq_RoserockMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_RoserockMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PilipinasNewtonEnergyCorpMember" xlink:label="csiq_PilipinasNewtonEnergyCorpMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_PilipinasNewtonEnergyCorpMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EtSolutionsSouthAfricaOnePtyMember" xlink:label="csiq_EtSolutionsSouthAfricaOnePtyMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_EtSolutionsSouthAfricaOnePtyMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarInfrastructureFundIncMember" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SuzhouIsilverMaterialsMember" xlink:label="csiq_SuzhouIsilverMaterialsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_SuzhouIsilverMaterialsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SuzhouKzoneEquipmentTechnologyMember" xlink:label="csiq_SuzhouKzoneEquipmentTechnologyMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_SuzhouKzoneEquipmentTechnologyMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ChiefExecutiveOfficerMember" xlink:label="srt_ChiefExecutiveOfficerMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="srt_ChiefExecutiveOfficerMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SuzhouGaochuangteNewEnergyCoLtdMember" xlink:label="csiq_SuzhouGaochuangteNewEnergyCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_SuzhouGaochuangteNewEnergyCoLtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember" xlink:label="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain_637236753748682937" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain_637236753748682937" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ChineseCommercialBanksMember" xlink:label="csiq_ChineseCommercialBanksMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="csiq_ChineseCommercialBanksMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_IncomeStatementLocationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain_637236753748692925" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain_637236753748692925" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SalesMember" xlink:label="us-gaap_SalesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_SalesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherOperatingIncomeExpenseMember" xlink:label="us-gaap_OtherOperatingIncomeExpenseMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_OtherOperatingIncomeExpenseMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartyTransactionAxis" xlink:label="us-gaap_RelatedPartyTransactionAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="4" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_RelatedPartyTransactionAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="us-gaap_RelatedPartyTransactionDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_RelatedPartyTransactionAxis" xlink:to="us-gaap_RelatedPartyTransactionDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="us-gaap_RelatedPartyTransactionDomain_637236753748702924" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_RelatedPartyTransactionAxis" xlink:to="us-gaap_RelatedPartyTransactionDomain_637236753748702924" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AssetManagementServiceMember" xlink:label="csiq_AssetManagementServiceMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_RelatedPartyTransactionDomain" xlink:to="csiq_AssetManagementServiceMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OMServiceMember" xlink:label="csiq_OMServiceMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RelatedPartyTransactionDomain" xlink:to="csiq_OMServiceMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="5" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_AwardTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_637236753748702924" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_637236753748702924" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="us-gaap_RelatedPartyTransactionLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DueFromRelatedPartiesCurrent" xlink:label="us-gaap_DueFromRelatedPartiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_DueFromRelatedPartiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableRelatedParties" xlink:label="us-gaap_AccountsReceivableRelatedParties" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_AccountsReceivableRelatedParties" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CashReceivableRelatedPartiesCurrent" xlink:label="csiq_CashReceivableRelatedPartiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="csiq_CashReceivableRelatedPartiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableRelatedPartiesCurrent" xlink:label="us-gaap_AccountsReceivableRelatedPartiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_AccountsReceivableRelatedPartiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DueToRelatedPartiesCurrent" xlink:label="us-gaap_DueToRelatedPartiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_DueToRelatedPartiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableRelatedPartiesCurrentAndNoncurrent" xlink:label="us-gaap_AccountsPayableRelatedPartiesCurrentAndNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_AccountsPayableRelatedPartiesCurrentAndNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EquipmentPurchasesPayableRelatedPartiesCurrent" xlink:label="csiq_EquipmentPurchasesPayableRelatedPartiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="csiq_EquipmentPurchasesPayableRelatedPartiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LineOfCreditFacilityMaturityTerm" xlink:label="csiq_LineOfCreditFacilityMaturityTerm" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="csiq_LineOfCreditFacilityMaturityTerm" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_LineOfCredit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold" xlink:label="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PurchaseOfUnitsPercentage" xlink:label="csiq_PurchaseOfUnitsPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="csiq_PurchaseOfUnitsPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromRelatedParties" xlink:label="us-gaap_RevenueFromRelatedParties" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_RevenueFromRelatedParties" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ServiceRevenueFromRelatedParty" xlink:label="csiq_ServiceRevenueFromRelatedParty" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="csiq_ServiceRevenueFromRelatedParty" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" xlink:label="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" xlink:label="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="19" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostsAndExpensesRelatedParty" xlink:label="us-gaap_CostsAndExpensesRelatedParty" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="20" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_CostsAndExpensesRelatedParty" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails" xlink:type="extended" xlink:title="42101 - Disclosure - COMMITMENTS AND CONTINGENCIES - Commitments (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PropertyAndEquipmentPurchaseCommitmentMember" xlink:label="csiq_PropertyAndEquipmentPurchaseCommitmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:to="csiq_PropertyAndEquipmentPurchaseCommitmentMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarPowerSystemCommitmentsMember" xlink:label="csiq_SolarPowerSystemCommitmentsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:to="csiq_SolarPowerSystemCommitmentsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xlink:label="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:to="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseObligationDueInNextTwelveMonths" xlink:label="us-gaap_PurchaseObligationDueInNextTwelveMonths" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:to="us-gaap_PurchaseObligationDueInNextTwelveMonths" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseObligationDueInSecondYear" xlink:label="us-gaap_PurchaseObligationDueInSecondYear" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:to="us-gaap_PurchaseObligationDueInSecondYear" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseObligation" xlink:label="us-gaap_PurchaseObligation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:to="us-gaap_PurchaseObligation" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" xlink:type="extended" xlink:title="42102 - Disclosure - COMMITMENTS AND CONTINGENCIES - Contingencies (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingenciesTable" xlink:label="us-gaap_LossContingenciesTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_LossContingenciesTable" xlink:to="srt_LitigationCaseAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_LitigationCaseAxis" xlink:to="srt_LitigationCaseTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain_637236753748762940" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_LitigationCaseAxis" xlink:to="srt_LitigationCaseTypeDomain_637236753748762940" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ClassActionLawsuitsFiledInNewYorkMember" xlink:label="csiq_ClassActionLawsuitsFiledInNewYorkMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="csiq_ClassActionLawsuitsFiledInNewYorkMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_USCountervailingAndAntiDumpingDutiesMember" xlink:label="csiq_USCountervailingAndAntiDumpingDutiesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="csiq_USCountervailingAndAntiDumpingDutiesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_FirstAdministrativeReviewOfSolarTwoMember" xlink:label="csiq_FirstAdministrativeReviewOfSolarTwoMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="csiq_USCountervailingAndAntiDumpingDutiesMember" xlink:to="csiq_FirstAdministrativeReviewOfSolarTwoMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingenciesLineItems" xlink:label="us-gaap_LossContingenciesLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_LossContingenciesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NumberOfSubpoenasReceived" xlink:label="csiq_NumberOfSubpoenasReceived" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="csiq_NumberOfSubpoenasReceived" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingencyNewClaimsFiledNumber" xlink:label="us-gaap_LossContingencyNewClaimsFiledNumber" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_LossContingencyNewClaimsFiledNumber" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PeriodOfSunsetReviews" xlink:label="csiq_PeriodOfSunsetReviews" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="csiq_PeriodOfSunsetReviews" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LossContingencyProvisionReversed" xlink:label="csiq_LossContingencyProvisionReversed" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="csiq_LossContingencyProvisionReversed" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails" xlink:type="extended" xlink:title="42201 - Disclosure - SEGMENT INFORMATION (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_ConsolidationItemsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_637236753748782943" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain_637236753748782943" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidationItemsDomain" xlink:to="us-gaap_OperatingSegmentsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntersegmentEliminationMember" xlink:label="us-gaap_IntersegmentEliminationMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_ConsolidationItemsDomain" xlink:to="us-gaap_IntersegmentEliminationMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ModuleSegmentMember" xlink:label="csiq_ModuleSegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentDomain" xlink:to="csiq_ModuleSegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EnergySegmentMember" xlink:label="csiq_EnergySegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="csiq_EnergySegmentMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_NumberOfReportableSegments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingInformationProfitLossAbstract" xlink:label="us-gaap_SegmentReportingInformationProfitLossAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_SegmentReportingInformationProfitLossAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract" xlink:to="us-gaap_CostOfGoodsAndServicesSold" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract" xlink:to="us-gaap_GrossProfit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract" xlink:to="us-gaap_OperatingIncomeLoss" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails" xlink:type="extended" xlink:title="42202 - Disclosure - SEGMENT INFORMATION - Different geographic locations (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="srt_StatementGeographicalAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_637236753748792931" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain_637236753748792931" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_EuropeMember" xlink:label="srt_EuropeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_EuropeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_AU" xlink:label="country_AU" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_EuropeMember" xlink:to="country_AU" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_DE" xlink:label="country_DE" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_EuropeMember" xlink:to="country_DE" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_ZA" xlink:label="country_ZA" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_EuropeMember" xlink:to="country_ZA" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_ES" xlink:label="country_ES" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_EuropeMember" xlink:to="country_ES" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_NL" xlink:label="country_NL" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_EuropeMember" xlink:to="country_NL" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_GB" xlink:label="country_GB" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_EuropeMember" xlink:to="country_GB" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CZ" xlink:label="country_CZ" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="srt_EuropeMember" xlink:to="country_CZ" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherCountriesEuropeMember" xlink:label="csiq_OtherCountriesEuropeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="srt_EuropeMember" xlink:to="csiq_OtherCountriesEuropeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AmericaMember" xlink:label="csiq_AmericaMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_SegmentGeographicalDomain" xlink:to="csiq_AmericaMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_US" xlink:label="country_US" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="csiq_AmericaMember" xlink:to="country_US" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_BR" xlink:label="country_BR" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="csiq_AmericaMember" xlink:to="country_BR" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CA" xlink:label="country_CA" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="csiq_AmericaMember" xlink:to="country_CA" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_MX" xlink:label="country_MX" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="csiq_AmericaMember" xlink:to="country_MX" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherCountriesAmericaMember" xlink:label="csiq_OtherCountriesAmericaMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="csiq_AmericaMember" xlink:to="csiq_OtherCountriesAmericaMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_AsiaMember" xlink:label="srt_AsiaMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_AsiaMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_JP" xlink:label="country_JP" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_AsiaMember" xlink:to="country_JP" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CN" xlink:label="country_CN" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_AsiaMember" xlink:to="country_CN" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_KR" xlink:label="country_KR" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_AsiaMember" xlink:to="country_KR" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_IN" xlink:label="country_IN" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_AsiaMember" xlink:to="country_IN" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_AE" xlink:label="country_AE" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_AsiaMember" xlink:to="country_AE" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_VN" xlink:label="country_VN" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_AsiaMember" xlink:to="country_VN" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_TH" xlink:label="country_TH" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="srt_AsiaMember" xlink:to="country_TH" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherCountriesAsiaMember" xlink:label="csiq_OtherCountriesAsiaMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="srt_AsiaMember" xlink:to="csiq_OtherCountriesAsiaMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_NoncurrentAssets" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails" xlink:type="extended" xlink:title="42203 - Disclosure - SEGMENT INFORMATION - Each product or service (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ModuleSegmentMember" xlink:label="csiq_ModuleSegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentDomain" xlink:to="csiq_ModuleSegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EnergySegmentMember" xlink:label="csiq_EnergySegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="csiq_EnergySegmentMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="srt_ProductOrServiceAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductsAndServicesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarModulesAndOtherSolarPowerProductsMember" xlink:label="csiq_SolarModulesAndOtherSolarPowerProductsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_SolarModulesAndOtherSolarPowerProductsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarSystemKitsProductMember" xlink:label="csiq_SolarSystemKitsProductMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_SolarSystemKitsProductMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarPowerProjectsConstructionAndSaleMember" xlink:label="csiq_SolarPowerProjectsConstructionAndSaleMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_SolarPowerProjectsConstructionAndSaleMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EPCServiceProductMember" xlink:label="csiq_EPCServiceProductMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_EPCServiceProductMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ElectricityIncomeMember" xlink:label="csiq_ElectricityIncomeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_ElectricityIncomeMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OAndMServicesProductMember" xlink:label="csiq_OAndMServicesProductMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_OAndMServicesProductMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherProductMaterialsMember" xlink:label="csiq_OtherProductMaterialsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_OtherProductMaterialsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherProductEpcAndDevelopmentServicesMember" xlink:label="csiq_OtherProductEpcAndDevelopmentServicesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_OtherProductEpcAndDevelopmentServicesMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails" xlink:type="extended" xlink:title="42301 - Disclosure - MAJOR CUSTOMERS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_637236753748862939" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_637236753748862939" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_637236753748862939" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain_637236753748862939" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditConcentrationRiskMember" xlink:label="us-gaap_CreditConcentrationRiskMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CreditConcentrationRiskMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="srt_MajorCustomersAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_637236753748872941" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain_637236753748872941" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CompanyAMember" xlink:label="csiq_CompanyAMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="csiq_CompanyAMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CustomerOneMember" xlink:label="csiq_CustomerOneMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="csiq_CustomerOneMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CustomerTwoMember" xlink:label="csiq_CustomerTwoMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="csiq_CustomerTwoMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CustomerThreeMember" xlink:label="csiq_CustomerThreeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="csiq_CustomerThreeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:label="us-gaap_EntityWideRevenueMajorCustomerLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:to="us-gaap_ConcentrationRiskTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:to="us-gaap_Revenues" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NumberOfCustomers" xlink:label="csiq_NumberOfCustomers" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:to="csiq_NumberOfCustomers" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableNet" xlink:label="us-gaap_AccountsReceivableNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:to="us-gaap_AccountsReceivableNet" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails" xlink:type="extended" xlink:title="42401 - Disclosure - EMPLOYEE BENEFIT PLANS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DefinedContributionPlanCostRecognized" xlink:label="us-gaap_DefinedContributionPlanCostRecognized" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_DefinedContributionPlanCostRecognized" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DefinedContributionPlanEmployerContributionAmount" xlink:label="csiq_DefinedContributionPlanEmployerContributionAmount" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_DefinedContributionPlanEmployerContributionAmount" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails" xlink:type="extended" xlink:title="42501 - Disclosure - SHARE-BASED COMPENSATION - Options to Employees (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GranteeStatusAxis" xlink:label="us-gaap_GranteeStatusAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_GranteeStatusAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GranteeStatusDomain" xlink:label="us-gaap_GranteeStatusDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_GranteeStatusAxis" xlink:to="us-gaap_GranteeStatusDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GranteeStatusDomain" xlink:label="us-gaap_GranteeStatusDomain_637236753748902951" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_GranteeStatusAxis" xlink:to="us-gaap_GranteeStatusDomain_637236753748902951" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:label="us-gaap_ShareBasedPaymentArrangementEmployeeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_GranteeStatusDomain" xlink:to="us-gaap_ShareBasedPaymentArrangementEmployeeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardWeightedAverageRemainingContractualTermAbstract" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardWeightedAverageRemainingContractualTermAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardWeightedAverageRemainingContractualTermAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardAggregateIntrinsicValueAbstract" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardAggregateIntrinsicValueAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardAggregateIntrinsicValueAbstract" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails" xlink:type="extended" xlink:title="42502 - Disclosure - SHARE-BASED COMPENSATION - RSUs to Employees (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" xlink:label="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSubsequentEventsDetails" xlink:type="extended" xlink:title="42601 - Disclosure - SUBSEQUENT EVENTS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTable" xlink:label="us-gaap_SubsequentEventTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_SubsequentEventTable" xlink:to="us-gaap_SubsequentEventTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain_637236753748972958" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain_637236753748972958" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareRepurchaseProgramAxis" xlink:label="us-gaap_ShareRepurchaseProgramAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_SubsequentEventTable" xlink:to="us-gaap_ShareRepurchaseProgramAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="us-gaap_ShareRepurchaseProgramDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ShareRepurchaseProgramAxis" xlink:to="us-gaap_ShareRepurchaseProgramDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="us-gaap_ShareRepurchaseProgramDomain_637236753748982950" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_ShareRepurchaseProgramAxis" xlink:to="us-gaap_ShareRepurchaseProgramDomain_637236753748982950" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepurchaseAgreementsMember" xlink:label="us-gaap_RepurchaseAgreementsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareRepurchaseProgramDomain" xlink:to="us-gaap_RepurchaseAgreementsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventLineItems" xlink:label="us-gaap_SubsequentEventLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_SubsequentEventTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails" xlink:type="extended" xlink:title="42702 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidatedEntitiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="srt_ParentCompanyMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidationItemsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidationItemsDomain" xlink:to="srt_ReportableLegalEntitiesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_AssetsAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsCurrentAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalents" xlink:label="us-gaap_RestrictedCashAndCashEquivalents" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_RestrictedCashAndCashEquivalents" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DueFromRelatedPartiesCurrent" xlink:label="us-gaap_DueFromRelatedPartiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_DueFromRelatedPartiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_InvestmentInSubsidiaries" xlink:label="csiq_InvestmentInSubsidiaries" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AssetsAbstract" xlink:to="csiq_InvestmentInSubsidiaries" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_InvestmentInAffiliates" xlink:label="csiq_InvestmentInAffiliates" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AssetsAbstract" xlink:to="csiq_InvestmentInAffiliates" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_OtherAssetsNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_Assets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="us-gaap_ConvertibleNotesPayableCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_ConvertibleNotesPayableCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableTradeCurrent" xlink:label="us-gaap_AccountsPayableTradeCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccountsPayableTradeCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DueToRelatedPartiesCurrent" xlink:label="us-gaap_DueToRelatedPartiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_DueToRelatedPartiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeLiabilitiesCurrent" xlink:label="us-gaap_DerivativeLiabilitiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_DerivativeLiabilitiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OtherLiabilitiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LongTermNotesAndLoans" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_Liabilities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_CommonStockValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_TreasuryStockValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_StockholdersEquity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails" xlink:type="extended" xlink:title="42703 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidationItemsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidationItemsDomain" xlink:to="srt_ReportableLegalEntitiesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidatedEntitiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="srt_ParentCompanyMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_CommonStockSharesIssued" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_CommonStockSharesOutstanding" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" xlink:type="extended" xlink:title="42704 - Disclosure - Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidationItemsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidationItemsDomain" xlink:to="srt_ReportableLegalEntitiesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidatedEntitiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="srt_ParentCompanyMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_CostOfGoodsAndServicesSold" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_GrossProfit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_OperatingExpensesAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SellingExpense" xlink:label="us-gaap_SellingExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_SellingExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_GeneralAndAdministrativeExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_OperatingExpenses" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_OperatingIncomeLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InterestExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_InvestmentIncomeInterest" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainLossOnInvestments" xlink:label="us-gaap_GainLossOnInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_GainLossOnInvestments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpense" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_IncomeTaxExpenseBenefit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EquityIncomeLossFromSubsidiaries" xlink:label="csiq_EquityIncomeLossFromSubsidiaries" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="csiq_EquityIncomeLossFromSubsidiaries" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails" xlink:type="extended" xlink:title="42705 - Disclosure - Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidationItemsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidationItemsDomain" xlink:to="srt_ReportableLegalEntitiesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidatedEntitiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="srt_ParentCompanyMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_ProfitLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" xlink:type="extended" xlink:title="42706 - Disclosure - Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidatedEntitiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="srt_ParentCompanyMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ConsolidationItemsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidationItemsDomain" xlink:to="srt_ReportableLegalEntitiesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ProfitLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DepreciationDepletionAndAmortization" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainOrLossOnSaleOfStockInSubsidiary" xlink:label="us-gaap_GainOrLossOnSaleOfStockInSubsidiary" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainOrLossOnSaleOfStockInSubsidiary" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ImpairmentOfInvestments" xlink:label="us-gaap_ImpairmentOfInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ImpairmentOfInvestments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ProvisionForDoubtfulAccounts" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EquityIncomeLossFromSubsidiaries" xlink:label="csiq_EquityIncomeLossFromSubsidiaries" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="csiq_EquityIncomeLossFromSubsidiaries" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInAdvanceToSuppliers" xlink:label="csiq_IncreaseDecreaseInAdvanceToSuppliers" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="csiq_IncreaseDecreaseInAdvanceToSuppliers" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableTrade" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainLossOnSaleOfDerivatives" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PaymentsToAcquireSubsidiaries" xlink:label="csiq_PaymentsToAcquireSubsidiaries" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="csiq_PaymentsToAcquireSubsidiaries" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PaymentsToAcquireAffiliates" xlink:label="csiq_PaymentsToAcquireAffiliates" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="csiq_PaymentsToAcquireAffiliates" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" xlink:label="us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PaymentsForProceedsFromLoansToSubsidiaries" xlink:label="csiq_PaymentsForProceedsFromLoansToSubsidiaries" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="csiq_PaymentsForProceedsFromLoansToSubsidiaries" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentOfNotesReceivableFromRelatedParties" xlink:label="us-gaap_RepaymentOfNotesReceivableFromRelatedParties" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_RepaymentOfNotesReceivableFromRelatedParties" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentsOfNotesPayable" xlink:label="us-gaap_RepaymentsOfNotesPayable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfNotesPayable" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromRepaymentsOfNotesPayable" xlink:label="us-gaap_ProceedsFromRepaymentsOfNotesPayable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromRepaymentsOfNotesPayable" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentsOfConvertibleDebt" xlink:label="us-gaap_RepaymentsOfConvertibleDebt" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_RepaymentsOfConvertibleDebt" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsForRepurchaseOfConvertiblePreferredStock" xlink:label="us-gaap_PaymentsForRepurchaseOfConvertiblePreferredStock" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsForRepurchaseOfConvertiblePreferredStock" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_InterestPaidNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_IncomeTaxesPaidNet" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails" xlink:type="extended" xlink:title="42801 - Disclosure - Appendix 1 - Major Subsidiaries of CSI (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesTable" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="dei_LegalEntityAxis" xlink:to="dei_EntityDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CSISolartronicsChangshuCoLtdMember" xlink:label="csiq_CSISolartronicsChangshuCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="dei_EntityDomain" xlink:to="csiq_CSISolartronicsChangshuCoLtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CSISolarTechnologiesIncMember" xlink:label="csiq_CSISolarTechnologiesIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="dei_EntityDomain" xlink:to="csiq_CSISolarTechnologiesIncMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiNewEnergyHoldingCo.LtdMember" xlink:label="csiq_CsiNewEnergyHoldingCo.LtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="dei_EntityDomain" xlink:to="csiq_CsiNewEnergyHoldingCo.LtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarManufacturingLuoyangIncMember" xlink:label="csiq_CanadianSolarManufacturingLuoyangIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarManufacturingLuoyangIncMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarManufacturingChangshuInc.Member" xlink:label="csiq_CanadianSolarManufacturingChangshuInc.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarManufacturingChangshuInc.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiCellsCo.Ltd.Member" xlink:label="csiq_CsiCellsCo.Ltd.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="dei_EntityDomain" xlink:to="csiq_CsiCellsCo.Ltd.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarUSAIncMember" xlink:label="csiq_CanadianSolarUSAIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarUSAIncMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarJapanKKMember" xlink:label="csiq_CanadianSolarJapanKKMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarJapanKKMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarSolutionsIncMember" xlink:label="csiq_CanadianSolarSolutionsIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarSolutionsIncMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiSolarPowerChinaInc.Member" xlink:label="csiq_CsiSolarPowerChinaInc.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="dei_EntityDomain" xlink:to="csiq_CsiSolarPowerChinaInc.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarEMEAGmbHMember" xlink:label="csiq_CanadianSolarEMEAGmbHMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarEMEAGmbHMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarAustraliaPtyLtdMember" xlink:label="csiq_CanadianSolarAustraliaPtyLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarAustraliaPtyLtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarInternationalProjectHoldingLimitedMember" xlink:label="csiq_CanadianSolarInternationalProjectHoldingLimitedMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarInternationalProjectHoldingLimitedMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarOAndMOntarioIncMember" xlink:label="csiq_CanadianSolarOAndMOntarioIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarOAndMOntarioIncMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember" xlink:label="csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="dei_EntityDomain" xlink:to="csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarSouthEastAsiaPteLtdMember" xlink:label="csiq_CanadianSolarSouthEastAsiaPteLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarSouthEastAsiaPteLtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarSouthAfricaPtyLtdMember" xlink:label="csiq_CanadianSolarSouthAfricaPtyLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarSouthAfricaPtyLtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember" xlink:label="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarConstructionUsaLLCMember" xlink:label="csiq_CanadianSolarConstructionUsaLLCMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="19" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarConstructionUsaLLCMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarProjectKKMember" xlink:label="csiq_CanadianSolarProjectKKMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="20" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarProjectKKMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiGclSolarManufacturingYanchengCo.Ltd.Member" xlink:label="csiq_CsiGclSolarManufacturingYanchengCo.Ltd.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="21" xlink:from="dei_EntityDomain" xlink:to="csiq_CsiGclSolarManufacturingYanchengCo.Ltd.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarUkLtdMember" xlink:label="csiq_CanadianSolarUkLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="22" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarUkLtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarUkProjectsLtdMember" xlink:label="csiq_CanadianSolarUkProjectsLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="23" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarUkProjectsLtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember" xlink:label="csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="24" xlink:from="dei_EntityDomain" xlink:to="csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ChangshuTlianCo.Ltd.Member" xlink:label="csiq_ChangshuTlianCo.Ltd.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="25" xlink:from="dei_EntityDomain" xlink:to="csiq_ChangshuTlianCo.Ltd.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_RecurrentEnergyGroupInc.Member" xlink:label="csiq_RecurrentEnergyGroupInc.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="26" xlink:from="dei_EntityDomain" xlink:to="csiq_RecurrentEnergyGroupInc.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_RecurrentEnergyLlcMember" xlink:label="csiq_RecurrentEnergyLlcMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="27" xlink:from="dei_EntityDomain" xlink:to="csiq_RecurrentEnergyLlcMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PtCanadianSolarIndonesiaMember" xlink:label="csiq_PtCanadianSolarIndonesiaMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="28" xlink:from="dei_EntityDomain" xlink:to="csiq_PtCanadianSolarIndonesiaMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarManufacturingVietnamCo.LtdMember" xlink:label="csiq_CanadianSolarManufacturingVietnamCo.LtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="29" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarManufacturingVietnamCo.LtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarEnergyPrivateLimitedMember" xlink:label="csiq_CanadianSolarEnergyPrivateLimitedMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="30" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarEnergyPrivateLimitedMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarAustralia1PtyLtdMember" xlink:label="csiq_CanadianSolarAustralia1PtyLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="31" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarAustralia1PtyLtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarEnergyHoldingCompanyLimitedMember" xlink:label="csiq_CanadianSolarEnergyHoldingCompanyLimitedMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="32" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarEnergyHoldingCompanyLimitedMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" xlink:label="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="33" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarSunenergySuzhouCo.Ltd.Member" xlink:label="csiq_CanadianSolarSunenergySuzhouCo.Ltd.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="34" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarSunenergySuzhouCo.Ltd.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member" xlink:label="csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="35" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member" xlink:label="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="36" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember" xlink:label="csiq_SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="37" xlink:from="dei_EntityDomain" xlink:to="csiq_SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiCellsYanchangCoLtdMember" xlink:label="csiq_CsiCellsYanchangCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="38" xlink:from="dei_EntityDomain" xlink:to="csiq_CsiCellsYanchangCoLtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiModulesDafengCoLtdMember" xlink:label="csiq_CsiModulesDafengCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="39" xlink:from="dei_EntityDomain" xlink:to="csiq_CsiModulesDafengCoLtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarMiddleEastDmccMember" xlink:label="csiq_CanadianSolarMiddleEastDmccMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="40" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarMiddleEastDmccMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiInvestmentManagementSuzhouCoLtdMember" xlink:label="csiq_CsiInvestmentManagementSuzhouCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="41" xlink:from="dei_EntityDomain" xlink:to="csiq_CsiInvestmentManagementSuzhouCoLtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarConstructionAustraliaPtyLtdMember" xlink:label="csiq_CanadianSolarConstructionAustraliaPtyLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="42" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarConstructionAustraliaPtyLtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsukEnergySystemsConstructionAndGenerationJscMember" xlink:label="csiq_CsukEnergySystemsConstructionAndGenerationJscMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="43" xlink:from="dei_EntityDomain" xlink:to="csiq_CsukEnergySystemsConstructionAndGenerationJscMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiModulesJiaxingCoLtdMember" xlink:label="csiq_CsiModulesJiaxingCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="44" xlink:from="dei_EntityDomain" xlink:to="csiq_CsiModulesJiaxingCoLtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiWaferLuoyangCoLtdMember" xlink:label="csiq_CsiWaferLuoyangCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="45" xlink:from="dei_EntityDomain" xlink:to="csiq_CsiWaferLuoyangCoLtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarManufacturingTaiwanCoLtdMember" xlink:label="csiq_CanadianSolarManufacturingTaiwanCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="46" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarManufacturingTaiwanCoLtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarArgentinaInvestmentHoldingLtdMember" xlink:label="csiq_CanadianSolarArgentinaInvestmentHoldingLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="47" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarArgentinaInvestmentHoldingLtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember" xlink:label="csiq_ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="48" xlink:from="dei_EntityDomain" xlink:to="csiq_ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember" xlink:label="csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="49" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member" xlink:label="csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="50" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarSsesCanadaInc.Member" xlink:label="csiq_CanadianSolarSsesCanadaInc.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="51" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarSsesCanadaInc.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarSsesUkLtdMember" xlink:label="csiq_CanadianSolarSsesUkLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="52" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarSsesUkLtdMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesTable" xlink:to="srt_CounterpartyNameAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain" use="optional" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_CsiCellsCo.Ltd.Member" use="optional" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_CanadianSolarManufacturingChangshuInc.Member" priority="1" use="optional" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_CsiSolarPowerChinaInc.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems" xlink:to="us-gaap_InvestmentsInAndAdvancesToAffiliatesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" xlink:label="us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems" xlink:to="us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EquityInterestHeldAsGeneralPartner" xlink:label="csiq_EquityInterestHeldAsGeneralPartner" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems" xlink:to="csiq_EquityInterestHeldAsGeneralPartner" priority="1" use="optional" />
  </definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>12
<FILENAME>csiq-20191231_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  9.6.7401.38943 -->
<!--Based on XBRL 2.1-->
<!--Created on: 4/28/2020 12:56:24 PM-->
<!--Modified on: 4/28/2020 12:56:24 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <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" xmlns="http://www.xbrl.org/2003/linkbase" />
  <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" xmlns="http://www.xbrl.org/2003/linkbase" />
  <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" xmlns="http://www.xbrl.org/2003/linkbase" />
  <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" xmlns="http://www.xbrl.org/2003/linkbase" />
  <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CoverAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cover [Abstract]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationTable" xlink:to="dei_DocumentInformationTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentInformationTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Information [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentInformationLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Information [Line Items]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCentralIndexKey_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Central Index Key</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentType" xlink:label="dei_DocumentType" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentType_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Type</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentRegistrationStatement" xlink:label="dei_DocumentRegistrationStatement" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentRegistrationStatement" xlink:to="dei_DocumentRegistrationStatement_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentRegistrationStatement_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Registration Statement</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAnnualReport_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Annual Report</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodEndDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Period End Date</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFileNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity File Number</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityRegistrantName_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Registrant Name</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Incorporation, State or Country Code</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Address, Address Line One</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Address, Address Line One</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Address, City or Town</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Address, City or Town</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCountry" xlink:to="dei_EntityAddressCountry_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCountry_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Address, Country</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="dei_EntityAddressCountry_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Address, Country</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressPostalZipCode_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Address, Postal Zip Code</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_ContactPersonnelName" xlink:label="dei_ContactPersonnelName" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_ContactPersonnelName" xlink:to="dei_ContactPersonnelName_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_ContactPersonnelName_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contact Personnel Name</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CityAreaCode_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">City Area Code</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LocalPhoneNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Local Phone Number</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12bTitle_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Title of 12(b) Security</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityExchangeName_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Security Exchange Name</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentFlag_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amendment Flag</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current Fiscal Year End Date</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityWellKnownSeasonedIssuer_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Well-known Seasoned Issuer</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityVoluntaryFilers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Voluntary Filers</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCurrentReportingStatus_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Current Reporting Status</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Interactive Data Current</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFilerCategory_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Filer Category</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Emerging Growth Company</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentAccountingStandard" xlink:label="dei_DocumentAccountingStandard" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAccountingStandard" xlink:to="dei_DocumentAccountingStandard_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAccountingStandard_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Accounting Standard</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityShellCompany_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Shell Company</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_NoTradingSymbolFlag" xlink:label="dei_NoTradingSymbolFlag" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_NoTradingSymbolFlag" xlink:to="dei_NoTradingSymbolFlag_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_NoTradingSymbolFlag_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">No Trading Symbol Flag</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Common Stock, Shares Outstanding</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalYearFocus_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Fiscal Year Focus</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Fiscal Period Focus</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentTransitionReport_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Transition Report</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentShellCompanyReport" xlink:label="dei_DocumentShellCompanyReport" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyReport" xlink:to="dei_DocumentShellCompanyReport_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyReport_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Shell Company Report</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONSOLIDATED BALANCE SHEETS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Statement [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Statement [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Statement</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RESTRICTED NET ASSETS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ASSETS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets, Current [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current assets:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and cash equivalents</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and cash equivalents</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and cash equivalents</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted Cash and Cash Equivalents, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted cash</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted cash - current</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable trade</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/positiveLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable trade, net of allowance for doubtful accounts of $3,462 and $3,379 as of December 31, 2018 and 2019, respectively</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable trade, net of allowance of $32,733 and $29,545 as of December 31, 2018 and 2019, respectively</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="us-gaap_UnbilledReceivablesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnbilledReceivablesCurrent" xlink:to="us-gaap_UnbilledReceivablesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnbilledReceivablesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unbilled Receivables, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UnbilledReceivablesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable, unbilled</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_UnbilledReceivablesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivables, unbilled</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DueFromRelatedPartiesCurrent" xlink:label="us-gaap_DueFromRelatedPartiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DueFromRelatedPartiesCurrent" xlink:to="us-gaap_DueFromRelatedPartiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DueFromRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Due from Related Parties, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/positiveLabel" xlink:label="us-gaap_DueFromRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amounts due from subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DueFromRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amounts due from related parties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DueFromRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount due from related party</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventories</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventories</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValueAddedTaxReceivableCurrent" xlink:label="us-gaap_ValueAddedTaxReceivableCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValueAddedTaxReceivableCurrent" xlink:to="us-gaap_ValueAddedTaxReceivableCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ValueAddedTaxReceivableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Value added tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ValueAddedTaxReceivableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Value added tax recoverable</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdvancesOnInventoryPurchases" xlink:label="us-gaap_AdvancesOnInventoryPurchases" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdvancesOnInventoryPurchases" xlink:to="us-gaap_AdvancesOnInventoryPurchases_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdvancesOnInventoryPurchases_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances to suppliers</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AdvancesOnInventoryPurchases_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances to suppliers-current, net of allowance of $5,702 and $7,222 as of December 31, 2018 and 2019, respectively</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeAssetsCurrent" xlink:label="us-gaap_DerivativeAssetsCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeAssetsCurrent" xlink:to="us-gaap_DerivativeAssetsCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeAssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Asset, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeAssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative assets</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsPlantsAndLandCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProjectAssetsPlantsAndLandCurrentPortion" xlink:to="csiq_ProjectAssetsPlantsAndLandCurrentPortion_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying amount as of the balance sheet date of investments in solar power projects that are expected to be realized before one year or within the operating cycle, if longer.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project assets, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current portion</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid expenses and other current assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid expenses and other current assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid expenses and other current assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total current assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total current assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted Cash and Cash Equivalents, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted cash</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted cash - non-current</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment, Net.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, plant and equipment, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, plant and equipment, net</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarPowerSystems" xlink:label="csiq_SolarPowerSystems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarPowerSystems" xlink:to="csiq_SolarPowerSystems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount after accumulated depreciation of ground-mounted projects and roof top systems intend to be held for use.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar Power Systems</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar power systems, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="csiq_SolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar power systems, net</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Income Tax Assets, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax assets, net</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AdvancesOnInventoryPurchasesNonCurrent" xlink:label="csiq_AdvancesOnInventoryPurchasesNonCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AdvancesOnInventoryPurchasesNonCurrent" xlink:to="csiq_AdvancesOnInventoryPurchasesNonCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AdvancesOnInventoryPurchasesNonCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying value of capitalized payments made in advance for inventory that is expected to be received after one year or beyond the normal operating cycle, if longer.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AdvancesOnInventoryPurchasesNonCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances on Inventory Purchases, Non Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="csiq_AdvancesOnInventoryPurchasesNonCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances to suppliers, net of allowance of $15,224 and $13,059 as of December 31, 2018 and 2019, respectively</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PrepaidExpenseNoncurrent" xlink:label="us-gaap_PrepaidExpenseNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseNoncurrent" xlink:to="us-gaap_PrepaidExpenseNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid land use rights</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PrepaidExpenseNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid land use rights</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestments" xlink:to="us-gaap_EquityMethodInvestments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Method Investments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investments in affiliates</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Intangible assets, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total intangible assets, net</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeAssetsNoncurrent" xlink:label="us-gaap_DerivativeAssetsNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeAssetsNoncurrent" xlink:to="us-gaap_DerivativeAssetsNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeAssetsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Asset, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeAssetsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative assets</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsPlantsAndLandNonCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion" xlink:to="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying amount as of the balance sheet date of investments in solar power projects, which is not expected to be realized within one year or the operating cycle, if longer.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project assets, Non Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non-current portion</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Right-of-Use Asset</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Right-of-use assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other non-current assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other non-current assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other non-current assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">TOTAL ASSETS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liabilities and Equity [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">LIABILITIES, REDEEMABLE NON-CONTROLLING INTERESTS AND EQUITY</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">LIABILITIES AND EQUITY</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liabilities, Current [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current liabilities:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermBorrowings" xlink:to="us-gaap_ShortTermBorrowings_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermBorrowings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShortTermBorrowings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term borrowings, including long-term borrowings - current portion</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ShortTermBorrowings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term Debt, Total</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShortTermBorrowings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LongTermBorrowingsOnProjectAssetsCurrent" xlink:label="csiq_LongTermBorrowingsOnProjectAssetsCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LongTermBorrowingsOnProjectAssetsCurrent" xlink:to="csiq_LongTermBorrowingsOnProjectAssetsCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LongTermBorrowingsOnProjectAssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount represents long-borrowings associated with certain solar power projects that are expected to be sold within one year.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LongTermBorrowingsOnProjectAssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term borrowings on project assets - current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LongTermBorrowingsOnProjectAssetsCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term borrowings on project assets - current</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableTradeCurrent" xlink:label="us-gaap_AccountsPayableTradeCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableTradeCurrent" xlink:to="us-gaap_AccountsPayableTradeCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableTradeCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts Payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsPayableTradeCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsPayableTradeCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts payable</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ShortTermNotesPayable" xlink:label="csiq_ShortTermNotesPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ShortTermNotesPayable" xlink:to="csiq_ShortTermNotesPayable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ShortTermNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of borrowings classified s short term notes payable.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ShortTermNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short term notes payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ShortTermNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term notes payable</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DueToRelatedPartiesCurrent" xlink:label="us-gaap_DueToRelatedPartiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DueToRelatedPartiesCurrent" xlink:to="us-gaap_DueToRelatedPartiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DueToRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Due to Related Parties, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DueToRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amounts due to related parties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DueToRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amounts due to related parties</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableOtherCurrent" xlink:label="us-gaap_AccountsPayableOtherCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableOtherCurrent" xlink:to="us-gaap_AccountsPayableOtherCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableOtherCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other payables</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsPayableOtherCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other payables</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="us-gaap_ConvertibleNotesPayableCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertibleNotesPayableCurrent" xlink:to="us-gaap_ConvertibleNotesPayableCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConvertibleNotesPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Convertible Notes Payable, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConvertibleNotesPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Convertible notes</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ConvertibleNotesPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying value of convertible notes</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer Advances, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances from customers</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeLiabilitiesCurrent" xlink:label="us-gaap_DerivativeLiabilitiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeLiabilitiesCurrent" xlink:to="us-gaap_DerivativeLiabilitiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Liability, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Liability, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating lease liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating lease liabilities, current</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_FinancingLiabilitiesCurrent" xlink:label="csiq_FinancingLiabilitiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_FinancingLiabilitiesCurrent" xlink:to="csiq_FinancingLiabilitiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_FinancingLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of financing liabilities due within one year or the normal operating cycle, if longer.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_FinancingLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Financing Liabilities, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_FinancingLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tax equity liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesCurrent" xlink:to="us-gaap_OtherLiabilitiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other current liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other current liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherLiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other current liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total current liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total current liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductWarrantyAccrualNoncurrent" xlink:label="us-gaap_ProductWarrantyAccrualNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrualNoncurrent" xlink:to="us-gaap_ProductWarrantyAccrualNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyAccrualNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Product Warranty Accrual, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ProductWarrantyAccrualNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ending balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ProductWarrantyAccrualNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Beginning balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProductWarrantyAccrualNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued warranty costs</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermNotesAndLoans" xlink:to="us-gaap_LongTermNotesAndLoans_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermNotesAndLoans_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Notes and Loans, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/positiveLabel" xlink:label="us-gaap_LongTermNotesAndLoans_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total long-term portion</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermNotesAndLoans_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term borrowings</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LongTermNotesAndLoans_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying value of long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DueToRelatedPartiesNoncurrent" xlink:label="us-gaap_DueToRelatedPartiesNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DueToRelatedPartiesNoncurrent" xlink:to="us-gaap_DueToRelatedPartiesNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DueToRelatedPartiesNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amounts due to related parties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DueToRelatedPartiesNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amounts due to related parties</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeLiabilitiesNoncurrent" xlink:label="us-gaap_DerivativeLiabilitiesNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeLiabilitiesNoncurrent" xlink:to="us-gaap_DerivativeLiabilitiesNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeLiabilitiesNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Liability, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeLiabilitiesNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:to="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liability for Uncertain Tax Positions, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liability for uncertain tax positions</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Income Tax Liabilities, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingencyAccrualAtCarryingValue" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyAccrualAtCarryingValue" xlink:to="us-gaap_LossContingencyAccrualAtCarryingValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss Contingency Accrual</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss contingency accruals</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Liability, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating lease liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating lease liabilities, noncurrent</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_FinancingLiabilitiesNonCurrent" xlink:label="csiq_FinancingLiabilitiesNonCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_FinancingLiabilitiesNonCurrent" xlink:to="csiq_FinancingLiabilitiesNonCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_FinancingLiabilitiesNonCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of financing liabilities due after one year or beyond the normal operating cycle, if longer.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_FinancingLiabilitiesNonCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Financing Liabilities Non Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_FinancingLiabilitiesNonCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Financing liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilitiesNoncurrent" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other non-current liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other non-current liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Liabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Liabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">TOTAL LIABILITIES</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commitments and Contingencies.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commitments and contingencies (Note 21)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock, Value, Issued</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common shares - no par value: unlimited authorized shares, 59,180,624 and 59,371,684 shares issued and outstanding at December 31, 2018 and 2019, respectively</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common shares - no par value: unlimited authorized shares, 59,180,624 and 59,371,684 shares issued and outstanding at December 31, 2018 and 2019, respectively</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonValue" xlink:to="us-gaap_TreasuryStockCommonValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock, Common, Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_TreasuryStockCommonValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury stock, at cost, nil and 609,516 common shares as of December 31, 2018 and 2019, respectively</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional Paid in Capital, Common Stock</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional paid-in capital</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retained Earnings (Accumulated Deficit).</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retained earnings</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated Other Comprehensive Income (Loss), Net of Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated other comprehensive loss</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stockholders' Equity Attributable to Parent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total Canadian Solar Inc. shareholders' equity</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterest" xlink:to="us-gaap_MinorityInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stockholders' Equity Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MinorityInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non-controlling interests in subsidiaries</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">TOTAL EQUITY</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liabilities and Equity</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">TOTAL LIABILITIES AND EQUITY</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for Doubtful Accounts Receivable, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Closing balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Beginning of the year</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable trade, allowance</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent" xlink:label="csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent" xlink:to="csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">A valuation allowance for advances made to suppliers expected to be utilized within twelve months (or the normal operating cycle, whichever is longer) that are expected to be uncollectible.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for Doubtful Advances to Suppliers Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances to suppliers - current, allowance</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent" xlink:label="csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent" xlink:to="csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">A valuation allowance for advances made to suppliers expected to be utilized after twelve months (or the normal operating cycle, whichever is longer) that are expected to be uncollectible.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for Doubtful Advances to Suppliers Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances to suppliers - non-current, allowance</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock, Par or Stated Value Per Share</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common share, par value (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock, Shares, Issued</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common shares, shares issued (in shares)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock, Shares, Outstanding</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common shares, shares outstanding (in shares)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockShares" xlink:label="us-gaap_TreasuryStockShares" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockShares" xlink:to="us-gaap_TreasuryStockShares_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock, Shares</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury stock, shares issued (in shares)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONSOLIDATED STATEMENTS OF OPERATIONS</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SalesRevenueAbstract" xlink:label="csiq_SalesRevenueAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SalesRevenueAbstract" xlink:to="csiq_SalesRevenueAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SalesRevenueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">n/a</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SalesRevenueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net revenues:</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_RevenueFromNonrelatedParties" xlink:label="csiq_RevenueFromNonrelatedParties" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_RevenueFromNonrelatedParties" xlink:to="csiq_RevenueFromNonrelatedParties_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_RevenueFromNonrelatedParties_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total revenue from sale of goods and services rendered excluding revenues arising from transactions between (a) a parent company and its subsidiaries; (b) subsidiaries of a common parent; (c) an entity and trusts for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's' management; (d) an entity and its principal, owners, management, or members of their immediate families; and (e) affiliates, during the reporting period, in the normal course of business, reduced by sales returns and allowances, and sales discounts.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_RevenueFromNonrelatedParties_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue from Nonrelated Parties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_RevenueFromNonrelatedParties_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">-Non-related parties</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromRelatedParties" xlink:label="us-gaap_RevenueFromRelatedParties" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromRelatedParties" xlink:to="us-gaap_RevenueFromRelatedParties_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromRelatedParties_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue from Related Parties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromRelatedParties_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">-Related parties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RevenueFromRelatedParties_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue from sale of solar products</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue from Grants</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net revenues</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total net revenues</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net revenues</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostOfGoodsAndServicesSoldAbstract" xlink:label="us-gaap_CostOfGoodsAndServicesSoldAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSoldAbstract" xlink:to="us-gaap_CostOfGoodsAndServicesSoldAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfGoodsAndServicesSoldAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cost of Goods and Services Sold [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CostOfGoodsAndServicesSoldAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cost of revenues:</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CostOfGoodsAndServicesSoldNonrelatedParties" xlink:label="csiq_CostOfGoodsAndServicesSoldNonrelatedParties" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CostOfGoodsAndServicesSoldNonrelatedParties" xlink:to="csiq_CostOfGoodsAndServicesSoldNonrelatedParties_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CostOfGoodsAndServicesSoldNonrelatedParties_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The aggregate costs related to goods produced and sold to non-related parties by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CostOfGoodsAndServicesSoldNonrelatedParties_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cost of Goods and Services Sold, Nonrelated Parties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CostOfGoodsAndServicesSoldNonrelatedParties_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">-Non-related parties</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartiesAmountInCostOfSales" xlink:label="us-gaap_RelatedPartiesAmountInCostOfSales" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartiesAmountInCostOfSales" xlink:to="us-gaap_RelatedPartiesAmountInCostOfSales_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartiesAmountInCostOfSales_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Related Parties Amount in Cost of Sales</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RelatedPartiesAmountInCostOfSales_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">-Related parties</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cost of Goods and Services Sold</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cost of revenues</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total cost of revenues</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gross Profit</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gross profit</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gross profit</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpensesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpensesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Expenses [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingExpensesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating expenses:</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingExpensesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating expenses</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SellingExpense" xlink:label="us-gaap_SellingExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingExpense" xlink:to="us-gaap_SellingExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Selling Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SellingExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Selling expenses</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpense" xlink:to="us-gaap_GeneralAndAdministrativeExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GeneralAndAdministrativeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">General and Administrative Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GeneralAndAdministrativeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">General and administrative expenses</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Research and Development Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Research and development expenses</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherOperatingIncomeExpenseNet" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Operating Income (Expense), Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other operating loss, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other operating income, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other operating income, net</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Expenses</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total operating expenses, net</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Income (Loss)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income from operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income from operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income (loss) from operations</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Nonoperating Income (Expense) [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other income (expenses):</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpense" xlink:to="us-gaap_InterestExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_InterestExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest expense</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentIncomeInterest" xlink:to="us-gaap_InvestmentIncomeInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentIncomeInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investment Income, Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InvestmentIncomeInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest income</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (Loss) on Derivative Instruments, Net, Pretax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss on change in fair value of derivatives, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss on change in fair value of derivatives</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/positiveLabel" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss on change in fair value of derivatives, net</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign Currency Transaction Gain (Loss), before Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign exchange gain (loss)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainLossOnInvestments" xlink:label="us-gaap_GainLossOnInvestments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnInvestments" xlink:to="us-gaap_GainLossOnInvestments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (Loss) on Investments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GainLossOnInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investment income (loss)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_GainLossOnInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investment loss</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Nonoperating Income (Expense)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other expenses, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other income (expenses), net:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Extraordinary Items, Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income (loss) before income taxes and equity in earnings (loss) of subsidiaries and unconsolidated investees</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income before income taxes and equity in earnings of unconsolidated investees</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Expense (Benefit)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income tax expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income tax (expense) benefit</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total income tax expense</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromEquityMethodInvestments" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income (Loss) from Equity Method Investments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity in loss of unconsolidated investees</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity in earnings (loss) of unconsolidated investees</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity in loss of unconsolidated investees</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Income (Loss), Including Portion Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net income</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net income</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Income (loss)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Income (Loss) Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Less: net income (loss) attributable to non-controlling interests</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Income (Loss) Available to Common Stockholders, Basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net income attributable to Canadian Solar Inc. - basic (in dollars)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net income attributable to Canadian Solar Inc.</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings Per Share, Basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings per share - basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Basic earnings per share (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted Average Number of Shares Outstanding, Basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shares used in computation - basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Denominator for basic calculation - weighted average number of common shares - basic</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings Per Share, Diluted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings per share - diluted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Diluted earnings per share (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted Average Number of Shares Outstanding, Diluted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shares used in computation - diluted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Denominator for diluted calculation - weighted average number of common shares - diluted</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Comprehensive Income, Net of Tax, Portion Attributable to Parent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other comprehensive income (loss) (net of tax of nil):</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Gain (Loss) Arising During Period, Net of Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign currency translation adjustment</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax" xlink:label="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax" xlink:to="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount after tax and reclassification adjustments, of increase (decrease) in accumulated gain (loss) from derivative instruments - commodity hedge, designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (loss).</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Comprehensive Income Loss Derivatives Qualifying as Hedges, Commodity Hedge Net of Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (loss) on commodity hedge</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" xlink:label="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" xlink:to="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount after tax and reclassification adjustments, of increase (decrease) in accumulated gain (loss) from derivative instruments - interest rate swap, designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (loss).</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Comprehensive Income Loss Derivatives Qualifying as Hedges, Interest Rate Swap Net of Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (loss) on interest rate swap</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" xlink:label="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" xlink:to="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount represents De-recognition of commodity hedge and interest rate swap</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Comprehensive Income Loss De-Recognition of Commodity Hedge and Interest Rate Swap</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">De-recognition of commodity hedge and interest rate swap</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">De-recognition of derivatives</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive income</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive (Income) Loss, Net of Tax, Attributable to Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Less: comprehensive income (loss) attributable to non-controlling interests</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive income attributable to Canadian Solar Inc.</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Components [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityComponentDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Component [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquityComponentDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Component [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Stock [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Common Shares</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional Paid In Capital [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional Paid-in Capital</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retained Earnings [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RetainedEarningsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retained Earnings</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated Other Comprehensive Income [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated Other Comprehensive Income (loss)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ParentMember" xlink:label="us-gaap_ParentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ParentMember" xlink:to="us-gaap_ParentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ParentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Parent [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ParentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings Attributable to Canadian Solar Inc.</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestMember" xlink:to="us-gaap_NoncontrollingInterestMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncontrolling Interest [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NoncontrollingInterestMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non-Controlling Interest</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Stockholders' Equity [Roll Forward]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Stockholders' Equity</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CumulativeEffectOnRetainedEarningsTax1" xlink:label="us-gaap_CumulativeEffectOnRetainedEarningsTax1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CumulativeEffectOnRetainedEarningsTax1" xlink:to="us-gaap_CumulativeEffectOnRetainedEarningsTax1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CumulativeEffectOnRetainedEarningsTax1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cumulative Effect on Retained Earnings, Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_CumulativeEffectOnRetainedEarningsTax1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cumulative-effect adjustment for the adoption of ASU 2014-09</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination" xlink:to="us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncontrolling Interest, Increase from Business Combination</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Acquisition of subsidiaries</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MinorityInterestDecreaseFromRedemptions" xlink:label="us-gaap_MinorityInterestDecreaseFromRedemptions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestDecreaseFromRedemptions" xlink:to="us-gaap_MinorityInterestDecreaseFromRedemptions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestDecreaseFromRedemptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncontrolling Interest, Decrease from Redemptions or Purchase of Interests</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_MinorityInterestDecreaseFromRedemptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Acquisition non-controlling interest's ownership</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:to="us-gaap_TreasuryStockValueAcquiredCostMethod_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock, Value, Acquired, Cost Method</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repurchase of treasury shares</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockSharesAcquired" xlink:label="us-gaap_TreasuryStockSharesAcquired" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockSharesAcquired" xlink:to="us-gaap_TreasuryStockSharesAcquired_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockSharesAcquired_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock, Shares, Acquired</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockSharesAcquired_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repurchase of treasury stock (shares)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based compensation</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Issued During Period, Value, Stock Options Exercised</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Exercise of share options</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Exercised (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Exercise of share options (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Option exercised</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xlink:to="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncontrolling Interest, Increase from Subsidiary Equity Issuance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Transfer of equity interest in subsidiaries to non-controlling shareholders</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" xlink:to="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncontrolling Interest, Increase from Sale of Parent Equity Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds non-controlling interests</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, Net of Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair value change on derivatives</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodShares" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Repurchased During Period, Shares</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of shares repurchased</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodValue" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Repurchased During Period, Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total cost of share repurchases</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total cost of share repurchases</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONSOLIDATED STATEMENTS OF CASH FLOWS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating activities:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Adjustments, Noncash Items, to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Adjustments to reconcile net income to net cash provided by operating activities:</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Adjustments to reconcile net income to net cash provided by (used in) operating activities:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortization" xlink:to="us-gaap_DepreciationDepletionAndAmortization_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation, Depletion and Amortization</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation and amortization</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (Loss) on Disposition of Property Plant Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss on disposal of property, plant and equipment</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" xlink:to="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of gain (loss) on sale or disposal of solar power systems and other investments.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (Loss) on disposal of solar power systems and other investments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain on disposal of solar power systems</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:to="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Method Investment, Realized Gain (Loss) on Disposal</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain on disposal of investment in affiliates</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain on disposal of investment in affiliates</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetImpairmentCharges" xlink:to="us-gaap_AssetImpairmentCharges_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetImpairmentCharges_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Asset Impairment Charges</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetImpairmentCharges_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Impairment charges for property, plant and equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AssetImpairmentCharges_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Impairment loss of property, plant and equipment</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsImpairmentCharge" xlink:label="csiq_ProjectAssetsImpairmentCharge" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProjectAssetsImpairmentCharge" xlink:to="csiq_ProjectAssetsImpairmentCharge_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProjectAssetsImpairmentCharge_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the impairment charges and write-off for investments in solar power projects.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProjectAssetsImpairmentCharge_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project Assets Impairment Charge</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProjectAssetsImpairmentCharge_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Impairment loss of project assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ImpairmentOfInvestments" xlink:label="us-gaap_ImpairmentOfInvestments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOfInvestments" xlink:to="us-gaap_ImpairmentOfInvestments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentOfInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other than Temporary Impairment Losses, Investments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ImpairmentOfInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Impairment of long-lived assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForDoubtfulAccounts" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Provision for Doubtful Accounts</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for doubtful accounts</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for doubtful accounts</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NonCashOperatingLeaseExpenses" xlink:label="csiq_NonCashOperatingLeaseExpenses" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NonCashOperatingLeaseExpenses" xlink:to="csiq_NonCashOperatingLeaseExpenses_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NonCashOperatingLeaseExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount of non-cash operating lease expenses.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NonCashOperatingLeaseExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non-cash Operating lease expenses</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NonCashOperatingLeaseExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non-cash operating lease expenses</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryWriteDown" xlink:label="us-gaap_InventoryWriteDown" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWriteDown" xlink:to="us-gaap_InventoryWriteDown_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryWriteDown_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory Write-down</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryWriteDown_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Write-down of inventories</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_InventoryWriteDown_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory written down</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based compensation</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_UnrealizedGainLossFromSalesToInvestees" xlink:label="csiq_UnrealizedGainLossFromSalesToInvestees" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_UnrealizedGainLossFromSalesToInvestees" xlink:to="csiq_UnrealizedGainLossFromSalesToInvestees_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_UnrealizedGainLossFromSalesToInvestees_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents amount of unrealized gain, (loss) from sales to investees.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_UnrealizedGainLossFromSalesToInvestees_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrealized Gain, (Loss) from Sales to Investees</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_UnrealizedGainLossFromSalesToInvestees_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrealized gain (loss) from sales to affiliates</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Operating Capital [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Changes in operating assets and liabilities:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Accounts Receivable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable trade</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Contract with Customer, Asset</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable, unbilled</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xlink:to="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Due from Related Parties, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amounts due from related parties</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Inventories</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventories</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInValueAddedTaxReceivable" xlink:label="csiq_IncreaseDecreaseInValueAddedTaxReceivable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncreaseDecreaseInValueAddedTaxReceivable" xlink:to="csiq_IncreaseDecreaseInValueAddedTaxReceivable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncreaseDecreaseInValueAddedTaxReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from value added taxes due either from customers arising from sales on credit terms, or as previously overpaid to tax authorities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncreaseDecreaseInValueAddedTaxReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Value Added Tax Receivable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_IncreaseDecreaseInValueAddedTaxReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Value added tax recoverable</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInAdvanceToSuppliers" xlink:label="csiq_IncreaseDecreaseInAdvanceToSuppliers" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncreaseDecreaseInAdvanceToSuppliers" xlink:to="csiq_IncreaseDecreaseInAdvanceToSuppliers_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncreaseDecreaseInAdvanceToSuppliers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The increase (decrease) during the reporting period in advances to suppliers.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncreaseDecreaseInAdvanceToSuppliers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Advance to Suppliers</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_IncreaseDecreaseInAdvanceToSuppliers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances to suppliers</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInProjectAssets" xlink:label="csiq_IncreaseDecreaseInProjectAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncreaseDecreaseInProjectAssets" xlink:to="csiq_IncreaseDecreaseInProjectAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncreaseDecreaseInProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The increase (decrease) during the reporting period of the amount of cost of uncompleted contracts in excess of related billings, or unbilled accounts receivable.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncreaseDecreaseInProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Project Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_IncreaseDecreaseInProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Prepaid Expense and Other Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid expenses and other current assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Other Noncurrent Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other non-current assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableTrade_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Accounts Payable, Trade</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts payable</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInNotesPayableCurrent" xlink:label="us-gaap_IncreaseDecreaseInNotesPayableCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInNotesPayableCurrent" xlink:to="us-gaap_IncreaseDecreaseInNotesPayableCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInNotesPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Notes Payable, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInNotesPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term notes payable</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xlink:to="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Due to Related Parties, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amounts due to related parties</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInOtherAccountsPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInOtherAccountsPayable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherAccountsPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Other Accounts Payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherAccountsPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other payables</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Customer Advances</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances from customers</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:label="csiq_IncreaseDecreaseInOperatingLeaseLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:to="csiq_IncreaseDecreaseInOperatingLeaseLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncreaseDecreaseInOperatingLeaseLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount of increase (decrease) in operating lease liabilities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncreaseDecreaseInOperatingLeaseLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) In Operating Lease Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_IncreaseDecreaseInOperatingLeaseLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating lease liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Other Operating Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other liabilities</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInProductWarrantyAccrual" xlink:label="csiq_IncreaseDecreaseInProductWarrantyAccrual" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncreaseDecreaseInProductWarrantyAccrual" xlink:to="csiq_IncreaseDecreaseInProductWarrantyAccrual_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncreaseDecreaseInProductWarrantyAccrual_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The increase (decrease) during the reporting period in the amount of obligations for estimated claims under standard and extended warranty protection rights granted to customers.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncreaseDecreaseInProductWarrantyAccrual_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Product Warranty Accrual</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_IncreaseDecreaseInProductWarrantyAccrual_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued warranty costs</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInPrepaidLandUseRight" xlink:label="csiq_IncreaseDecreaseInPrepaidLandUseRight" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncreaseDecreaseInPrepaidLandUseRight" xlink:to="csiq_IncreaseDecreaseInPrepaidLandUseRight_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncreaseDecreaseInPrepaidLandUseRight_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The increase (decrease) during the reporting period in the amount of outstanding money paid in advance for land use right that bring economic benefits for future periods.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncreaseDecreaseInPrepaidLandUseRight_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Prepaid Land Use Right</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_IncreaseDecreaseInPrepaidLandUseRight_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid land use rights</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInGoodwill" xlink:label="csiq_IncreaseDecreaseInGoodwill" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncreaseDecreaseInGoodwill" xlink:to="csiq_IncreaseDecreaseInGoodwill_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncreaseDecreaseInGoodwill_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of increase (decrease) in goodwill.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncreaseDecreaseInGoodwill_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Goodwill</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_IncreaseDecreaseInGoodwill_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xlink:to="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The increase (decrease) during the reporting period in the amount of uncertainty liability in income taxes.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Liability for Uncertainty in Income Taxes</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liability for uncertain tax positions</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:to="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Deferred Income Taxes</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred taxes</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfDerivatives" xlink:to="us-gaap_GainLossOnSaleOfDerivatives_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (Loss) on Sale of Derivatives</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net settlement of derivatives</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net settlement of derivatives</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:to="us-gaap_OtherOperatingActivitiesCashFlowStatement_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Operating Activities, Cash Flow Statement</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss contingency accruals</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Operating Activities, Continuing Operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net cash provided by (used in) operating activities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investing activities:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:to="us-gaap_PaymentsToAcquireEquityMethodInvestments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments to Acquire Equity Method Investments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investments in affiliates</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash consideration for acquisition of the entity</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" xlink:label="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" xlink:to="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Equity Method Investment, Dividends or Distributions, Return of Capital</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Return of investment from affiliates</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:label="us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:to="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Sale of Equity Method Investments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from disposal of investment in affiliates</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" xlink:label="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" xlink:to="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The cash outflow associated with the acquisition of long-lived, physical assets and Intangible assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments To Acquire Property Plant And Equipment And Intangible Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase of property, plant and equipment and intangible assets</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PaymentsToAcquireSolarPowerSystems" xlink:label="csiq_PaymentsToAcquireSolarPowerSystems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PaymentsToAcquireSolarPowerSystems" xlink:to="csiq_PaymentsToAcquireSolarPowerSystems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PaymentsToAcquireSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The cash outflow associated with the acquisition of solar power systems that are used in the normal conduct of business to produce solar power.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PaymentsToAcquireSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments to Acquire Solar Power Systems</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_PaymentsToAcquireSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase of solar power systems</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems" xlink:label="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems" xlink:to="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">It represents the proceeds from the sale or disposal of solar power systems.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Sale or Disposal of Solar Power Systems</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from disposal of solar power systems</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromInsuranceSettlementInvestingActivities" xlink:label="us-gaap_ProceedsFromInsuranceSettlementInvestingActivities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromInsuranceSettlementInvestingActivities" xlink:to="us-gaap_ProceedsFromInsuranceSettlementInvestingActivities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromInsuranceSettlementInvestingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Insurance Settlement, Investing Activities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromInsuranceSettlementInvestingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from insurance claim</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries" xlink:label="us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries" xlink:to="us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments to Acquire Additional Interest in Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Acquisition of subsidiaries, net of cash paid</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Investing Activities, Continuing Operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net cash provided by (used in) investing activities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Financing activities:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromNotesPayable" xlink:label="us-gaap_ProceedsFromNotesPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromNotesPayable" xlink:to="us-gaap_ProceedsFromNotesPayable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Notes Payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from short-term borrowings</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentsOfNotesPayable" xlink:label="us-gaap_RepaymentsOfNotesPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfNotesPayable" xlink:to="us-gaap_RepaymentsOfNotesPayable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayments of Notes Payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayment of short-term borrowings</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:to="us-gaap_ProceedsFromIssuanceOfLongTermDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Issuance of Long-term Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="us-gaap_PaymentsToMinorityShareholders" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToMinorityShareholders" xlink:to="us-gaap_PaymentsToMinorityShareholders_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToMinorityShareholders_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments to Noncontrolling Interests</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_PaymentsToMinorityShareholders_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Acquisition of non-controlling interest</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromMinorityShareholders" xlink:label="us-gaap_ProceedsFromMinorityShareholders" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromMinorityShareholders" xlink:to="us-gaap_ProceedsFromMinorityShareholders_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromMinorityShareholders_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Noncontrolling Interests</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProceedsFromMinorityShareholders_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from non-controlling interests</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProceedsFromThirdPartyFinancingLiabilities" xlink:label="csiq_ProceedsFromThirdPartyFinancingLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProceedsFromThirdPartyFinancingLiabilities" xlink:to="csiq_ProceedsFromThirdPartyFinancingLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProceedsFromThirdPartyFinancingLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The cash inflow from financing liabilities of third parties.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProceedsFromThirdPartyFinancingLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Third Party Financing Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProceedsFromThirdPartyFinancingLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from third party financing liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SaleLeasebackTransactionNetProceedsFinancingActivities" xlink:label="us-gaap_SaleLeasebackTransactionNetProceedsFinancingActivities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SaleLeasebackTransactionNetProceedsFinancingActivities" xlink:to="us-gaap_SaleLeasebackTransactionNetProceedsFinancingActivities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SaleLeasebackTransactionNetProceedsFinancingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Sale Leaseback Transaction, Net Proceeds, Financing Activities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SaleLeasebackTransactionNetProceedsFinancingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from sales-leaseback arrangement</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PaymentsOfDistributionsToTaxEquityInvestors" xlink:label="csiq_PaymentsOfDistributionsToTaxEquityInvestors" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PaymentsOfDistributionsToTaxEquityInvestors" xlink:to="csiq_PaymentsOfDistributionsToTaxEquityInvestors_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PaymentsOfDistributionsToTaxEquityInvestors_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of cash outflow in the form of distributions provided to tax equity investors.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PaymentsOfDistributionsToTaxEquityInvestors_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments of Distributions to Tax Equity Investors</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_PaymentsOfDistributionsToTaxEquityInvestors_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Distributions to tax equity investors</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeasePrincipalPayments" xlink:to="us-gaap_FinanceLeasePrincipalPayments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeasePrincipalPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Principal Payments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_FinanceLeasePrincipalPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayment of finance lease obligation</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentsOfCommercialPaper" xlink:label="us-gaap_RepaymentsOfCommercialPaper" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfCommercialPaper" xlink:to="us-gaap_RepaymentsOfCommercialPaper_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfCommercialPaper_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayments of Commercial Paper</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfCommercialPaper_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayment of short-term commercial paper</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentsOfConvertibleDebt" xlink:label="us-gaap_RepaymentsOfConvertibleDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfConvertibleDebt" xlink:to="us-gaap_RepaymentsOfConvertibleDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfConvertibleDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayments of Convertible Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfConvertibleDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayment of convertible notes</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_RepaymentsOfConvertibleDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments for repurchase of convertible notes</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RepaymentsOfConvertibleDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayment of outstanding balance</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromStockOptionsExercised" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Stock Options Exercised</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from exercise of stock options</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsForRepurchaseOfOtherEquity" xlink:label="us-gaap_PaymentsForRepurchaseOfOtherEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRepurchaseOfOtherEquity" xlink:to="us-gaap_PaymentsForRepurchaseOfOtherEquity_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsForRepurchaseOfOtherEquity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments for Repurchase of Other Equity</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_PaymentsForRepurchaseOfOtherEquity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments for repurchase of treasury stock</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Cash Provided by (Used in) Financing Activities, Continuing Operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net cash provided by (used in) financing activities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of Exchange Rate on Cash and Cash Equivalents, Continuing Operations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of exchange rate changes</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and Cash Equivalents, Period Increase (Decrease)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net increase (decrease) in cash, cash equivalents and restricted cash</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash, cash equivalents and restricted cash at the end of the year</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash, cash equivalents and restricted cash at the beginning of the year</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total cash and cash equivalents, and restricted cash shown in the statements of cash flows</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NetIncreaseDecreaseCashAndCashEquivalentsAssetsHeldForSale" xlink:label="csiq_NetIncreaseDecreaseCashAndCashEquivalentsAssetsHeldForSale" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NetIncreaseDecreaseCashAndCashEquivalentsAssetsHeldForSale" xlink:to="csiq_NetIncreaseDecreaseCashAndCashEquivalentsAssetsHeldForSale_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NetIncreaseDecreaseCashAndCashEquivalentsAssetsHeldForSale_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The net increase (decrease) in cash and cash equivalents classified within assets held-for-sale.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NetIncreaseDecreaseCashAndCashEquivalentsAssetsHeldForSale_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Increase Decrease Cash And Cash Equivalents Assets Held For Sale</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NetIncreaseDecreaseCashAndCashEquivalentsAssetsHeldForSale_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Less: net decrease in cash, cash equivalents and restricted cash classified within assets held-for-sale</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Supplemental Cash Flow Information [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Supplemental disclosure of cash flow information:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPaidNet" xlink:to="us-gaap_InterestPaidNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestPaidNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Paid, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestPaidNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest paid (net of amounts capitalized)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_InterestPaidNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest paid (net of amounts capitalized)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaidNet" xlink:to="us-gaap_IncomeTaxesPaidNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Taxes Paid, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income taxes paid</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncash Investing and Financing Items [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Supplemental schedule of non-cash activities:</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarPowerSystemsReclassifiedToProjectAssets" xlink:label="csiq_SolarPowerSystemsReclassifiedToProjectAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarPowerSystemsReclassifiedToProjectAssets" xlink:to="csiq_SolarPowerSystemsReclassifiedToProjectAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarPowerSystemsReclassifiedToProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the amount of solar power systems reclassified to project assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarPowerSystemsReclassifiedToProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar Power Systems Reclassified To Project Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SolarPowerSystemsReclassifiedToProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reclassification of solar power systems to project assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:to="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Capital Expenditures Incurred but Not yet Paid</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, plant and equipment costs included in other payables</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ORGANIZATION AND PRINCIPAL ACTIVITIES</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NatureOfOperations" xlink:label="us-gaap_NatureOfOperations" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NatureOfOperations" xlink:to="us-gaap_NatureOfOperations_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NatureOfOperations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Nature of Operations [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NatureOfOperations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ORGANIZATION AND PRINCIPAL ACTIVITIES</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountingPoliciesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:to="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Organization, Consolidation, Basis of Presentation, Business Description and Accounting Policies [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReceivablesAbstract" xlink:to="us-gaap_ReceivablesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReceivablesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ALLOWANCE FOR DOUBTFUL ACCOUNTS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllowanceForCreditLossesTextBlock" xlink:label="us-gaap_AllowanceForCreditLossesTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForCreditLossesTextBlock" xlink:to="us-gaap_AllowanceForCreditLossesTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForCreditLossesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for Credit Losses [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AllowanceForCreditLossesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ALLOWANCE FOR DOUBTFUL ACCOUNTS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="us-gaap_InventoryDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INVENTORIES</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INVENTORIES</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsAbstract" xlink:label="csiq_ProjectAssetsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProjectAssetsAbstract" xlink:to="csiq_ProjectAssetsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProjectAssetsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">PROJECT ASSETS</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsDisclosureTextBlock" xlink:label="csiq_ProjectAssetsDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProjectAssetsDisclosureTextBlock" xlink:to="csiq_ProjectAssetsDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProjectAssetsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The entire disclosure for information relating to project assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProjectAssetsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project Assets Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProjectAssetsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">PROJECT ASSETS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">PROPERTY, PLANT AND EQUIPMENT, NET</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">PROPERTY, PLANT AND EQUIPMENT, NET</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarPowerSystemsAbstract" xlink:label="csiq_SolarPowerSystemsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarPowerSystemsAbstract" xlink:to="csiq_SolarPowerSystemsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarPowerSystemsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">No definition available.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarPowerSystemsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SOLAR POWER SYSTEMS, NET</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarPowerSystemsTextBlock" xlink:label="csiq_SolarPowerSystemsTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarPowerSystemsTextBlock" xlink:to="csiq_SolarPowerSystemsTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarPowerSystemsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The entire disclosure for solar power systems used in the normal conduct of business. Includes, but is not limited to, accounting policies and methodology, roll forwards, depreciation, depletion and amortization expense.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarPowerSystemsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar Power Systems [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SolarPowerSystemsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SOLAR POWER SYSTEMS, NET</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNetAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNetAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INTANGIBLE ASSETS, NET</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Intangible Assets Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INTANGIBLE ASSETS, NET</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueDisclosuresAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueDisclosuresAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">FAIR VALUE MEASUREMENT</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresTextBlock" xlink:to="us-gaap_FairValueDisclosuresTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueDisclosuresTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value Disclosures [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueDisclosuresTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">FAIR VALUE MEASUREMENT</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:to="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">VARIABLE INTEREST ENTITIES</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableInterestEntityDisclosureTextBlock" xlink:label="us-gaap_VariableInterestEntityDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableInterestEntityDisclosureTextBlock" xlink:to="us-gaap_VariableInterestEntityDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableInterestEntityDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Variable Interest Entity Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_VariableInterestEntityDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">VARIABLE INTEREST ENTITIES</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:to="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INVESTMENTS IN AFFILIATES</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestmentsDisclosureTextBlock" xlink:label="us-gaap_EquityMethodInvestmentsDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsDisclosureTextBlock" xlink:to="us-gaap_EquityMethodInvestmentsDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Method Investments and Joint Ventures Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquityMethodInvestmentsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INVESTMENTS IN AFFILIATES</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LeasesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeasesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">LEASE</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Leases [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">LEASE</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">BORROWINGS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">BORROWINGS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NotesPayableAbstract" xlink:label="us-gaap_NotesPayableAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NotesPayableAbstract" xlink:to="us-gaap_NotesPayableAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NotesPayableAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SHORT-TERM NOTES PAYABLE</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ShortTermNotesPayableTextBlock" xlink:label="csiq_ShortTermNotesPayableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ShortTermNotesPayableTextBlock" xlink:to="csiq_ShortTermNotesPayableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ShortTermNotesPayableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The entire disclosure for information about the notes issued by banks to vendors of the company, which effectively serve to extend the payment date of the associated accounts payables of the company.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ShortTermNotesPayableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short Term Notes Payable [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ShortTermNotesPayableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SHORT-TERM NOTES PAYABLE</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:label="us-gaap_ProductWarrantiesDisclosuresAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:to="us-gaap_ProductWarrantiesDisclosuresAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantiesDisclosuresAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ACCRUED WARRANTY COSTS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductWarrantyDisclosureTextBlock" xlink:label="us-gaap_ProductWarrantyDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyDisclosureTextBlock" xlink:to="us-gaap_ProductWarrantyDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Product Warranty Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProductWarrantyDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ACCRUED WARRANTY COSTS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xlink:label="us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xlink:to="us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RESTRICTED NET ASSETS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedAssetsDisclosureTextBlock" xlink:label="us-gaap_RestrictedAssetsDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedAssetsDisclosureTextBlock" xlink:to="us-gaap_RestrictedAssetsDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedAssetsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted Assets Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RestrictedAssetsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RESTRICTED NET ASSETS</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ConvertibleNotesDisclosureAbstract" xlink:label="csiq_ConvertibleNotesDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ConvertibleNotesDisclosureAbstract" xlink:to="csiq_ConvertibleNotesDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ConvertibleNotesDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">No definition available.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ConvertibleNotesDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONVERTIBLE NOTES</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ConvertibleNotesDisclosureTextBlock" xlink:label="csiq_ConvertibleNotesDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ConvertibleNotesDisclosureTextBlock" xlink:to="csiq_ConvertibleNotesDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ConvertibleNotesDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of borrowings which can be exchanged for a specified number of another security at the option of the issuer or the holder.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ConvertibleNotesDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Convertible Notes Disclosure Text Block</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ConvertibleNotesDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONVERTIBLE NOTES</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INCOME TAXES</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INCOME TAXES</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">EARNINGS PER SHARE</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings Per Share [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">EARNINGS PER SHARE</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="us-gaap_RelatedPartyTransactionsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RELATED PARTY BALANCES AND TRANSACTIONS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Related Party Transactions Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RELATED PARTY BALANCES AND TRANSACTIONS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">COMMITMENTS AND CONTINGENCIES</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commitments and Contingencies Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">COMMITMENTS AND CONTINGENCIES</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SEGMENT INFORMATION</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segment Reporting Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SEGMENT INFORMATION</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_MajorCustomersDisclosureAbstract" xlink:label="csiq_MajorCustomersDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_MajorCustomersDisclosureAbstract" xlink:to="csiq_MajorCustomersDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_MajorCustomersDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">MAJOR CUSTOMERS</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_MajorCustomersDisclosureTextBlock" xlink:label="csiq_MajorCustomersDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_MajorCustomersDisclosureTextBlock" xlink:to="csiq_MajorCustomersDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_MajorCustomersDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The entire disclosure of major customers from which the entity receives substantial of its revenue. Due to the competitive nature of the industry in which the entity belongs, the entity may not believe that the loss of any particular customer would have material adverse impact on the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_MajorCustomersDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Major Customers Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_MajorCustomersDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">MAJOR CUSTOMERS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">EMPLOYEE BENEFIT PLANS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pension and Other Postretirement Benefits Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">EMPLOYEE BENEFIT PLANS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SHARE-BASED COMPENSATION</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of Compensation Related Costs, Share-based Payments [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SHARE-BASED COMPENSATION</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SUBSEQUENT EVENTS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsequent Events [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SUBSEQUENT EVENTS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:to="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional Information - Financial Statement Schedule I</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock" xlink:label="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock" xlink:to="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Condensed Financial Information of Parent Company Only Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional Information - Financial Statement Schedule I</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_MajorSubsidiariesDisclosuresAbstract" xlink:label="csiq_MajorSubsidiariesDisclosuresAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_MajorSubsidiariesDisclosuresAbstract" xlink:to="csiq_MajorSubsidiariesDisclosuresAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_MajorSubsidiariesDisclosuresAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">No definition available.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_MajorSubsidiariesDisclosuresAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Appendix 1 - Major Subsidiaries of CSI</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock" xlink:to="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investments in and Advances to Affiliates, Schedule of Investments [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">APPENDIX 1 - Major Subsidiaries of CSI</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Basis of Accounting, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Basis of presentation</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationPolicyTextBlock" xlink:to="us-gaap_ConsolidationPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidation, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConsolidationPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Basis of consolidation</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseOfEstimates" xlink:to="us-gaap_UseOfEstimates_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UseOfEstimates_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Use of Estimates, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UseOfEstimates_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Use of estimates</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:label="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:to="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash and cash equivalents and restricted cash</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy" xlink:label="us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy" xlink:to="us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Trade and Other Accounts Receivable, Unbilled Receivables, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable, unbilled</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AllowanceForDoubtfulAccountsPolicyTextBlock" xlink:label="csiq_AllowanceForDoubtfulAccountsPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AllowanceForDoubtfulAccountsPolicyTextBlock" xlink:to="csiq_AllowanceForDoubtfulAccountsPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AllowanceForDoubtfulAccountsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of the accounting policy for the allowance for doubtful accounts on accounts receivable balances.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AllowanceForDoubtfulAccountsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance For Doubtful Accounts [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AllowanceForDoubtfulAccountsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for doubtful receivables</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AdvancesToSuppliersPolicyTextBlock" xlink:label="csiq_AdvancesToSuppliersPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AdvancesToSuppliersPolicyTextBlock" xlink:to="csiq_AdvancesToSuppliersPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AdvancesToSuppliersPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of accounting policy for advances to suppliers.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AdvancesToSuppliersPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances to Suppliers [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AdvancesToSuppliersPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances to suppliers</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventories</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsPolicyTextBlock" xlink:label="csiq_ProjectAssetsPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProjectAssetsPolicyTextBlock" xlink:to="csiq_ProjectAssetsPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProjectAssetsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of accounting policy for determining project asset costs.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProjectAssetsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project Assets [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProjectAssetsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationsPolicy" xlink:label="us-gaap_BusinessCombinationsPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationsPolicy" xlink:to="us-gaap_BusinessCombinationsPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Combinations Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business combination</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AssetsAcquisitionPolicyTextBlock" xlink:label="csiq_AssetsAcquisitionPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AssetsAcquisitionPolicyTextBlock" xlink:to="csiq_AssetsAcquisitionPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AssetsAcquisitionPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of accounting policy for assets acquisition.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AssetsAcquisitionPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets Acquisition [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AssetsAcquisitionPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets acquisition</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, plant and equipment</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DiscontinuedOperationsPolicyTextBlock" xlink:label="us-gaap_DiscontinuedOperationsPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DiscontinuedOperationsPolicyTextBlock" xlink:to="us-gaap_DiscontinuedOperationsPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DiscontinuedOperationsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Discontinued Operations, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DiscontinuedOperationsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets held-for-sale</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarPowerSystemsPolicyPolicyTextBlock" xlink:label="csiq_SolarPowerSystemsPolicyPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarPowerSystemsPolicyPolicyTextBlock" xlink:to="csiq_SolarPowerSystemsPolicyPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarPowerSystemsPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of accounting policy for solar power system used in the normal conduct of business and not intended for resale.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarPowerSystemsPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar Power Systems, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SolarPowerSystemsPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar power systems</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" xlink:label="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" xlink:to="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Goodwill and Intangible Assets, Intangible Assets, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Intangible assets</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PrepaymentForLandUseRightPolicyTextBlock" xlink:label="csiq_PrepaymentForLandUseRightPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PrepaymentForLandUseRightPolicyTextBlock" xlink:to="csiq_PrepaymentForLandUseRightPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PrepaymentForLandUseRightPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of accounting policy for prepayment for land use rights which may include the basis of such assets, depreciation methods used and estimated useful lives.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PrepaymentForLandUseRightPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepayment for Land Use Right [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PrepaymentForLandUseRightPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Prepaid land use rights</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestmentsPolicy" xlink:label="us-gaap_EquityMethodInvestmentsPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsPolicy" xlink:to="us-gaap_EquityMethodInvestmentsPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Method Investments, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquityMethodInvestmentsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investments in affiliates</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Impairment of long-lived assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestCapitalizationPolicyPolicyTextBlock" xlink:label="us-gaap_InterestCapitalizationPolicyPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestCapitalizationPolicyPolicyTextBlock" xlink:to="us-gaap_InterestCapitalizationPolicyPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestCapitalizationPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Capitalization, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestCapitalizationPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest capitalization</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetRetirementObligationsPolicy" xlink:label="us-gaap_AssetRetirementObligationsPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetRetirementObligationsPolicy" xlink:to="us-gaap_AssetRetirementObligationsPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetRetirementObligationsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Asset Retirement Obligations, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetRetirementObligationsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets retirement obligation</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeasesPolicyTextBlock" xlink:to="us-gaap_LesseeLeasesPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Leases [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leases</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commitments and Contingencies, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommitmentsAndContingenciesPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contingencies</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income taxes</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue Recognition, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue recognition</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock" xlink:label="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock" xlink:to="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">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.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shippings and Handling Cost, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shipping and handling costs</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Research and Development Expense, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Research and development</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock" xlink:label="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock" xlink:to="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of accounting policy for other operating income and other operating expense items.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Operating Income (Expense), Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other operating income, net</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StandardProductWarrantyPolicy" xlink:label="us-gaap_StandardProductWarrantyPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StandardProductWarrantyPolicy" xlink:to="us-gaap_StandardProductWarrantyPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StandardProductWarrantyPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Standard Product Warranty, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StandardProductWarrantyPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Warranty cost</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign Currency Transactions and Translations Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign currency translation</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:to="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive Income, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Comprehensive income</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ForeignCurrencyRiskPolicyTextBlock" xlink:label="csiq_ForeignCurrencyRiskPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ForeignCurrencyRiskPolicyTextBlock" xlink:to="csiq_ForeignCurrencyRiskPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ForeignCurrencyRiskPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of accounting policy for risk associated with converting the amounts denominated in the foreign currencies into reporting entity's reporting currency.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ForeignCurrencyRiskPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign Currency Risk [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ForeignCurrencyRiskPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign currency risk</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskCreditRisk" xlink:to="us-gaap_ConcentrationRiskCreditRisk_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk, Credit Risk, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration of credit risk</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value of Financial Instruments, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair value of financial instruments</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativesPolicyTextBlock" xlink:label="us-gaap_DerivativesPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativesPolicyTextBlock" xlink:to="us-gaap_DerivativesPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativesPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivatives, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativesPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivatives instruments and hedging activity</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings Per Share, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings (loss) per share</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation, Option and Incentive Plans Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based compensation</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">New Accounting Pronouncements, Policy [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recently issued accounting pronouncements</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" xlink:to="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of the useful life of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Property Plant and Equipment Useful Life [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of expected useful lives of property and equipment</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Finite-Lived Intangible Assets [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of useful life intangible assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disaggregation of Revenue [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of disaggregation of revenue</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Asset and Liability [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of contract assets and contract liabilities</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock" xlink:label="csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock" xlink:to="csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of accounting policy for other operating income and other operating expense items.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Other Operating Income (Expense) [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of the Company's other operating income, net</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation and Qualifying Accounts Disclosure [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation Allowances and Reserves Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation Allowances And Reserves [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation Allowances and Reserves [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllowanceForCreditLossMember" xlink:label="us-gaap_AllowanceForCreditLossMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForCreditLossMember" xlink:to="us-gaap_AllowanceForCreditLossMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForCreditLossMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance For Credit Loss [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AllowanceForCreditLossMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowances for accounts receivable, trade</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AllowanceForAdvancesToSuppliersMember" xlink:label="csiq_AllowanceForAdvancesToSuppliersMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AllowanceForAdvancesToSuppliersMember" xlink:to="csiq_AllowanceForAdvancesToSuppliersMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AllowanceForAdvancesToSuppliersMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the valuation allowance for advances to suppliers that are expected to be uncollectible.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AllowanceForAdvancesToSuppliersMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance For Advances To Suppliers [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AllowanceForAdvancesToSuppliersMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowances for advances to suppliers</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation and Qualifying Accounts Disclosure [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ALLOWANCE FOR DOUBTFUL ACCOUNTS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xlink:label="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xlink:to="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for Credit Losses on Financing Receivables [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of allowances</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Inventory, Current [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of inventories</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ScheduleOfProjectAssetsTableTextBlock" xlink:label="csiq_ScheduleOfProjectAssetsTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ScheduleOfProjectAssetsTableTextBlock" xlink:to="csiq_ScheduleOfProjectAssetsTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ScheduleOfProjectAssetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of components of project assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ScheduleOfProjectAssetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Project Assets [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ScheduleOfProjectAssetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of project assets</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock" xlink:to="csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of the components of property, plant and equipment.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Property Plant and Equipment Components [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of property, plant and equipment, net</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock" xlink:label="csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock" xlink:to="csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of the components of solar power systems.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Solar Power Systems Components [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of solar power systems, net</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of carrying value and amortization of finite-lived intangible assets by major class.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Carrying Value of Finite Lived Intangible Assets [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of intangible assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Derivative Instruments in Statement of Financial Position, Fair Value [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of fair value of derivative instruments on the consolidated balance sheets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Instruments, Gain (Loss) [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of effect of derivative instruments on consolidated statements of operations</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfVariableInterestEntitiesTextBlock" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfVariableInterestEntitiesTextBlock" xlink:to="us-gaap_ScheduleOfVariableInterestEntitiesTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Variable Interest Entities [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of carrying amounts and classifications of consolidated VIE's assets and liabilities, excluding intercompany balances</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestmentsTextBlock" xlink:label="us-gaap_EquityMethodInvestmentsTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsTextBlock" xlink:to="us-gaap_EquityMethodInvestmentsTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Method Investments [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquityMethodInvestmentsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of investments in affiliates</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCostTableTextBlock" xlink:to="us-gaap_LeaseCostTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseCostTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease, Cost [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LeaseCostTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of leases</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock" xlink:label="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock" xlink:to="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of components of leases that are recognized on the Balance Sheets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease Components Of Leases That Are Recognized On Balance Sheets [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of other supplemental information:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Maturity [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of lease maturities</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ScheduleOfFutureMinimumLeasePaymentsForLeasesTableTextBlock" xlink:label="csiq_ScheduleOfFutureMinimumLeasePaymentsForLeasesTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ScheduleOfFutureMinimumLeasePaymentsForLeasesTableTextBlock" xlink:to="csiq_ScheduleOfFutureMinimumLeasePaymentsForLeasesTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ScheduleOfFutureMinimumLeasePaymentsForLeasesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of future minimum lease payments as of the date of the latest balance sheet presented, in aggregate and for each of the five years succeeding fiscal years, with separate deductions from the total for the amount representing executor costs, including any profit thereon, included in the minimum lease payments and for the amount of the imputed interest necessary to reduce the net minimum lease payments to present value.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ScheduleOfFutureMinimumLeasePaymentsForLeasesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Future Minimum Lease Payments for Leases [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ScheduleOfFutureMinimumLeasePaymentsForLeasesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of lease liabilities under(Topic 840)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDebtTableTextBlock" xlink:to="us-gaap_ScheduleOfDebtTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Debt [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of bank borrowings</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:to="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Maturities of Long-term Debt [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of future principal repayments on the long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ScheduleOfEffectiveInterestRatesTableTextBlock" xlink:label="csiq_ScheduleOfEffectiveInterestRatesTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ScheduleOfEffectiveInterestRatesTableTextBlock" xlink:to="csiq_ScheduleOfEffectiveInterestRatesTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ScheduleOfEffectiveInterestRatesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of average effective interest rates on borrowings.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ScheduleOfEffectiveInterestRatesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule Of Effective Interest Rates [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ScheduleOfEffectiveInterestRatesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of average effective interest rates on borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ScheduleOfInterestExpenseTableTextBlock" xlink:label="csiq_ScheduleOfInterestExpenseTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ScheduleOfInterestExpenseTableTextBlock" xlink:to="csiq_ScheduleOfInterestExpenseTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ScheduleOfInterestExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tabular disclosure of the amount of interest expenses related to borrowings.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ScheduleOfInterestExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Interest Expense [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ScheduleOfInterestExpenseTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of interest incurred</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:to="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Product Warranty Liability [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of the Company's warranty activity</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of provision for income taxes</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of movement and balance of the Company's liability for uncertain tax positions (excluding interest and penalties)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Deferred Tax Assets and Liabilities [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of components of the deferred tax assets and liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SummaryOfValuationAllowanceTextBlock" xlink:label="us-gaap_SummaryOfValuationAllowanceTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SummaryOfValuationAllowanceTextBlock" xlink:to="us-gaap_SummaryOfValuationAllowanceTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SummaryOfValuationAllowanceTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of Valuation Allowance [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SummaryOfValuationAllowanceTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of movement of the valuation allowance</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of reconciliation between the provision for income tax computed by applying Canadian federal and provincial statutory tax rates to income before income taxes and the actual provision and benefit for income taxes</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SummaryOfIncomeTaxHolidayTextBlock" xlink:label="us-gaap_SummaryOfIncomeTaxHolidayTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SummaryOfIncomeTaxHolidayTextBlock" xlink:to="us-gaap_SummaryOfIncomeTaxHolidayTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SummaryOfIncomeTaxHolidayTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of Income Tax Holiday [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SummaryOfIncomeTaxHolidayTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of aggregate amount and per share effect of the tax holiday</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of computation of basic and diluted earnings per share</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of anti-dilutive shares excluded from the computation of diluted earnings per share</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermPurchaseCommitmentTextBlock" xlink:label="us-gaap_LongTermPurchaseCommitmentTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermPurchaseCommitmentTextBlock" xlink:to="us-gaap_LongTermPurchaseCommitmentTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermPurchaseCommitmentTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Purchase Commitment [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermPurchaseCommitmentTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of payment for commitments</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Segment Reporting Information, by Segment [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of Company's revenues and gross profit and income from operations generated from each segment</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:to="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Revenue from External Customers Attributed to Foreign Countries by Geographic Area [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of the Company's net revenues generated from different geographic locations</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:to="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-lived Assets by Geographic Areas [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of long-lived assets, including property, plant and equipment, non-current project assets, solar power systems, prepaid land use rights and intangible assets by geographic region</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue from External Customers by Products and Services [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of the Company's revenues generated from each product or service</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:label="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:to="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Revenue by Major Customers by Reporting Segments [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of details of customers accounting for 10% or more of total net revenues</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Share-based Compensation, Restricted Stock Units Award Activity [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of the RSU activity</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainContingenciesTable" xlink:label="us-gaap_GainContingenciesTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainContingenciesTable" xlink:to="us-gaap_GainContingenciesTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainContingenciesTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain Contingencies [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainContingenciesLineItems" xlink:label="us-gaap_GainContingenciesLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainContingenciesLineItems" xlink:to="us-gaap_GainContingenciesLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainContingenciesLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain Contingencies [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GainContingenciesLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Principal accounting policies:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment, Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property Plant And Equipment Type [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment, Type [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingMember" xlink:to="us-gaap_BuildingMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BuildingMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Building [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BuildingMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Buildings</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MachineryAndEquipmentMember" xlink:to="us-gaap_MachineryAndEquipmentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MachineryAndEquipmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Machinery And Equipment [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MachineryAndEquipmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Machinery</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FurnitureAndFixturesMember" xlink:to="us-gaap_FurnitureAndFixturesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FurnitureAndFixturesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Furniture And Fixtures [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FurnitureAndFixturesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Furniture, fixtures and equipment</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VehiclesMember" xlink:to="us-gaap_VehiclesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VehiclesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Vehicles [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_VehiclesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Motor vehicles</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Range [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeMember" xlink:to="srt_RangeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Range [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_RangeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Range [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MinimumMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Minimum [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_MinimumMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Minimum</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MaximumMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Maximum [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_MaximumMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Maximum</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">PROPERTY, PLANT AND EQUIPMENT, NET</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, plant and equipment</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment, Useful Life</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Estimated useful lives</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Finite-Lived Intangible Assets [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets by Major Class [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite Lived Intangible Assets Major Class Name [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Major Class Name [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DevelopedTechnologyRightsMember" xlink:to="us-gaap_DevelopedTechnologyRightsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DevelopedTechnologyRightsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Developed Technology Rights [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DevelopedTechnologyRightsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Technical know-how</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Computer Software Intangible Asset [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Computer software</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INTANGIBLE ASSETS, NET</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Intangible assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Asset, Useful Life</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amortization period</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetRetirementObligation" xlink:label="us-gaap_AssetRetirementObligation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetRetirementObligation" xlink:to="us-gaap_AssetRetirementObligation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetRetirementObligation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Asset Retirement Obligation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetRetirementObligation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Asset retirement obligation</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disaggregation of Revenue [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disaggregation of Revenue [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue recognition:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetNetAbstract" xlink:label="us-gaap_ContractWithCustomerAssetNetAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetNetAbstract" xlink:to="us-gaap_ContractWithCustomerAssetNetAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetNetAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Asset, Net [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerAssetNetAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract Assets</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInAccountsReceivablesUnbilled" xlink:label="csiq_IncreaseDecreaseInAccountsReceivablesUnbilled" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncreaseDecreaseInAccountsReceivablesUnbilled" xlink:to="csiq_IncreaseDecreaseInAccountsReceivablesUnbilled_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncreaseDecreaseInAccountsReceivablesUnbilled_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The increase (decrease) during the reporting period for the amount of revenue for work performed for which billing has not occurred, net of uncollectible accounts.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncreaseDecreaseInAccountsReceivablesUnbilled_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Accounts Receivables, Unbilled</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_IncreaseDecreaseInAccountsReceivablesUnbilled_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivables, unbilled, fluctuation</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityAbstract" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Liability [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract Liabilities</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInAdvancesFromCustomers" xlink:label="csiq_IncreaseDecreaseInAdvancesFromCustomers" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncreaseDecreaseInAdvancesFromCustomers" xlink:to="csiq_IncreaseDecreaseInAdvancesFromCustomers_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncreaseDecreaseInAdvancesFromCustomers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The increase (decrease) during the reporting period in the amount of advances from customers for goods or services to be provided at a later date.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncreaseDecreaseInAdvancesFromCustomers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Advances from Customers</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_IncreaseDecreaseInAdvancesFromCustomers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances from customers, fluctuation</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ContractLiabilitiesOtherCurrentLiabilities" xlink:label="csiq_ContractLiabilitiesOtherCurrentLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ContractLiabilitiesOtherCurrentLiabilities" xlink:to="csiq_ContractLiabilitiesOtherCurrentLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ContractLiabilitiesOtherCurrentLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of other current liabilities relating to contract liabilities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ContractLiabilitiesOtherCurrentLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract Liabilities, Other Current Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ContractLiabilitiesOtherCurrentLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other current liabilities</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherCurrentLiabilitiesFluctuations" xlink:label="csiq_OtherCurrentLiabilitiesFluctuations" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherCurrentLiabilitiesFluctuations" xlink:to="csiq_OtherCurrentLiabilitiesFluctuations_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherCurrentLiabilitiesFluctuations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The increase (decrease) during the reporting period in the amount of other current liabilities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherCurrentLiabilitiesFluctuations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Current Liabilities Fluctuations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="csiq_OtherCurrentLiabilitiesFluctuations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other current liabilities, fluctuation</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ContractWithCustomerLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract liability</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInContractLiabilities" xlink:label="csiq_IncreaseDecreaseInContractLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncreaseDecreaseInContractLiabilities" xlink:to="csiq_IncreaseDecreaseInContractLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncreaseDecreaseInContractLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of increase (decrease) in total contract liabilities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncreaseDecreaseInContractLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase (Decrease) in Contract Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_IncreaseDecreaseInContractLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract liability, fluctuation</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Liability, Revenue Recognized</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue recognized from beginning balance of contract liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligation" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Remaining Performance Obligation, Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract liabilities expected to be recognized</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Period for contract liabilities expected to be realized</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" xlink:label="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" xlink:to="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The net loss on disposal of property, plant and equipment included in other operating expense.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Loss Disposal Property Plant Equipment Other Operating Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net loss on disposal of property, plant and equipment</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainOnBusinessInterruptionInsuranceRecovery" xlink:label="us-gaap_GainOnBusinessInterruptionInsuranceRecovery" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainOnBusinessInterruptionInsuranceRecovery" xlink:to="us-gaap_GainOnBusinessInterruptionInsuranceRecovery_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainOnBusinessInterruptionInsuranceRecovery_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain on Business Interruption Insurance Recovery</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainOnBusinessInterruptionInsuranceRecovery_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business interruption insurance compensation</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductWarrantyLiabilityTable" xlink:label="us-gaap_ProductWarrantyLiabilityTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyLiabilityTable" xlink:to="us-gaap_ProductWarrantyLiabilityTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyLiabilityTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Product Warranty Liability [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductWarrantyLiabilityLineItems" xlink:label="us-gaap_ProductWarrantyLiabilityLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="us-gaap_ProductWarrantyLiabilityLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyLiabilityLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Product Warranty Liability [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProductWarrantyLiabilityLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Warranty cost</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProductWarrantyAccrualRateForSalesOfSolarModules" xlink:label="csiq_ProductWarrantyAccrualRateForSalesOfSolarModules" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProductWarrantyAccrualRateForSalesOfSolarModules" xlink:to="csiq_ProductWarrantyAccrualRateForSalesOfSolarModules_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProductWarrantyAccrualRateForSalesOfSolarModules_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the percentage of revenue which the entity uses as an estimate of warranty expense for sales of solar modules, which is included in cost of revenues.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProductWarrantyAccrualRateForSalesOfSolarModules_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Product Warranty Accrual Rate for Sales of Solar Modules</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProductWarrantyAccrualRateForSalesOfSolarModules_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Warranty accrual rate for sales of solar modules as a percentage of revenue</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_InsurancePolicyTerm" xlink:label="csiq_InsurancePolicyTerm" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_InsurancePolicyTerm" xlink:to="csiq_InsurancePolicyTerm_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_InsurancePolicyTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the term of the insurance policy over which the insurance premium will be amortized.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_InsurancePolicyTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Insurance Policy Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_InsurancePolicyTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Term of insurance policy over which the insurance premium will be amortized</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_StandardProductWarrantyPeriod" xlink:label="csiq_StandardProductWarrantyPeriod" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_StandardProductWarrantyPeriod" xlink:to="csiq_StandardProductWarrantyPeriod_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_StandardProductWarrantyPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the period of time over which the entity guarantees against defects in materials and workmanship.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_StandardProductWarrantyPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Standard Product Warranty Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_StandardProductWarrantyPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Guarantee of solar modules for defects in materials and engineering design, installation and construction</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" xlink:to="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the warranty period of solar modules for decline of more than 10 percent of the initial minimum power generation capacity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar Modules Warranty Period Against Decline of More than Ten Percent of Power Generation Capacity</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Warranty period of solar modules and products against decline of more than 10% of initial power generation capacity</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" xlink:to="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the warranty period of solar modules for decline of more than 20 percent of the initial minimum power generation capacity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar Modules Warranty Period Against Decline of More than Twenty Percent of Power Generation Capacity</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Warranty period of solar modules and products against decline of more than 20% of initial power generation capacity</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_InsurancePremiumUnamortizedAmountNoncurrent" xlink:label="csiq_InsurancePremiumUnamortizedAmountNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_InsurancePremiumUnamortizedAmountNoncurrent" xlink:to="csiq_InsurancePremiumUnamortizedAmountNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_InsurancePremiumUnamortizedAmountNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the unamortized carrying amount of insurance premium.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_InsurancePremiumUnamortizedAmountNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Insurance Premium Unamortized Amount Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_InsurancePremiumUnamortizedAmountNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unamortized carrying amount of insurance premium</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InsuranceSettlementsReceivableNoncurrent" xlink:label="us-gaap_InsuranceSettlementsReceivableNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InsuranceSettlementsReceivableNoncurrent" xlink:to="us-gaap_InsuranceSettlementsReceivableNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InsuranceSettlementsReceivableNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Insurance Settlements Receivable, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InsuranceSettlementsReceivableNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Insurance receivable</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:label="us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:to="us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Standard Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Warranty adjustment</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherNoncurrentAssetsAdjustment" xlink:label="csiq_OtherNoncurrentAssetsAdjustment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherNoncurrentAssetsAdjustment" xlink:to="csiq_OtherNoncurrentAssetsAdjustment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherNoncurrentAssetsAdjustment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the adjustment to the expense charged against earnings for the period pertaining to other non-current assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherNoncurrentAssetsAdjustment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Noncurrent Assets Adjustment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherNoncurrentAssetsAdjustment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Downward adjustment of other non-current assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductWarrantyExpense" xlink:label="us-gaap_ProductWarrantyExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyExpense" xlink:to="us-gaap_ProductWarrantyExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Product Warranty Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProductWarrantyExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Warranty costs (net effect of adjustment) included in cost of revenues</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" xlink:to="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the minimum percentage of decline in power generation capacity from the time of delivery which the entity warrants for a ten year period.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar Modules Minimum Percentage of Decline in Power Generation Capacity to Get Ten Year Warranty</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Minimum percentage of decline in initial minimum power generation capacity for 10 years</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" xlink:to="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the minimum percentage of decline in power generation capacity from the time of delivery which the entity warrants for a 25 year period.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar Modules Minimum Percentage of Decline in Power Generation Capacity to Get Twenty Five Year Warranty</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Minimum percentage of decline in initial minimum power generation capacity for 25 years</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:to="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">New Accounting Pronouncements or Change in Accounting Principle [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:to="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">New Accounting Pronouncements or Change in Accounting Principle [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recently issued accounting pronouncements</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total operating lease liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">NPV for future minimum lease payments</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AllowanceForOtherReceivablesMember" xlink:label="csiq_AllowanceForOtherReceivablesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AllowanceForOtherReceivablesMember" xlink:to="csiq_AllowanceForOtherReceivablesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AllowanceForOtherReceivablesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the valuation allowance for other receivables that are expected to be uncollectible.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AllowanceForOtherReceivablesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance For Other Receivables [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AllowanceForOtherReceivablesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowances for other receivables</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:label="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:to="us-gaap_MovementInValuationAllowancesAndReservesRollForward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MovementInValuationAllowancesAndReservesRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Movement in Valuation Allowances and Reserves [Roll Forward]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MovementInValuationAllowancesAndReservesRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Movement of allowances</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesBalance" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation Allowances and Reserves, Balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Closing balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Beginning of the year</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation allowance</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" xlink:label="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" xlink:to="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total of allowances and reserves, the valuation and qualifying accounts that are either netted against the cost of an asset (in order to value it at its carrying value) or that reflect a liability established to represent expected future costs which have been charged to costs and expenses net of the total of recoveries of amounts due the Entity that had previously been written off as uncollectible using allowances (the valuation accounts that are netted against the cost of an asset to value it at its carrying value) and total of reestablishments of reserves (liabilities established to represent expected future costs) that had previously been utilized.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation Allowances and Reserves Charged to Cost and Expense and Recoveries Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowances made (reversed) during the year, net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additions (Reversals)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDeductions" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesDeductions" xlink:to="us-gaap_ValuationAllowancesAndReservesDeductions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation Allowances and Reserves, Deductions</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts written-off against allowances</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ValuationAllowancesAndReservesForeignExchangeEffect" xlink:label="csiq_ValuationAllowancesAndReservesForeignExchangeEffect" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ValuationAllowancesAndReservesForeignExchangeEffect" xlink:to="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total of the foreign exchange effects in a given period to allowances or reserves.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation Allowances and Reserves Foreign Exchange Effect</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign exchange effect</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract" xlink:label="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract" xlink:to="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory, Net, Items Net of Reserve Alternative [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INVENTORIES</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory, Raw Materials, Net of Reserves</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Raw materials</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory, Work in Process, Net of Reserves</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Work-in-process</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory, Finished Goods, Net of Reserves</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finished goods</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost" xlink:to="csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the amount of capitalized acquisition cost related to investments in solar power projects.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project Assets Plants and Land Capitalized Acquisition Cost</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project assets - Acquisition cost</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" xlink:to="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the amount of capitalized EPC and other cost related to investments in solar power projects.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project Assets Plants and Land Capitalized EPC and Other Cost</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project assets - EPC and other cost</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsPlantsAndLand" xlink:label="csiq_ProjectAssetsPlantsAndLand" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProjectAssetsPlantsAndLand" xlink:to="csiq_ProjectAssetsPlantsAndLand_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProjectAssetsPlantsAndLand_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying amount as of the balance sheet date of investments in solar power projects.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProjectAssetsPlantsAndLand_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project Assets Plants and Land</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="csiq_ProjectAssetsPlantsAndLand_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total project assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdImprovementsMember" xlink:to="us-gaap_LeaseholdImprovementsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseholdImprovementsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leasehold Improvements [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LeaseholdImprovementsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leasehold improvements</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, Plant and Equipment, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, plant and equipment, gross</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated depreciation</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AccumulatedAssetImpairmentCharges" xlink:label="csiq_AccumulatedAssetImpairmentCharges" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AccumulatedAssetImpairmentCharges" xlink:to="csiq_AccumulatedAssetImpairmentCharges_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AccumulatedAssetImpairmentCharges_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of accumulated asset impairment for physical assets used in the normal conduct of business to produce goods and services.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AccumulatedAssetImpairmentCharges_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated Asset Impairment Charges</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_AccumulatedAssetImpairmentCharges_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Impairment</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" xlink:label="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" xlink:to="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the net amount of long-lived physical assets, excluding construction in process, used in the normal conduct of business and not intended for resale.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property Plant and Equipment Excluding Construction in Progress Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, plant and equipment, excluding construction in process, net</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConstructionInProgressGross" xlink:label="us-gaap_ConstructionInProgressGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConstructionInProgressGross" xlink:to="us-gaap_ConstructionInProgressGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConstructionInProgressGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Construction in Progress, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConstructionInProgressGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Construction in process</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Depreciation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Depreciation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation expense</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" xlink:label="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" xlink:to="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated Depreciation, Depletion and Amortization, Solar Power Systems</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated depreciation</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gross Carrying Amount</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Accumulated Amortization</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated Amortization</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amortization of Intangible Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amortization expense</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Expected amortization expense of intangible assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2020</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Amortization Expense, Year Two</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2021</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Amortization Expense, Year Three</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2022</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Amortization Expense, Year Four</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2023</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter" xlink:label="csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter" xlink:to="csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fifth fiscal year and after that 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.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finite-Lived Intangible Assets, Amortization Expense, Year Five And Thereafter</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2024 and thereafter</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value Measurements, Recurring and Nonrecurring [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair value measurements of the entity's assets or liabilities that are measured at fair value on a recurring basis</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_InterestRateSwapsNumberOfFinancialInstitutions" xlink:label="csiq_InterestRateSwapsNumberOfFinancialInstitutions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_InterestRateSwapsNumberOfFinancialInstitutions" xlink:to="csiq_InterestRateSwapsNumberOfFinancialInstitutions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_InterestRateSwapsNumberOfFinancialInstitutions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the number of institutions with which the company has entered into fixed for floating interest rate swaps.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_InterestRateSwapsNumberOfFinancialInstitutions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Rate Swaps, Number Of Financial Institutions</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_InterestRateSwapsNumberOfFinancialInstitutions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of financial institutions</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeLiabilityNotionalAmount" xlink:label="us-gaap_DerivativeLiabilityNotionalAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeLiabilityNotionalAmount" xlink:to="us-gaap_DerivativeLiabilityNotionalAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeLiabilityNotionalAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Liability, Notional Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeLiabilityNotionalAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Notional amount</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeNotionalAmount" xlink:label="us-gaap_DerivativeNotionalAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeNotionalAmount" xlink:to="us-gaap_DerivativeNotionalAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeNotionalAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative, Notional Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeNotionalAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total notional</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesFairValueDisclosure" xlink:label="us-gaap_LiabilitiesFairValueDisclosure" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesFairValueDisclosure" xlink:to="us-gaap_LiabilitiesFairValueDisclosure_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesFairValueDisclosure_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Financial and Nonfinancial Liabilities, Fair Value Disclosure</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LiabilitiesFairValueDisclosure_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:to="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_HedgingDesignationAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Hedging Designation [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_HedgingDesignationDomain" xlink:to="us-gaap_HedgingDesignationDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_HedgingDesignationDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Hedging Designation [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_HedgingDesignationDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Hedging Designation [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="us-gaap_NondesignatedMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NondesignatedMember" xlink:to="us-gaap_NondesignatedMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NondesignatedMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Nondesignated [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NondesignatedMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Not designated as hedging instruments</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Instrument [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_DerivativeContractTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeContractTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Contract Type [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeContractTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Contract [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignExchangeForwardMember" xlink:label="us-gaap_ForeignExchangeForwardMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignExchangeForwardMember" xlink:to="us-gaap_ForeignExchangeForwardMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignExchangeForwardMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign Exchange Forward [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ForeignExchangeForwardMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign exchange forward contracts</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="us-gaap_DerivativesFairValueLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativesFairValueLineItems" xlink:to="us-gaap_DerivativesFairValueLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativesFairValueLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivatives, Fair Value [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativesFairValueLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of fair value of derivative instruments on the consolidated balance sheets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" xlink:label="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" xlink:to="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Asset, Fair Value, Amount Not Offset Against Collateral</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total derivatives asset</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" xlink:label="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" xlink:to="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Liability, Fair Value, Amount Not Offset Against Collateral</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total derivatives liability</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:to="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Instruments, Gain (Loss) [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignExchangeOptionMember" xlink:label="us-gaap_ForeignExchangeOptionMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignExchangeOptionMember" xlink:to="us-gaap_ForeignExchangeOptionMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignExchangeOptionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign Exchange Option [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ForeignExchangeOptionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign exchange option contracts</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_WarrantsMember" xlink:label="csiq_WarrantsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_WarrantsMember" xlink:to="csiq_WarrantsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_WarrantsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents fair value of warrants.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_WarrantsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Warrants [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_WarrantsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Warrants</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="us-gaap_DerivativeInstrumentsGainLossLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:to="us-gaap_DerivativeInstrumentsGainLossLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsGainLossLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Instruments, Gain (Loss) [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeInstrumentsGainLossLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of derivative instruments on consolidated statements of operations</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" xlink:label="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" xlink:to="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative Instruments Not Designated as Hedging Instruments, Gain (Loss), Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (loss) on change in fair value of derivatives</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConvertibleLongTermNotesPayable" xlink:label="us-gaap_ConvertibleLongTermNotesPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertibleLongTermNotesPayable" xlink:to="us-gaap_ConvertibleLongTermNotesPayable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConvertibleLongTermNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Convertible Notes Payable, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConvertibleLongTermNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Convertible notes</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfVariableInterestEntitiesTable" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfVariableInterestEntitiesTable" xlink:to="us-gaap_ScheduleOfVariableInterestEntitiesTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Variable Interest Entities [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableInterestEntityLineItems" xlink:label="us-gaap_VariableInterestEntityLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableInterestEntityLineItems" xlink:to="us-gaap_VariableInterestEntityLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableInterestEntityLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Variable Interest Entity [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_VariableInterestEntityLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">VARIABLE INTEREST ENTITIES</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssets" xlink:label="csiq_ProjectAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProjectAssets" xlink:to="csiq_ProjectAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying amount as of the balance sheet date of investments in solar power projects.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Project assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssets" xlink:label="us-gaap_OtherAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssets" xlink:to="us-gaap_OtherAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherLiabilities" xlink:label="us-gaap_OtherLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilities" xlink:to="us-gaap_OtherLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Equity Method Investments [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investment, Name [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="srt_EquityMethodInvesteeNameDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_EquityMethodInvesteeNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Method Investee Name [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_EquityMethodInvesteeNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investment, Name [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ReRoserockHoldingsLlcMember" xlink:label="csiq_ReRoserockHoldingsLlcMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ReRoserockHoldingsLlcMember" xlink:to="csiq_ReRoserockHoldingsLlcMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ReRoserockHoldingsLlcMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to RE Roserock Holdings LLC.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ReRoserockHoldingsLlcMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Re Roserock Holdings Llc [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ReRoserockHoldingsLlcMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RE Roserock Holdings LLC ("Roserock")</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SuzhouFinancialLeasingCoLtdMember" xlink:label="csiq_SuzhouFinancialLeasingCoLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SuzhouFinancialLeasingCoLtdMember" xlink:to="csiq_SuzhouFinancialLeasingCoLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SuzhouFinancialLeasingCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Suzhou Financial Leasing Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SuzhouFinancialLeasingCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Suzhou Financial Leasing Co Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SuzhouFinancialLeasingCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Suzhou Financial Leasing Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherEquityMethodInvesteesMember" xlink:label="csiq_OtherEquityMethodInvesteesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherEquityMethodInvesteesMember" xlink:to="csiq_OtherEquityMethodInvesteesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherEquityMethodInvesteesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the other equity method investees.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherEquityMethodInvesteesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Equity Method Investees [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherEquityMethodInvesteesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Others</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Equity Method Investments [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other investments</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Method Investment, Ownership Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ownership percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Membership interests owned (as a percent)</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EnowIncMember" xlink:label="csiq_EnowIncMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EnowIncMember" xlink:to="csiq_EnowIncMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EnowIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to eNow Inc.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EnowIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Enow Inc [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_EnowIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Now, Inc.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_TaxEquityTransactionsLineItems" xlink:label="csiq_TaxEquityTransactionsLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_TaxEquityTransactionsLineItems" xlink:to="csiq_TaxEquityTransactionsLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_TaxEquityTransactionsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_TaxEquityTransactionsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tax equity transactions [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_TaxEquityTransactionsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tax equity transactions</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EquityMethodInvestmentOwnershipPercentageSold" xlink:label="csiq_EquityMethodInvestmentOwnershipPercentageSold" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EquityMethodInvestmentOwnershipPercentageSold" xlink:to="csiq_EquityMethodInvestmentOwnershipPercentageSold_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EquityMethodInvestmentOwnershipPercentageSold_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EquityMethodInvestmentOwnershipPercentageSold_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Method Investment Ownership Percentage Sold</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_EquityMethodInvestmentOwnershipPercentageSold_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest sold (as a percent)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromSaleOfInvestmentProjects" xlink:label="us-gaap_ProceedsFromSaleOfInvestmentProjects" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfInvestmentProjects" xlink:to="us-gaap_ProceedsFromSaleOfInvestmentProjects_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleOfInvestmentProjects_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Sale of Investment Projects</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProceedsFromSaleOfInvestmentProjects_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from sale of membership interest</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CashFlowDistributionPercentage" xlink:label="csiq_CashFlowDistributionPercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CashFlowDistributionPercentage" xlink:to="csiq_CashFlowDistributionPercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CashFlowDistributionPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of cash flow distributions to members.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CashFlowDistributionPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash Flow Distribution Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CashFlowDistributionPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Receipt of future cash flow distributions (as a percent)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestmentOtherThanTemporaryImpairment" xlink:label="us-gaap_EquityMethodInvestmentOtherThanTemporaryImpairment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentOtherThanTemporaryImpairment" xlink:to="us-gaap_EquityMethodInvestmentOtherThanTemporaryImpairment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentOtherThanTemporaryImpairment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Method Investment, Other than Temporary Impairment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquityMethodInvestmentOtherThanTemporaryImpairment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Value wrote down</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity" xlink:label="csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity" xlink:to="csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the number of board members designated by the acquired entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Board Members Designated by the Acquired Entity</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Board members designated</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NumberOfBoardMembers" xlink:label="csiq_NumberOfBoardMembers" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NumberOfBoardMembers" xlink:to="csiq_NumberOfBoardMembers_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NumberOfBoardMembers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the number of board members.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NumberOfBoardMembers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Board Members</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NumberOfBoardMembers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total board members</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireInterestInJointVenture" xlink:label="us-gaap_PaymentsToAcquireInterestInJointVenture" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireInterestInJointVenture" xlink:to="us-gaap_PaymentsToAcquireInterestInJointVenture_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireInterestInJointVenture_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments to Acquire Interest in Joint Venture</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PaymentsToAcquireInterestInJointVenture_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash consideration for acquisition of the interest</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CostMethodInvestmentOwnershipPercentage" xlink:label="csiq_CostMethodInvestmentOwnershipPercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CostMethodInvestmentOwnershipPercentage" xlink:to="csiq_CostMethodInvestmentOwnershipPercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CostMethodInvestmentOwnershipPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The percentage of ownership of common stock or equity participation in the investee accounted for under the cost method of accounting.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CostMethodInvestmentOwnershipPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cost Method Investment Ownership Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CostMethodInvestmentOwnershipPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Voting interest hold (as a percent)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseCostAbstract" xlink:label="us-gaap_LeaseCostAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCostAbstract" xlink:to="us-gaap_LeaseCostAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseCostAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease, Cost [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LeaseCostAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance lease cost:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Right-of-Use Asset, Amortization</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amortization of right-of-use assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseInterestExpense" xlink:to="us-gaap_FinanceLeaseInterestExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseInterestExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Interest Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseInterestExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest on lease liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseCost" xlink:to="us-gaap_OperatingLeaseCost_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Cost</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating lease cost</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermLeaseCost" xlink:to="us-gaap_ShortTermLeaseCost_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermLeaseCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term Lease, Cost</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShortTermLeaseCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short term lease cost</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_LeaseCost_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease, Cost</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LeaseCost_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total lease cost</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseExpense" xlink:to="us-gaap_OperatingLeaseExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating lease expenses</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_FinanceLeaseExpense" xlink:label="csiq_FinanceLeaseExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_FinanceLeaseExpense" xlink:to="csiq_FinanceLeaseExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_FinanceLeaseExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of financing lease expense.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_FinanceLeaseExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_FinanceLeaseExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance lease expenses</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:to="us-gaap_FinanceLeaseInterestPaymentOnLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Interest Payment on Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating cash flows from finance leases</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasePayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Payments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeasePayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating cash flows from operating leases</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PaymentsForFinancingCashFlowsFromFinanceLease" xlink:label="csiq_PaymentsForFinancingCashFlowsFromFinanceLease" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PaymentsForFinancingCashFlowsFromFinanceLease" xlink:to="csiq_PaymentsForFinancingCashFlowsFromFinanceLease_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PaymentsForFinancingCashFlowsFromFinanceLease_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of finance lease payments during the year.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PaymentsForFinancingCashFlowsFromFinanceLease_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments for Financing Cash Flows from Finance Lease</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PaymentsForFinancingCashFlowsFromFinanceLease_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Financing cash flows from finance lease</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Right-of-Use Asset Obtained in Exchange for Operating Lease Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Right-of-use assets obtained in exchange of new finance lease liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Right-of-Use Asset Obtained in Exchange for Finance Lease Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Right-of-use assets obtained in exchange of new operating leases</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Weighted Average Remaining Lease Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average term - finance leases</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Weighted Average Remaining Lease Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average term - operating lease</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Weighted Average Discount Rate, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average discount rate - finance lease</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Weighted Average Discount Rate, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average discount rate - operating lease</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payment, Due [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Maturities of operating leases</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payments, Due Next Twelve Months</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2020</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payments, Due Year Two</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2021</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payments, Due Year Three</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2022</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payments, Due Year Four</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2023</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payments, Due Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2024</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payments, Due after Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Thereafter</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Payments, Due</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total future minimum lease payments</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Leases, Future Minimum Payments Due, Fiscal Year Maturity [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Year Ending December 31:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Leases, Future Minimum Payments Due, Next Twelve Months</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2019</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Leases, Future Minimum Payments, Due in Two Years</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2020</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Leases, Future Minimum Payments, Due in Three Years</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2021</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Leases, Future Minimum Payments, Due in Four Years</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2022</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Leases, Future Minimum Payments, Due in Five Years</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2023</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Leases, Future Minimum Payments, Due Thereafter</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Thereafter</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Leases, Future Minimum Payments Due</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total future minimum lease payments</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract" xlink:label="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease Liabilities, Gross Difference, Amount [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating leases, gross difference</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Less: imputed interest</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Payment, Due [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Maturities of finance leases</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Payments, Due Next Twelve Months</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2020</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Payments, Due Year Two</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2021</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Payments, Due Year Three</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2022</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Payment, Due</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total future minimum lease payments</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeasesFutureMinimumPaymentsDueAbstract" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDueAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalLeasesFutureMinimumPaymentsDueAbstract" xlink:to="us-gaap_CapitalLeasesFutureMinimumPaymentsDueAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Capital Leases, Future Minimum Payments Due, Fiscal Year Maturity [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Year Ending December 31:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeasesFutureMinimumPaymentsDueCurrent" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDueCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalLeasesFutureMinimumPaymentsDueCurrent" xlink:to="us-gaap_CapitalLeasesFutureMinimumPaymentsDueCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDueCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Capital Leases, Future Minimum Payments Due, Next Twelve Months</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDueCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2019</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeasesFutureMinimumPaymentsDueInTwoYears" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInTwoYears" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInTwoYears" xlink:to="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInTwoYears_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInTwoYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Capital Leases, Future Minimum Payments Due in Two Years</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInTwoYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2020</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeasesFutureMinimumPaymentsDueInThreeYears" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInThreeYears" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInThreeYears" xlink:to="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInThreeYears_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInThreeYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Capital Leases, Future Minimum Payments Due in Three Years</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInThreeYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2021</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeasesFutureMinimumPaymentsDueInFourYears" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInFourYears" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInFourYears" xlink:to="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInFourYears_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInFourYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Capital Leases, Future Minimum Payments Due in Four Years</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInFourYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2022</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeasesFutureMinimumPaymentsDue" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalLeasesFutureMinimumPaymentsDue" xlink:to="us-gaap_CapitalLeasesFutureMinimumPaymentsDue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Capital Leases, Future Minimum Payments Due</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total future minimum lease payments</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiabilitiesGrossDifferenceAmountAbstract" xlink:label="us-gaap_FinanceLeaseLiabilitiesGrossDifferenceAmountAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilitiesGrossDifferenceAmountAbstract" xlink:to="us-gaap_FinanceLeaseLiabilitiesGrossDifferenceAmountAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilitiesGrossDifferenceAmountAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease Liabilities, Gross Difference, Amount [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseLiabilitiesGrossDifferenceAmountAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance leases, gross difference</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Undiscounted Excess Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Less: imputed interest</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiability" xlink:to="us-gaap_FinanceLeaseLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">NPV for future minimum lease payments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_FinanceLeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total Finance lease liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments" xlink:to="us-gaap_CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Capital Leases, Future Minimum Payments, Interest Included in Payments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Less: imputed interest</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments" xlink:to="us-gaap_CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Capital Leases, Future Minimum Payments, Present Value of Net Minimum Payments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">NPV for future minimum lease payments</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LesseeLiabilityPaymentsDueNextTwelveMonths" xlink:label="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths" xlink:to="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due Next Twelve Months</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due Next Twelve Months</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2020</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LesseeLiabilityPaymentsDueYearTwo" xlink:label="csiq_LesseeLiabilityPaymentsDueYearTwo" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LesseeLiabilityPaymentsDueYearTwo" xlink:to="csiq_LesseeLiabilityPaymentsDueYearTwo_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LesseeLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due Year Two</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LesseeLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due Year Two</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LesseeLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2021</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LesseeLiabilityPaymentsDueYearThree" xlink:label="csiq_LesseeLiabilityPaymentsDueYearThree" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LesseeLiabilityPaymentsDueYearThree" xlink:to="csiq_LesseeLiabilityPaymentsDueYearThree_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LesseeLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due Year Three</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LesseeLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due Year Three</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LesseeLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2022</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LesseeLiabilityPaymentsDueYearFour" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFour" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LesseeLiabilityPaymentsDueYearFour" xlink:to="csiq_LesseeLiabilityPaymentsDueYearFour_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due Year Four</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due Year Four</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2023</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LesseeLiabilityPaymentsDueYearFive" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFive" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LesseeLiabilityPaymentsDueYearFive" xlink:to="csiq_LesseeLiabilityPaymentsDueYearFive_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2024</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LesseeLiabilityPaymentsDueAfterYearFive" xlink:label="csiq_LesseeLiabilityPaymentsDueAfterYearFive" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LesseeLiabilityPaymentsDueAfterYearFive" xlink:to="csiq_LesseeLiabilityPaymentsDueAfterYearFive_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LesseeLiabilityPaymentsDueAfterYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due after Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LesseeLiabilityPaymentsDueAfterYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due after Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LesseeLiabilityPaymentsDueAfterYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Thereafter</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LesseeLiabilityPaymentsDue" xlink:label="csiq_LesseeLiabilityPaymentsDue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityPaymentsDue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LesseeLiabilityPaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LesseeLiabilityPaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Payments, Due</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="csiq_LesseeLiabilityPaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total future minimum lease payments</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueCurrent" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDueCurrent" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of minimum lease payments for capital leases due in tweleve months</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leases Future Minimum Lease Payments Due Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2019</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of minimum lease payments for capital leases due in the second fiscal year following the latest fiscal year.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leases Future Minimum Lease Payments Due in Two Years</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2020</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of minimum lease payments for capital leases due in the third fiscal year following the latest fiscal year.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leases Future Minimum Lease Payments Due in Three Years</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2021</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of minimum lease payments for capital leases due in the fourth fiscal year following the latest fiscal year</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leases Future Minimum Lease Payments Due in Four Years</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2022</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of minimum lease payments for capital leases due in the fifth fiscal year following the latest fiscal year.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leases Future Minimum Lease Payments Due in Five Years</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2023</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDuethereafter" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDuethereafter" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDuethereafter" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDuethereafter_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDuethereafter_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of minimum lease payments for capital leases due after fifth fiscal year.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDuethereafter_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leases Future Minimum Lease Payments DueThereafter</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDuethereafter_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Thereafter</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of minimum lease payments for leases.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leases Future Minimum Lease Payments Due</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total future minimum lease payments</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LesseeLiabilityUndiscountedExcessAmount" xlink:label="csiq_LesseeLiabilityUndiscountedExcessAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LesseeLiabilityUndiscountedExcessAmount" xlink:to="csiq_LesseeLiabilityUndiscountedExcessAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LesseeLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Undiscounted Excess Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LesseeLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lessee, Liability, Undiscounted Excess Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LesseeLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Less: imputed interest</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeaseLiability" xlink:label="csiq_LeaseLiability" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeaseLiability" xlink:to="csiq_LeaseLiability_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease Liability</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">NPV for future minimum lease payments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="csiq_LeaseLiability_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total lease liabilities</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments" xlink:label="csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments" xlink:to="csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount necessary to reduce net minimum lease payments to present value for leases.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leases, Future Minimum Payments, Interest Included in Payments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Less: imputed interest</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments" xlink:label="csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments" xlink:to="csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Present value of minimum lease payments for leases net of executory costs, including amounts paid by the lessee to the lessor for insurance, maintenance and taxes.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leases, Future Minimum Payments, Present Value of Net Minimum Payments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">NPV for future minimum lease payments</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:label="us-gaap_AssetsAndLiabilitiesLesseeAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:to="us-gaap_AssetsAndLiabilitiesLesseeAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsAndLiabilitiesLesseeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets and Liabilities, Lessee [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetsAndLiabilitiesLesseeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Leases</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeaseLiabilityCurrent" xlink:label="csiq_LeaseLiabilityCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeaseLiabilityCurrent" xlink:to="csiq_LeaseLiabilityCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease Liability, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease Liability, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeaseLiabilityNoncurrent" xlink:label="csiq_LeaseLiabilityNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LeaseLiabilityNoncurrent" xlink:to="csiq_LeaseLiabilityNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease Liability, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lease Liability, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityCurrent" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance lease liabilities, current</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance lease liabilities, noncurrent</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Long-term Debt Instruments [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditFacilityAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Credit Facility [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_CreditFacilityDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditFacilityDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Credit Facility [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CreditFacilityDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Credit Facility [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditMember" xlink:label="us-gaap_LineOfCreditMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditMember" xlink:to="us-gaap_LineOfCreditMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line Of Credit [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Credit facility</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NonBindingLineOfCreditMember" xlink:label="csiq_NonBindingLineOfCreditMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NonBindingLineOfCreditMember" xlink:to="csiq_NonBindingLineOfCreditMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NonBindingLineOfCreditMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents a non-binding contractual arrangement with a lender under which borrowings can be made up to a specific amount at any point in time, and under which borrowings outstanding may be either short-term or long-term, depending upon the particulars.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NonBindingLineOfCreditMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non Binding Line Of Credit [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NonBindingLineOfCreditMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non-binding bank credit facilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">BORROWINGS</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DebtInstrumentLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CONVERTIBLE NOTES</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt, Long-term and Short-term, Combined Amount [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">BANK BORROWINGS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherShortTermBorrowings" xlink:label="us-gaap_OtherShortTermBorrowings" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherShortTermBorrowings" xlink:to="us-gaap_OtherShortTermBorrowings_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherShortTermBorrowings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Short-term Borrowings</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherShortTermBorrowings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Short-term</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtCurrent" xlink:to="us-gaap_LongTermDebtCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Current Maturities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term, current portion</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmount" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmount" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt, Long-term and Short-term, Combined Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line of Credit Facility, Maximum Borrowing Capacity</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Maximum borrowing capacity</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Maximum borrowing capacity</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCredit" xlink:to="us-gaap_LineOfCredit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCredit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line of Credit Facility, Amount Outstanding</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/positiveLabel" xlink:label="us-gaap_LineOfCredit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amounts drawn down</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCredit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Outstanding balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LineOfCredit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount drawn of bank credit facilities granted</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line of Credit Facility, Remaining Borrowing Capacity</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Available amount of credit facilities</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SecuredShortTermDebt" xlink:label="csiq_SecuredShortTermDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SecuredShortTermDebt" xlink:to="csiq_SecuredShortTermDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SecuredShortTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the carrying amount of short-term borrowings secured by assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SecuredShortTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Secured Short Term Debt</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SecuredShortTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Secured short-term borrowings</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SecuredDebtCurrent" xlink:label="us-gaap_SecuredDebtCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SecuredDebtCurrent" xlink:to="us-gaap_SecuredDebtCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SecuredDebtCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Secured Debt, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SecuredDebtCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Secured long-term borrowings, Current</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SecuredLongTermDebt" xlink:label="us-gaap_SecuredLongTermDebt" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SecuredLongTermDebt" xlink:to="us-gaap_SecuredLongTermDebt_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SecuredLongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Secured Long-term Debt, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SecuredLongTermDebt_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Secured long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The carrying amount, as of the date of the latest financial statement presented, of property, plant and equipment, which are owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pledged Assets Not Separately Reported Property, Plant and Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying value of property, plant and equipment that serve as collateral for short-term and long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PledgedAssetsNotSeparatelyReportedInventory" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedInventory" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PledgedAssetsNotSeparatelyReportedInventory" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedInventory_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedInventory_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The carrying amount, as of the date of the latest financial statement presented, of inventory, which are owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedInventory_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pledged Assets Not Separately Reported Inventory</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedInventory_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying value of inventories that serve as collateral for short-term and long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The carrying amount, as of the date of the latest financial statement presented, of prepaid land use right, which are owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pledged Assets Not Separately Reported Prepaid Land Use Right</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying value of prepaid land use rights that serve as collateral for short-term and long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The carrying amount, as of the date of the latest financial statement presented, of restricted cash owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement, and for which the transferee is not permitted to sell or re-pledge them to an unrelated party.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pledged Assets, Not Separately Reported, Restricted Cash</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying value of restricted cash that serve as collateral for short-term and long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The carrying amount as of the date of the latest financial statement presented of accounts receivable which is transferred to serve as collateral for debt obligations, and for which the transferee does not have the right by contract or custom to sell or re-pledge them to an unrelated party.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pledged Assets, Not Separately Reported, Accounts Receivable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying value of accounts receivable that serve as collateral for short-term and long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PledgedEquityNotSeparatelyReported" xlink:label="csiq_PledgedEquityNotSeparatelyReported" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PledgedEquityNotSeparatelyReported" xlink:to="csiq_PledgedEquityNotSeparatelyReported_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PledgedEquityNotSeparatelyReported_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The carrying amount as of the date of the latest financial statement presented of equity which is transferred to serve as collateral for debt obligations, and for which the transferee does not have the right by contract or custom to sell or re-pledge them to an unrelated party.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PledgedEquityNotSeparatelyReported_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pledged Equity, Not Separately Reported</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PledgedEquityNotSeparatelyReported_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying value of equity that serve as collateral for short-term and long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems" xlink:label="csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems" xlink:to="csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The carrying amount, as of the date of the latest financial statement presented, of project assets and solar power systems, which are owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pledged Assets, Project Assets And Solar Power Systems</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carrying value of project assets and solar power systems that serve as collateral for short-term and long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtWeightedAverageInterestRateOverTime" xlink:label="us-gaap_LongTermDebtWeightedAverageInterestRateOverTime" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtWeightedAverageInterestRateOverTime" xlink:to="us-gaap_LongTermDebtWeightedAverageInterestRateOverTime_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtWeightedAverageInterestRateOverTime_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Weighted Average Interest Rate, over Time</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtWeightedAverageInterestRateOverTime_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Average interest rate on long-term borrowings (as a percent)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtByMaturityAbstract" xlink:label="us-gaap_LongTermDebtByMaturityAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtByMaturityAbstract" xlink:to="us-gaap_LongTermDebtByMaturityAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtByMaturityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Fiscal Year Maturity [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtByMaturityAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Future principal repayment on the long-term borrowings loans</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Maturities, Repayments of Principal in Next Twelve Months</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2020</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Maturities, Repayments of Principal in Year Two</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2021</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Maturities, Repayments of Principal in Year Three</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2022</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Maturities, Repayments of Principal in Year Four</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2023</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Maturities, Repayments of Principal in Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2024</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Maturities, Repayments of Principal after Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Thereafter</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LoansPayableCurrent" xlink:label="us-gaap_LoansPayableCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LoansPayableCurrent" xlink:to="us-gaap_LoansPayableCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LoansPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loans Payable, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_LoansPayableCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Less: future principal repayment related to long-term borrowings, current portion</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DebtInstrumentInterestRateFloatingPercentage" xlink:label="csiq_DebtInstrumentInterestRateFloatingPercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DebtInstrumentInterestRateFloatingPercentage" xlink:to="csiq_DebtInstrumentInterestRateFloatingPercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DebtInstrumentInterestRateFloatingPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contractual floating interest rate for funds borrowed, under the debt agreement.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DebtInstrumentInterestRateFloatingPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Interest Rate, Floating Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DebtInstrumentInterestRateFloatingPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Floating interest rate (as a percent)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestCostsIncurredAbstract" xlink:label="us-gaap_InterestCostsIncurredAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestCostsIncurredAbstract" xlink:to="us-gaap_InterestCostsIncurredAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestCostsIncurredAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Costs Incurred [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestCostsIncurredAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest expense</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_InterestCostsCapitalizedProjectAssets" xlink:label="csiq_InterestCostsCapitalizedProjectAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_InterestCostsCapitalizedProjectAssets" xlink:to="csiq_InterestCostsCapitalizedProjectAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_InterestCostsCapitalizedProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of interest costs capitalized for project assets disclosed as an adjusting item to interest costs incurred.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_InterestCostsCapitalizedProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Costs Capitalized Project Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_InterestCostsCapitalizedProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest capitalized - project assets</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_InterestCostsCapitalizedPropertyPlantAndEquipment" xlink:label="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment" xlink:to="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of interest costs capitalized for property, plant, and equipment disclosed as an adjusting item to interest costs incurred.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Costs Capitalized Property, Plant and Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest capitalized - property, plant, and equipment</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestCostsIncurred" xlink:label="us-gaap_InterestCostsIncurred" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestCostsIncurred" xlink:to="us-gaap_InterestCostsIncurred_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestCostsIncurred_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Costs Incurred</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_InterestCostsIncurred_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total interest incurred</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xlink:label="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xlink:to="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Movement in Standard and Extended Product Warranty, Increase (Decrease) [Roll Forward]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ACCRUED WARRANTY COSTS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:label="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:to="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Standard and Extended Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Warranty provision</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductWarrantyAccrualPayments" xlink:label="us-gaap_ProductWarrantyAccrualPayments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrualPayments" xlink:to="us-gaap_ProductWarrantyAccrualPayments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyAccrualPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Product Warranty Accrual, Payments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ProductWarrantyAccrualPayments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Warranty costs incurred</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" xlink:to="us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Product Warranty Accrual, Currency Translation, Increase (Decrease)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign exchange effect</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage" xlink:label="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage" xlink:to="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the minimum percentage of after tax profit required to be appropriated to the general reserve under PRC GAAP.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Minimum Appropriation of after Tax Profit to General Reserve Required Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Minimum percentage of the profit after tax to be appropriated to the general reserve</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xlink:label="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xlink:to="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of Restricted Net Assets for Consolidated and Unconsolidated Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted net assets of the entity's consolidated and unconsolidated subsidiaries not available for distribution</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted net assets</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProceedsFromConvertibleDebtInitialIssuance" xlink:label="csiq_ProceedsFromConvertibleDebtInitialIssuance" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProceedsFromConvertibleDebtInitialIssuance" xlink:to="csiq_ProceedsFromConvertibleDebtInitialIssuance_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProceedsFromConvertibleDebtInitialIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The cash inflow from the initial issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProceedsFromConvertibleDebtInitialIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds From Convertible Debt Initial Issuance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProceedsFromConvertibleDebtInitialIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from initial issuance of convertible notes</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance" xlink:label="csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance" xlink:to="csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The period of option available to initial purchasers of convertible debt instruments for purchase of additional convertible debt instruments, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Convertible Option Period For Additional Issuance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Period of option for additional issuance</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProceedsFromConvertibleDebtAdditionalIssuance" xlink:label="csiq_ProceedsFromConvertibleDebtAdditionalIssuance" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProceedsFromConvertibleDebtAdditionalIssuance" xlink:to="csiq_ProceedsFromConvertibleDebtAdditionalIssuance_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProceedsFromConvertibleDebtAdditionalIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The cash inflow from the additional issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProceedsFromConvertibleDebtAdditionalIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds From Convertible Debt Additional Issuance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProceedsFromConvertibleDebtAdditionalIssuance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from additional issuance of convertible notes</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Interest Rate, Stated Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest rate (as a percent)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionRatio1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:to="us-gaap_DebtInstrumentConvertibleConversionRatio1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentConvertibleConversionRatio1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Convertible, Conversion Ratio</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DebtInstrumentConvertibleConversionRatio1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Conversion rate</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentAnnualPrincipalPayment" xlink:label="us-gaap_DebtInstrumentAnnualPrincipalPayment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentAnnualPrincipalPayment" xlink:to="us-gaap_DebtInstrumentAnnualPrincipalPayment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentAnnualPrincipalPayment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Annual Principal Payment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DebtInstrumentAnnualPrincipalPayment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Conversion rate initial principal amount</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:to="us-gaap_DebtInstrumentConvertibleConversionPrice1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Convertible, Conversion Price</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Conversion price (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Convertible, Threshold Percentage of Stock Price Trigger</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Sales price of common stock as percentage of conversion price for redemption at Company's option</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdTradingDays_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Convertible, Threshold Trading Days</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of trading days that threshold percentage exceeds stock price for trigger of redemption at Company's option</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Convertible, Threshold Consecutive Trading Days</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Period of consecutive trading days that the threshold of trading days must fall within for trigger of redemption at Company's option</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" xlink:label="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" xlink:to="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage price of original principal amount of debt plus accrued interest at which debt can be redeemed by the issuer following occurrence of certain tax related events.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument Convertible Redemption Price Percentage Of Outstanding Principal Amount Plus Accrued Interest Following Occurrence Of Certain Tax Related Events</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Redemption prices as percentage of outstanding principal amount plus accrued and unpaid interest following occurrence of certain tax related events</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredFinanceCostsGross" xlink:label="us-gaap_DeferredFinanceCostsGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFinanceCostsGross" xlink:to="us-gaap_DeferredFinanceCostsGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredFinanceCostsGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Finance Costs, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredFinanceCostsGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unamortized issuance costs</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Instrument, Interest Rate, Effective Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective interest rate (as a percent)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfFinancingCosts" xlink:to="us-gaap_AmortizationOfFinancingCosts_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmortizationOfFinancingCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amortization of Financing Costs</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AmortizationOfFinancingCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amortization of financing costs</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestExpenseDebtExcludingAmortization" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpenseDebtExcludingAmortization" xlink:to="us-gaap_InterestExpenseDebtExcludingAmortization_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Expense, Debt, Excluding Amortization</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest expense</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestPayableCurrentAndNoncurrent" xlink:label="us-gaap_InterestPayableCurrentAndNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPayableCurrentAndNoncurrent" xlink:to="us-gaap_InterestPayableCurrentAndNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestPayableCurrentAndNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestPayableCurrentAndNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued interest</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="us-gaap_IncomeTaxContingencyTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxContingencyTable" xlink:to="us-gaap_IncomeTaxContingencyTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxContingencyTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Contingency [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxAuthorityAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Authority [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_IncomeTaxAuthorityDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxAuthorityDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Authority [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxAuthorityDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Authority [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CA" xlink:label="country_CA" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_CA" xlink:to="country_CA_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_CA_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">C [A]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_CA_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canada</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherJurisdictionsMember" xlink:label="csiq_OtherJurisdictionsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherJurisdictionsMember" xlink:to="csiq_OtherJurisdictionsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherJurisdictionsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to other jurisdictions where the entity has operations.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherJurisdictionsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Jurisdictions [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherJurisdictionsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Others</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="us-gaap_IncomeTaxContingencyLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxContingencyLineItems" xlink:to="us-gaap_IncomeTaxContingencyLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxContingencyLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Contingency [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxContingencyLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income taxes:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Expense (Benefit), Continuing Operations [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Provision for income taxes</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, Noncontrolling Interest [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income before income taxes</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income before income taxes</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current Income Tax Expense (Benefit), Continuing Operations [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current tax</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current Income Tax Expense (Benefit)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Current tax</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Income Tax Expense (Benefit)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Components of Income Tax Expense (Benefit), Continuing Operations [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total income tax expense</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The domestic federal statutory tax rate and provincial corporate income tax rate applicable under enacted tax laws to the Company's pretax income from continuing operations for the period. The "statutory" tax rate is the regular tax rate if there are alternative tax systems.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation at Federal and Provincial Income Tax Rate</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Federal and provincial income tax rate (as a percent)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Combined federal and provincial income tax rate (as a percent)</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncomeTaxesForeignCorporateTaxRate" xlink:label="csiq_IncomeTaxesForeignCorporateTaxRate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncomeTaxesForeignCorporateTaxRate" xlink:to="csiq_IncomeTaxesForeignCorporateTaxRate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncomeTaxesForeignCorporateTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the corporate income tax rate in foreign jurisdiction.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncomeTaxesForeignCorporateTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Taxes Foreign Corporate Tax Rate</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_IncomeTaxesForeignCorporateTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income tax rate (as a percent)</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions" xlink:label="csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions" xlink:to="csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">It represents the reduced Foreign statutory income tax rate on account of tax exemptions.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reduced Foreign Income Tax Rate on Account of Tax Exemptions</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reduced income tax rate from 2020 to 2028 (as a percent)</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption" xlink:label="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption" xlink:to="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The number of board of investment certificates for tax exemption.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Board of Investment Certificates, Tax Exemption</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Board of Investment certificates for tax exemption</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of interest and penalties accrued related to unrecognized tax benefits</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:label="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:to="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Changes to the company's liabilities for uncertain tax positions</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefits" xlink:to="us-gaap_UnrecognizedTaxBenefits_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized Tax Benefits</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ending balance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Beginning balance</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Addition for tax positions related to the current year</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized Tax Benefits Decreases Resulting from Prior Period Tax Positions and or Lapse of Applicable Statute of Limitations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reductions for tax positions from prior years/Statute of limitations expirations</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized Tax Benefits, Increase Resulting from Foreign Currency Translation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign exchange effect</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized Tax Benefits, Decrease Resulting from Foreign Currency Translation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign exchange effect</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:to="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation Allowance Of Deferred Tax Assets [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:to="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Components of Deferred Tax Assets and Liabilities [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Principal components of deferred income tax assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsGrossAbstract" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsGrossAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Gross [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax assets:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Warranty Reserves</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued warranty costs</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Allowance for Doubtful Accounts</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Bad debt allowance</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsInventory" xlink:to="us-gaap_DeferredTaxAssetsInventory_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsInventory_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Inventory</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsInventory_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory write-down</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DeferredTaxAssetsFutureDeductibleExpenses" xlink:label="csiq_DeferredTaxAssetsFutureDeductibleExpenses" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DeferredTaxAssetsFutureDeductibleExpenses" xlink:to="csiq_DeferredTaxAssetsFutureDeductibleExpenses_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DeferredTaxAssetsFutureDeductibleExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount, before allocation of valuation allowances, of deferred tax asset attributable to future deductible expenses.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DeferredTaxAssetsFutureDeductibleExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Future Deductible Expenses</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DeferredTaxAssetsFutureDeductibleExpenses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Future deductible expenses</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Property, Plant and Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation and impairment difference of property, plant and equipment and solar power systems</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accrued liabilities related to antidumping, countervailing and other duty costs and true-up charges</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" xlink:label="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" xlink:to="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from the sale of project assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets Related To Sale Of Project Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax assets relating to sales of solar power systems</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Operating Loss Carryforwards</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net operating losses carry-forward</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:label="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:to="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Unrealized Currency Losses</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrealized foreign exchange loss and capital loss</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DeferredTaxAssetsInterestLimitation" xlink:label="csiq_DeferredTaxAssetsInterestLimitation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DeferredTaxAssetsInterestLimitation" xlink:to="csiq_DeferredTaxAssetsInterestLimitation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DeferredTaxAssetsInterestLimitation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as interest limitation.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DeferredTaxAssetsInterestLimitation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Interest Limitation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DeferredTaxAssetsInterestLimitation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest limitation</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOther" xlink:to="us-gaap_DeferredTaxAssetsOther_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsOther_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Other</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsOther_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Others</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total deferred tax assets, gross</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Valuation Allowance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Valuation allowance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">End of the year</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Beginning of the year</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Net of Valuation Allowance</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total deferred tax assets, net of valuation allowance</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesNetAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities, Net [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred tax liabilities:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:label="us-gaap_DeferredTaxLiabilitiesDerivatives" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:to="us-gaap_DeferredTaxLiabilitiesDerivatives_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesDerivatives_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities, Derivatives</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesDerivatives_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities, Property, Plant and Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Depreciation difference of property, plant and equipment</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DeferredTaxLiabilitiesDeferredProfitOfProjects" xlink:label="csiq_DeferredTaxLiabilitiesDeferredProfitOfProjects" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DeferredTaxLiabilitiesDeferredProfitOfProjects" xlink:to="csiq_DeferredTaxLiabilitiesDeferredProfitOfProjects_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DeferredTaxLiabilitiesDeferredProfitOfProjects_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of deferred tax liability attributable to taxable temporary differences from deferred profit of projects.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DeferredTaxLiabilitiesDeferredProfitOfProjects_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities Deferred Profit Of Projects</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DeferredTaxLiabilitiesDeferredProfitOfProjects_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred profit of projects</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DeferredTaxLiabilitiesInsuranceRecoverable" xlink:label="csiq_DeferredTaxLiabilitiesInsuranceRecoverable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DeferredTaxLiabilitiesInsuranceRecoverable" xlink:to="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of deferred tax liability attributable to taxable temporary differences from insurance recoverable.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities Insurance Recoverable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Insurance recoverable</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" xlink:label="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" xlink:to="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities, Unrealized Currency Transaction Gains</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrealized FX gain</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesOther" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities, Other</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Others</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total deferred tax liabilities</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_DeferredTaxLiabilitiesAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liabilities, Gross [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Analysis as:</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Assets, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net deferred tax assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLossCarryforwards" xlink:to="us-gaap_OperatingLossCarryforwards_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLossCarryforwards_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Loss Carryforwards</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLossCarryforwards_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated net operating losses</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OperatingLossCarryforwardsSubjectToExpiration" xlink:label="csiq_OperatingLossCarryforwardsSubjectToExpiration" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OperatingLossCarryforwardsSubjectToExpiration" xlink:to="csiq_OperatingLossCarryforwardsSubjectToExpiration_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OperatingLossCarryforwardsSubjectToExpiration_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the amount of operating loss carryforwards available to reduce future taxable income, which are subject to expiration dates.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OperatingLossCarryforwardsSubjectToExpiration_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Loss Carryforwards Subject to Expiration</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OperatingLossCarryforwardsSubjectToExpiration_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated net operating losses subject to expiration between 2020 and 2038</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncomeTaxesTable" xlink:label="csiq_IncomeTaxesTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncomeTaxesTable" xlink:to="csiq_IncomeTaxesTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncomeTaxesTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosures pertaining to income taxes.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncomeTaxesTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Taxes [Table]</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncomeTaxesLineItems" xlink:label="csiq_IncomeTaxesLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncomeTaxesLineItems" xlink:to="csiq_IncomeTaxesLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncomeTaxesLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Taxes [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="csiq_IncomeTaxesLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">INCOME TAXES</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Percent [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reconciliation between the provision for income tax computed by applying Canadian federal and provincial statutory tax rates to income before income taxes and the actual provision and benefit for income taxes</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to permanent difference.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Permanent Difference, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of permanent difference (as a percent)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of different tax rate on earnings in other jurisdictions (as a percent)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Tax Holiday, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of tax holiday (as a percent)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Tax Contingency, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized tax provision (as a percent)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Change in valuation allowance (as a percent)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Change in Enacted Tax Rate, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of change in tax rate</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Other Adjustments, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Others (as a percent)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Actual income tax rate (as a percent)</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:label="csiq_IncomeTaxAdditionalDisclosureAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:to="csiq_IncomeTaxAdditionalDisclosureAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncomeTaxAdditionalDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Additional Disclosure [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_IncomeTaxAdditionalDisclosureAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Additional disclosure</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" xlink:label="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" xlink:to="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the withholding tax rate on dividends distributed by foreign investment entities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Withholding Tax Rate on Dividend Distributed by Foreign Investment Entities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Withholding income tax rate on dividends distributed by foreign invested enterprises (as a percent)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:to="us-gaap_UndistributedEarningsOfForeignSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Undistributed Earnings of Foreign Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Undistributed earnings of subsidiaries and affiliates considered to be permanently reinvested</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" xlink:label="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" xlink:to="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the amount of provision for withholding tax on dividends distributed by foreign investment entities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Provision for Withholding Tax on Dividend Distributed by Foreign Investment Entities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Provision for withholding income tax on dividend</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" xlink:to="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Deferred Tax Liability Not Recognized, Amount of Unrecognized Deferred Tax Liability, Undistributed Earnings of Foreign Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unrecognized deferred tax liabilities</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_WithholdingTaxRate" xlink:label="csiq_WithholdingTaxRate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_WithholdingTaxRate" xlink:to="csiq_WithholdingTaxRate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_WithholdingTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the withholding tax rate.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_WithholdingTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Withholding Tax Rate</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_WithholdingTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Withholding tax rate (as a percent)</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PreferentialWithholdingTaxRate" xlink:label="csiq_PreferentialWithholdingTaxRate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PreferentialWithholdingTaxRate" xlink:to="csiq_PreferentialWithholdingTaxRate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PreferentialWithholdingTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the preferential withholding tax rate.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PreferentialWithholdingTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Preferential Withholding Tax Rate</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PreferentialWithholdingTaxRate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Preferential withholding tax rate (as a percent)</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncomeTaxHolidayAbstract" xlink:label="csiq_IncomeTaxHolidayAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncomeTaxHolidayAbstract" xlink:to="csiq_IncomeTaxHolidayAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncomeTaxHolidayAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Holiday [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_IncomeTaxHolidayAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Aggregate amount and per share effect of the tax holiday</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxHolidayAggregateDollarAmount" xlink:label="us-gaap_IncomeTaxHolidayAggregateDollarAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxHolidayAggregateDollarAmount" xlink:to="us-gaap_IncomeTaxHolidayAggregateDollarAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxHolidayAggregateDollarAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Holiday, Aggregate Dollar Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxHolidayAggregateDollarAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The aggregate amount (in dollars)</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" xlink:to="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the basic per share amount effect of the income tax benefit resulting from the income tax holidays granted by taxing jurisdictions.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Holiday Income Tax Benefits Per Share Basic</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Per share effect - basic (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" xlink:to="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the diluted per share amount effect of the income tax benefit resulting from the income tax holidays granted by taxing jurisdictions.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Tax Holiday Income Tax Benefits Per Share Diluted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Per share effect - diluted (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Antidilutive Securities [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Antidilutive Securities Name [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Antidilutive Securities, Name [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_StockOptionsAndRestrictedStockUnitsMember" xlink:label="csiq_StockOptionsAndRestrictedStockUnitsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_StockOptionsAndRestrictedStockUnitsMember" xlink:to="csiq_StockOptionsAndRestrictedStockUnitsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_StockOptionsAndRestrictedStockUnitsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the share options and restricted share units.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_StockOptionsAndRestrictedStockUnitsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Options And Restricted Stock Units [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_StockOptionsAndRestrictedStockUnitsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share options and RSUs</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Anti-dilutive shares excluded from the computation of diluted earnings per share</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:label="us-gaap_EarningsPerShareBasicAndDilutedAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:to="us-gaap_EarningsPerShareBasicAndDilutedAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasicAndDilutedAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Earnings Per Share, Basic and Diluted [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareBasicAndDilutedAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Computation of basic and diluted gain (loss) per share</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" xlink:label="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" xlink:to="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dilutive Securities, Effect on Basic Earnings Per Share, Dilutive Convertible Securities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dilutive effect of interest expense of convertible notes</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:to="us-gaap_NetIncomeLossAttributableToParentDiluted_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net Income (Loss) Attributable to Parent, Diluted</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net income attributable to Canadian Solar Inc. - diluted</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Diluted effects of share number from share options and RSUs</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" xlink:label="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" xlink:to="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Incremental Common Shares Attributable to Dilutive Effect of Conversion of Debt Securities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dilutive effects of share number from convertible notes</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Anti-dilutive shares excluded from the computation of diluted earnings per share, total</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Related Party Transactions, by Related Party [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="us-gaap_RelatedPartyTransactionLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_RelatedPartyTransactionLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Related Party Transaction [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RelatedPartyTransactionLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RELATED PARTY BALANCES AND TRANSACTIONS</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableRelatedParties" xlink:label="us-gaap_AccountsReceivableRelatedParties" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableRelatedParties" xlink:to="us-gaap_AccountsReceivableRelatedParties_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableRelatedParties_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts Receivable, Related Parties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableRelatedParties_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Trade receivable from affiliate</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CashReceivableRelatedPartiesCurrent" xlink:label="csiq_CashReceivableRelatedPartiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CashReceivableRelatedPartiesCurrent" xlink:to="csiq_CashReceivableRelatedPartiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CashReceivableRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amounts due from parties associated with the reporting entity as cash funded, due within 1 year (or 1 business cycle).</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CashReceivableRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash Receivable, Related Parties, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CashReceivableRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash funding from affiliate</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableRelatedPartiesCurrent" xlink:label="us-gaap_AccountsReceivableRelatedPartiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableRelatedPartiesCurrent" xlink:to="us-gaap_AccountsReceivableRelatedPartiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts Receivable, Related Parties, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Receivables from affiliate</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableRelatedPartiesCurrentAndNoncurrent" xlink:label="us-gaap_AccountsPayableRelatedPartiesCurrentAndNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableRelatedPartiesCurrentAndNoncurrent" xlink:to="us-gaap_AccountsPayableRelatedPartiesCurrentAndNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableRelatedPartiesCurrentAndNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts Payable, Related Parties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsPayableRelatedPartiesCurrentAndNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Trade payable to affiliate</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EquipmentPurchasesPayableRelatedPartiesCurrent" xlink:label="csiq_EquipmentPurchasesPayableRelatedPartiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EquipmentPurchasesPayableRelatedPartiesCurrent" xlink:to="csiq_EquipmentPurchasesPayableRelatedPartiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EquipmentPurchasesPayableRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount for equipment purchases payable to related parties. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EquipmentPurchasesPayableRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equipment Purchases payable, Related Parties, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_EquipmentPurchasesPayableRelatedPartiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payable for equipment purchase</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LineOfCreditFacilityMaturityTerm" xlink:label="csiq_LineOfCreditFacilityMaturityTerm" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LineOfCreditFacilityMaturityTerm" xlink:to="csiq_LineOfCreditFacilityMaturityTerm_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LineOfCreditFacilityMaturityTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the maturity period of credit facility.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LineOfCreditFacilityMaturityTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line of Credit Facility Maturity Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LineOfCreditFacilityMaturityTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Maturity term of credit facility</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shares granted to employees</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Granted (in shares)</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold" xlink:label="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold" xlink:to="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The number of interests in solar power plants sold during the year.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets Held-for-sale, Number of Solar Power Plants Sold</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of solar power plants sold</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PurchaseOfUnitsPercentage" xlink:label="csiq_PurchaseOfUnitsPercentage" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PurchaseOfUnitsPercentage" xlink:to="csiq_PurchaseOfUnitsPercentage_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PurchaseOfUnitsPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the percentage of units purchased.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PurchaseOfUnitsPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Of Units Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PurchaseOfUnitsPercentage_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percent of units purchased</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ServiceRevenueFromRelatedParty" xlink:label="csiq_ServiceRevenueFromRelatedParty" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ServiceRevenueFromRelatedParty" xlink:to="csiq_ServiceRevenueFromRelatedParty_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ServiceRevenueFromRelatedParty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of revenue from providing services earned from transactions between (a) a parent company and its subsidiaries; (b) subsidiaries of a common parent; (c) an entity and trusts for the benefit of employees, for example, but not limited to, pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; (d) an entity and its principal, owners, management, or members of their immediate families; and (e) affiliates.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ServiceRevenueFromRelatedParty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Service Revenue from Related Party</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ServiceRevenueFromRelatedParty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue from providing development services</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" xlink:label="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" xlink:to="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Related Party Transaction, Purchases from Related Party</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase from related party</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" xlink:label="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" xlink:to="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Sale of Stock, Percentage of Ownership after Transaction</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of ownership after sale transaction</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostsAndExpensesRelatedParty" xlink:label="us-gaap_CostsAndExpensesRelatedParty" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostsAndExpensesRelatedParty" xlink:to="us-gaap_CostsAndExpensesRelatedParty_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostsAndExpensesRelatedParty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Costs and Expenses, Related Party</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CostsAndExpensesRelatedParty_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase cost incurred from related party</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Commitment, Excluding Long-term Commitment [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Commitment, Excluding Long-term Commitment [Line Items]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xlink:label="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xlink:to="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Commitment, Remaining Minimum Amount Committed</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Commitments</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseObligationDueInNextTwelveMonths" xlink:label="us-gaap_PurchaseObligationDueInNextTwelveMonths" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseObligationDueInNextTwelveMonths" xlink:to="us-gaap_PurchaseObligationDueInNextTwelveMonths_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseObligationDueInNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Obligation, Due in Next Twelve Months</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PurchaseObligationDueInNextTwelveMonths_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2020</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseObligationDueInSecondYear" xlink:label="us-gaap_PurchaseObligationDueInSecondYear" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseObligationDueInSecondYear" xlink:to="us-gaap_PurchaseObligationDueInSecondYear_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseObligationDueInSecondYear_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Obligation, Due in Second Year</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PurchaseObligationDueInSecondYear_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2021</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseObligation" xlink:label="us-gaap_PurchaseObligation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseObligation" xlink:to="us-gaap_PurchaseObligation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseObligation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Obligation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_PurchaseObligation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingenciesTable" xlink:label="us-gaap_LossContingenciesTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingenciesTable" xlink:to="us-gaap_LossContingenciesTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingenciesTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss Contingencies [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_LitigationCaseAxis" xlink:to="srt_LitigationCaseAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_LitigationCaseAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Litigation Case [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="srt_LitigationCaseTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_LitigationCaseTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Litigation Case Type [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_LitigationCaseTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Litigation Case [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ClassActionLawsuitsFiledInNewYorkMember" xlink:label="csiq_ClassActionLawsuitsFiledInNewYorkMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ClassActionLawsuitsFiledInNewYorkMember" xlink:to="csiq_ClassActionLawsuitsFiledInNewYorkMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ClassActionLawsuitsFiledInNewYorkMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to class action lawsuits filed in New York.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ClassActionLawsuitsFiledInNewYorkMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Class Action Lawsuits Filed In New York [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ClassActionLawsuitsFiledInNewYorkMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Class Action Lawsuits Filed in New York</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_USCountervailingAndAntiDumpingDutiesMember" xlink:label="csiq_USCountervailingAndAntiDumpingDutiesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_USCountervailingAndAntiDumpingDutiesMember" xlink:to="csiq_USCountervailingAndAntiDumpingDutiesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_USCountervailingAndAntiDumpingDutiesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to US countervailing and anti-dumping duties.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_USCountervailingAndAntiDumpingDutiesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">U S Countervailing And Anti Dumping Duties [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_USCountervailingAndAntiDumpingDutiesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Countervailing and anti-dumping duties investigation</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_FirstAdministrativeReviewOfSolarTwoMember" xlink:label="csiq_FirstAdministrativeReviewOfSolarTwoMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_FirstAdministrativeReviewOfSolarTwoMember" xlink:to="csiq_FirstAdministrativeReviewOfSolarTwoMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_FirstAdministrativeReviewOfSolarTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to first administrative review of Solar 2 by U.S. Department of Commerce.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_FirstAdministrativeReviewOfSolarTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">First Administrative Review Of Solar Two [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_FirstAdministrativeReviewOfSolarTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">First Administrative Review of Solar 2</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingenciesLineItems" xlink:label="us-gaap_LossContingenciesLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="us-gaap_LossContingenciesLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingenciesLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss Contingencies [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LossContingenciesLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contingencies</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NumberOfSubpoenasReceived" xlink:label="csiq_NumberOfSubpoenasReceived" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NumberOfSubpoenasReceived" xlink:to="csiq_NumberOfSubpoenasReceived_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NumberOfSubpoenasReceived_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the number of subpoenas received during the period.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NumberOfSubpoenasReceived_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Subpoenas Received</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NumberOfSubpoenasReceived_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of subpoenas</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingencyNewClaimsFiledNumber" xlink:label="us-gaap_LossContingencyNewClaimsFiledNumber" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LossContingencyNewClaimsFiledNumber" xlink:to="us-gaap_LossContingencyNewClaimsFiledNumber_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LossContingencyNewClaimsFiledNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss Contingency, New Claims Filed, Number</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LossContingencyNewClaimsFiledNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of lawsuits filed</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PeriodOfSunsetReviews" xlink:label="csiq_PeriodOfSunsetReviews" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PeriodOfSunsetReviews" xlink:to="csiq_PeriodOfSunsetReviews_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PeriodOfSunsetReviews_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Period covered by the sunset reviews conducted by USDOC and USITC, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PeriodOfSunsetReviews_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Period of Sunset Reviews</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PeriodOfSunsetReviews_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Period of sunset reviews</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LossContingencyProvisionReversed" xlink:label="csiq_LossContingencyProvisionReversed" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LossContingencyProvisionReversed" xlink:to="csiq_LossContingencyProvisionReversed_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LossContingencyProvisionReversed_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the amount of provision for loss contingency reversed.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LossContingencyProvisionReversed_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss Contingency Provision Reversed</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LossContingencyProvisionReversed_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of provision reversed</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Segment Reporting Information, by Segment [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_StatementBusinessSegmentsAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementBusinessSegmentsAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segments [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentDomain" xlink:to="us-gaap_SegmentDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segment [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SegmentDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segments [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ModuleSegmentMember" xlink:label="csiq_ModuleSegmentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ModuleSegmentMember" xlink:to="csiq_ModuleSegmentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ModuleSegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Module segment.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ModuleSegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Module Segment [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ModuleSegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">MSS</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EnergySegmentMember" xlink:label="csiq_EnergySegmentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EnergySegmentMember" xlink:to="csiq_EnergySegmentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EnergySegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the Energy segment.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EnergySegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Energy Segment [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_EnergySegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Energy</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_SegmentReportingInformationLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingInformationLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segment Reporting Information [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SegmentReportingInformationLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SEGMENT INFORMATION</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfReportableSegments" xlink:to="us-gaap_NumberOfReportableSegments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NumberOfReportableSegments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Reportable Segments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NumberOfReportableSegments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of principal reportable business segments</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingInformationProfitLossAbstract" xlink:label="us-gaap_SegmentReportingInformationProfitLossAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract" xlink:to="us-gaap_SegmentReportingInformationProfitLossAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingInformationProfitLossAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segment Reporting Information, Profit (Loss) [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SegmentReportingInformationProfitLossAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenues and gross profit generated from each segment</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Revenues from External Customers and Long-Lived Assets [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenues from External Customers and Long-Lived Assets [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenues generated by geographic location of customers' headquarter</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncurrentAssets" xlink:to="us-gaap_NoncurrentAssets_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncurrentAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-Lived Assets</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NoncurrentAssets_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total long-lived assets</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue from External Customers by Products and Services [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ProductOrServiceAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Products and Services [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductsAndServicesDomain" xlink:to="srt_ProductsAndServicesDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ProductsAndServicesDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Products And Services [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_ProductsAndServicesDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Products and Services [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarModulesAndOtherSolarPowerProductsMember" xlink:label="csiq_SolarModulesAndOtherSolarPowerProductsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarModulesAndOtherSolarPowerProductsMember" xlink:to="csiq_SolarModulesAndOtherSolarPowerProductsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarModulesAndOtherSolarPowerProductsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the solar modules and other solar power products of the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarModulesAndOtherSolarPowerProductsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar Modules And Other Solar Power Products [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SolarModulesAndOtherSolarPowerProductsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar modules and other solar power products</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarSystemKitsProductMember" xlink:label="csiq_SolarSystemKitsProductMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarSystemKitsProductMember" xlink:to="csiq_SolarSystemKitsProductMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarSystemKitsProductMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the solar system kits, the product of the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarSystemKitsProductMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar System Kits Product [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SolarSystemKitsProductMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar system kits</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarPowerProjectsConstructionAndSaleMember" xlink:label="csiq_SolarPowerProjectsConstructionAndSaleMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarPowerProjectsConstructionAndSaleMember" xlink:to="csiq_SolarPowerProjectsConstructionAndSaleMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarPowerProjectsConstructionAndSaleMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the solar power projects construction and sale, the product of the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarPowerProjectsConstructionAndSaleMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar Power Projects Construction And Sale [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SolarPowerProjectsConstructionAndSaleMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar power projects</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EPCServiceProductMember" xlink:label="csiq_EPCServiceProductMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EPCServiceProductMember" xlink:to="csiq_EPCServiceProductMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EPCServiceProductMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to services relating to EPC.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EPCServiceProductMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">E P C Service Product [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_EPCServiceProductMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">EPC services</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ElectricityIncomeMember" xlink:label="csiq_ElectricityIncomeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ElectricityIncomeMember" xlink:to="csiq_ElectricityIncomeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ElectricityIncomeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to electricity income, a product or service of the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ElectricityIncomeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Electricity Income [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ElectricityIncomeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Electricity</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OAndMServicesProductMember" xlink:label="csiq_OAndMServicesProductMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OAndMServicesProductMember" xlink:to="csiq_OAndMServicesProductMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OAndMServicesProductMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to services relating to O&amp;M.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OAndMServicesProductMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">O And M Services Product [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OAndMServicesProductMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">O&amp;M services</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherProductMaterialsMember" xlink:label="csiq_OtherProductMaterialsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherProductMaterialsMember" xlink:to="csiq_OtherProductMaterialsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherProductMaterialsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the other products (materials) of the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherProductMaterialsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Product Materials [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherProductMaterialsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Others ( materials)</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherProductEpcAndDevelopmentServicesMember" xlink:label="csiq_OtherProductEpcAndDevelopmentServicesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherProductEpcAndDevelopmentServicesMember" xlink:to="csiq_OtherProductEpcAndDevelopmentServicesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherProductEpcAndDevelopmentServicesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the other products (EPC and development services) of the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherProductEpcAndDevelopmentServicesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Product Epc And Development Services [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherProductEpcAndDevelopmentServicesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Others (EPC and development services)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue from External Customer [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenues generated from each product</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk Benchmark [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk Benchmark [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk Benchmark [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Sales Revenue Net [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net revenue</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts Receivable [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_ConcentrationRiskTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk Type [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk Type [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer Concentration Risk [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer concentration risk</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditConcentrationRiskMember" xlink:label="us-gaap_CreditConcentrationRiskMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditConcentrationRiskMember" xlink:to="us-gaap_CreditConcentrationRiskMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditConcentrationRiskMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Credit Concentration Risk [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CreditConcentrationRiskMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable balances</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MajorCustomersAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="srt_NameOfMajorCustomerDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_NameOfMajorCustomerDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Name Of Major Customer [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_NameOfMajorCustomerDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CompanyAMember" xlink:label="csiq_CompanyAMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CompanyAMember" xlink:to="csiq_CompanyAMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CompanyAMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the company A that accounts for 10 percent or more of the entity's revenues.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CompanyAMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Company A [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CompanyAMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Company A</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CustomerOneMember" xlink:label="csiq_CustomerOneMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CustomerOneMember" xlink:to="csiq_CustomerOneMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CustomerOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the customer one, which has the largest accounts receivable balance.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CustomerOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer One [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CustomerOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer one</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CustomerTwoMember" xlink:label="csiq_CustomerTwoMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CustomerTwoMember" xlink:to="csiq_CustomerTwoMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CustomerTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the customer two, which has the largest accounts receivable balance.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CustomerTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer Two [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CustomerTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer two</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CustomerThreeMember" xlink:label="csiq_CustomerThreeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CustomerThreeMember" xlink:to="csiq_CustomerThreeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CustomerThreeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the customer three, which has the largest accounts receivable balance.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CustomerThreeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer Three [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CustomerThreeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer three</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:label="us-gaap_EntityWideRevenueMajorCustomerLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:to="us-gaap_EntityWideRevenueMajorCustomerLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EntityWideRevenueMajorCustomerLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Major Customer [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EntityWideRevenueMajorCustomerLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Major Customers</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Revenues_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenues</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Revenues_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total net revenues</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NumberOfCustomers" xlink:label="csiq_NumberOfCustomers" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NumberOfCustomers" xlink:to="csiq_NumberOfCustomers_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NumberOfCustomers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the number of major customers.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NumberOfCustomers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Customers</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NumberOfCustomers_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of customers with the largest receivable balances</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration Risk, Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Concentration risk (as a percent)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableNet" xlink:label="us-gaap_AccountsReceivableNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNet" xlink:to="us-gaap_AccountsReceivableNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts Receivable, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts receivable</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Employer's contribution (as a percent)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DefinedContributionPlanCostRecognized" xlink:label="us-gaap_DefinedContributionPlanCostRecognized" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanCostRecognized" xlink:to="us-gaap_DefinedContributionPlanCostRecognized_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedContributionPlanCostRecognized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Defined Contribution Plan, Cost Recognized</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DefinedContributionPlanCostRecognized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Defined contributions schemes expense</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the percentage of employees' applicable salaries for which the employer contributes to the medical insurance benefits of a defined contribution plan.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Defined Contribution Plan Employer Contribution as Percentage of Applicable Salaries for Medical Insurance Benefits</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of applicable salaries contributed by the employer for medical insurance benefits</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the percentage of employees' applicable salaries for which the employer contributes to the housing funds of a defined contribution plan.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Defined Contribution Plan Employer Contribution as Percentage of Applicable Salaries for Housing Funds</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of applicable salaries contributed by the employer for housing funds</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the percentage of employees' applicable salaries for which the employer contributes to the unemployment benefits of a defined contribution plan.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Defined Contribution Plan Employer Contribution as Percentage of Applicable Salaries for Unemployment Benefits</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of applicable salaries contributed by the employer for unemployment benefits</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the percentage of employees' applicable salaries for which the employer contributes to the other statutory benefits of a defined contribution plan.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Defined Contribution Plan Employer Contribution as Percentage of Applicable Salaries for Other Statutory Benefits</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of applicable salaries contributed by the employer for other statutory benefits</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DefinedContributionPlanEmployerContributionAmount" xlink:label="csiq_DefinedContributionPlanEmployerContributionAmount" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DefinedContributionPlanEmployerContributionAmount" xlink:to="csiq_DefinedContributionPlanEmployerContributionAmount_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DefinedContributionPlanEmployerContributionAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the amount of contributions made by an employer to the medical insurance benefits, housing funds, unemployment and other statutory benefits of a defined contribution plan.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DefinedContributionPlanEmployerContributionAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Defined Contribution Plan Employer Contribution Amount</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DefinedContributionPlanEmployerContributionAmount_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of contribution by the employer for medical insurance benefits, housing funds, unemployment and other statutory benefits</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AwardTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Award Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share Based Compensation Arrangements By Share Based Payment Award Award Type And Plan Name [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Award [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOptionMember" xlink:to="us-gaap_EmployeeStockOptionMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeStockOptionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Employee Stock Option [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeStockOptionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Options</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SHARE-BASED COMPENSATION</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Maximum aggregate number of shares to be issued</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" xlink:to="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the annual percentage increase in authorized shares on the first business day of each of 2007, 2008 and 2009 prior to the year of amendment for awards other than incentive option shares.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Annual Percentage Increase in Authorized Shares on First Day of Each of Three Years Prior to Year of Amendment for Awards Other than Incentive Option Shares</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Annual percentage increase in authorized shares on the first day of each of 2007, 2008 and 2009 prior to the year of amendment for awards other than incentive option shares</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" xlink:to="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the annual percentage increase in authorized shares on the first business day of each calendar year from the year of amendment for awards other than incentive option shares.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Annual Percentage Increase in Authorized Shares on First Day of Each of Calendar Year from Year of Amendment for Awards Other than Incentive Option Shares</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Annual percentage increase in authorized shares on the first day of each calendar year from the year of amendment for awards other than incentive option shares</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the number of awards that may be granted under the share incentive plan after the expiration date of May 8, 2021.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share Based Compensation Arrangement by Share Based Payment Award Options Grants after Expiration of Specified Date</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of shares to be granted after expiration</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the expiry term of share options from the date of grant, granted under the share incentive plan.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share Based Compensation Arrangement by Share Based Payment Award, Plan Expiration Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Expiry term of share options</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Exercised (in dollars per share)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average exercise price of shares exercised (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total intrinsic value of options exercised</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total intrinsic value of options exercised (in dollars)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Options outstanding at the end of the period (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Options outstanding at the beginning of the period (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Options outstanding</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Options outstanding at the end of the period (in dollars per share)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Options outstanding at the beginning of the period (in dollars per share)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average exercise price of options outstanding (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Options outstanding at the end of the period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted average remaining contract terms of options outstanding (in years)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Options outstanding at the end of the period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Intrinsic value of outstanding options (in dollars)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Options to Employees</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allocated Share-based Compensation Expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recognized compensation expense</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total recognized compensation cost</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Options</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted Average Exercise Price</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardWeightedAverageRemainingContractualTermAbstract" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardWeightedAverageRemainingContractualTermAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardWeightedAverageRemainingContractualTermAbstract" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardWeightedAverageRemainingContractualTermAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardWeightedAverageRemainingContractualTermAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share Based Compensation Arrangement by Share Based Payment Award, Weighted Average Remaining Contractual Term [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardWeightedAverageRemainingContractualTermAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted Average Remaining Contract Terms</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardAggregateIntrinsicValueAbstract" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardAggregateIntrinsicValueAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardAggregateIntrinsicValueAbstract" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardAggregateIntrinsicValueAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardAggregateIntrinsicValueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share Based Compensation Arrangement by Share Based Payment Award, Aggregate Intrinsic Value [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardAggregateIntrinsicValueAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Aggregate Intrinsic Value</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted Stock Units R S U [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RSUs</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Vesting period</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" xlink:label="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" xlink:to="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total compensation cost of unvested share-based awards, other than options, awarded to employees as compensation.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Employee Service Share-based Compensation, Nonvested Awards, Total Compensation Costs, Share-based Awards Other than Options</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total compensation cost at the date of grant</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Share-based Awards Other than Options</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total unrecognized share-based compensation costs</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted-average period of recognition of compensation expense</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Shares</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unvested at the end of the period (in shares)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unvested at the beginning of the period (in shares)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Vested (in shares)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Forfeited (in shares)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Weighted Average Grant-Date Fair Value</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unvested at the end of the period (in dollars per share)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unvested at the beginning of the period (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Granted (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Vested (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Forfeited (in dollars per share)</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Total fair value of shares vested</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTable" xlink:label="us-gaap_SubsequentEventTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTable" xlink:to="us-gaap_SubsequentEventTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsequent Event [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsequent Event Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsequent Event Type [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SubsequentEventTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsequent Event Type [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventMember" xlink:to="us-gaap_SubsequentEventMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsequent Event [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SubsequentEventMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsequent event</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventLineItems" xlink:label="us-gaap_SubsequentEventLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_SubsequentEventLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsequent Event [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SubsequentEventLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">SUBSEQUENT EVENTS</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xlink:label="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xlink:to="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the threshold percentage of restricted net assets of the entity's consolidated and unconsolidated subsidiaries.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Threshold Percentage of Restricted Net Assets for Consolidated and Unconsolidated Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Threshold percentage of restricted net assets of the entity's consolidated and unconsolidated subsidiaries</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Condensed Financial Statements [Table]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="srt_CondensedFinancialStatementsCaptionsLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Condensed Financial Statements, Captions [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Condensed Financial Statements</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalents" xlink:label="us-gaap_RestrictedCashAndCashEquivalents" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCashAndCashEquivalents" xlink:to="us-gaap_RestrictedCashAndCashEquivalents_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedCashAndCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted Cash and Cash Equivalents</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RestrictedCashAndCashEquivalents_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Restricted cash</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_InvestmentInSubsidiaries" xlink:label="csiq_InvestmentInSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_InvestmentInSubsidiaries" xlink:to="csiq_InvestmentInSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_InvestmentInSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of investment in subsidiaries.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_InvestmentInSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investment In Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_InvestmentInSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investments in subsidiaries</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_InvestmentInAffiliates" xlink:label="csiq_InvestmentInAffiliates" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_InvestmentInAffiliates" xlink:to="csiq_InvestmentInAffiliates_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_InvestmentInAffiliates_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of investment in affiliates.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_InvestmentInAffiliates_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investments in Affiliates</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockValue" xlink:to="us-gaap_TreasuryStockValue_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock, Value</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockValue_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury stock</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EquityIncomeLossFromSubsidiaries" xlink:label="csiq_EquityIncomeLossFromSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EquityIncomeLossFromSubsidiaries" xlink:to="csiq_EquityIncomeLossFromSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EquityIncomeLossFromSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">This item represents the entity's proportionate share for the period of the net income (loss) of its subsidiaries to which the equity method of accounting is applied.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EquityIncomeLossFromSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Income (Loss) from Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="csiq_EquityIncomeLossFromSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity in earnings of subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_EquityIncomeLossFromSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity in earnings of subsidiaries</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainOrLossOnSaleOfStockInSubsidiary" xlink:label="us-gaap_GainOrLossOnSaleOfStockInSubsidiary" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainOrLossOnSaleOfStockInSubsidiary" xlink:to="us-gaap_GainOrLossOnSaleOfStockInSubsidiary_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainOrLossOnSaleOfStockInSubsidiary_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (Loss) on Disposition of Stock in Subsidiary</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GainOrLossOnSaleOfStockInSubsidiary_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loss on disposal of subsidiaries</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PaymentsToAcquireSubsidiaries" xlink:label="csiq_PaymentsToAcquireSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PaymentsToAcquireSubsidiaries" xlink:to="csiq_PaymentsToAcquireSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PaymentsToAcquireSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of Payments to Acquire Subsidiaries.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PaymentsToAcquireSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments to Acquire Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_PaymentsToAcquireSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investment in subsidiaries</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PaymentsToAcquireAffiliates" xlink:label="csiq_PaymentsToAcquireAffiliates" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PaymentsToAcquireAffiliates" xlink:to="csiq_PaymentsToAcquireAffiliates_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PaymentsToAcquireAffiliates_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of payments to acquire affiliates.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PaymentsToAcquireAffiliates_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments to Acquire Affiliates</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_PaymentsToAcquireAffiliates_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investments in affiliates</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" xlink:label="us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" xlink:to="us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from Divestiture of Interest in Consolidated Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from disposal of subsidiaries</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments to Acquire Property, Plant, and Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase of property, plant and equipment</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PaymentsForProceedsFromLoansToSubsidiaries" xlink:label="csiq_PaymentsForProceedsFromLoansToSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PaymentsForProceedsFromLoansToSubsidiaries" xlink:to="csiq_PaymentsForProceedsFromLoansToSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PaymentsForProceedsFromLoansToSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The net amount paid or received by the reporting entity associated with the loans to subsidiaries.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PaymentsForProceedsFromLoansToSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments for (Proceeds from) Loans to Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_PaymentsForProceedsFromLoansToSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Funding of loans to subsidiaries</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentOfNotesReceivableFromRelatedParties" xlink:label="us-gaap_RepaymentOfNotesReceivableFromRelatedParties" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentOfNotesReceivableFromRelatedParties" xlink:to="us-gaap_RepaymentOfNotesReceivableFromRelatedParties_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentOfNotesReceivableFromRelatedParties_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayment of Notes Receivable from Related Parties</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RepaymentOfNotesReceivableFromRelatedParties_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayment of loans from subsidiaries</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromRepaymentsOfNotesPayable" xlink:label="us-gaap_ProceedsFromRepaymentsOfNotesPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromRepaymentsOfNotesPayable" xlink:to="us-gaap_ProceedsFromRepaymentsOfNotesPayable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromRepaymentsOfNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from (Repayments of) Notes Payable</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromRepaymentsOfNotesPayable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from long-term borrowings</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsForRepurchaseOfConvertiblePreferredStock" xlink:label="us-gaap_PaymentsForRepurchaseOfConvertiblePreferredStock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRepurchaseOfConvertiblePreferredStock" xlink:to="us-gaap_PaymentsForRepurchaseOfConvertiblePreferredStock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsForRepurchaseOfConvertiblePreferredStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments for Repurchase of Convertible Preferred Stock</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsForRepurchaseOfConvertiblePreferredStock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments for repurchase of treasury stock</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesTable" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesTable" xlink:to="us-gaap_InvestmentsInAndAdvancesToAffiliatesTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investments in and Advances to Affiliates [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LegalEntityAxis" xlink:to="dei_LegalEntityAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LegalEntityAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Legal Entity [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityDomain" xlink:to="dei_EntityDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="dei_EntityDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CSISolartronicsChangshuCoLtdMember" xlink:label="csiq_CSISolartronicsChangshuCoLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CSISolartronicsChangshuCoLtdMember" xlink:to="csiq_CSISolartronicsChangshuCoLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CSISolartronicsChangshuCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to CSI Solartronics (Changshu) Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CSISolartronicsChangshuCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">C S I Solartronics Changshu Co Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CSISolartronicsChangshuCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Solartronics (Changshu) Co., Ltd</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CSISolarTechnologiesIncMember" xlink:label="csiq_CSISolarTechnologiesIncMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CSISolarTechnologiesIncMember" xlink:to="csiq_CSISolarTechnologiesIncMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CSISolarTechnologiesIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to CSI Solar Technologies Inc.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CSISolarTechnologiesIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">C S I Solar Technologies Inc [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CSISolarTechnologiesIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Solar Technologies Inc.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiNewEnergyHoldingCo.LtdMember" xlink:label="csiq_CsiNewEnergyHoldingCo.LtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CsiNewEnergyHoldingCo.LtdMember" xlink:to="csiq_CsiNewEnergyHoldingCo.LtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CsiNewEnergyHoldingCo.LtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to CSI New Energy Holding Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiNewEnergyHoldingCo.LtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Csi New Energy Holding Co. Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CsiNewEnergyHoldingCo.LtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI New Energy Holding Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarManufacturingLuoyangIncMember" xlink:label="csiq_CanadianSolarManufacturingLuoyangIncMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarManufacturingLuoyangIncMember" xlink:to="csiq_CanadianSolarManufacturingLuoyangIncMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarManufacturingLuoyangIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Manufacturing (Luoyang) Inc.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarManufacturingLuoyangIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Manufacturing Luoyang Inc [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarManufacturingLuoyangIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Manufacturing (Luoyang) Inc.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarManufacturingChangshuInc.Member" xlink:label="csiq_CanadianSolarManufacturingChangshuInc.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarManufacturingChangshuInc.Member" xlink:to="csiq_CanadianSolarManufacturingChangshuInc.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarManufacturingChangshuInc.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Manufacturing (Changshu) Inc.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarManufacturingChangshuInc.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Manufacturing Changshu Inc. [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarManufacturingChangshuInc.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Manufacturing (Changshu) Inc.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiCellsCo.Ltd.Member" xlink:label="csiq_CsiCellsCo.Ltd.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CsiCellsCo.Ltd.Member" xlink:to="csiq_CsiCellsCo.Ltd.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CsiCellsCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to CSI Cells Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiCellsCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Csi Cells Co. Ltd. [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CsiCellsCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Cells Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarUSAIncMember" xlink:label="csiq_CanadianSolarUSAIncMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarUSAIncMember" xlink:to="csiq_CanadianSolarUSAIncMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarUSAIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar (USA) Inc.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarUSAIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar U S A Inc [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarUSAIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar (USA) Inc.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarJapanKKMember" xlink:label="csiq_CanadianSolarJapanKKMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarJapanKKMember" xlink:to="csiq_CanadianSolarJapanKKMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarJapanKKMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Japan K.K.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarJapanKKMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Japan K K [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarJapanKKMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Japan K.K.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarSolutionsIncMember" xlink:label="csiq_CanadianSolarSolutionsIncMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarSolutionsIncMember" xlink:to="csiq_CanadianSolarSolutionsIncMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarSolutionsIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Solutions Inc.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarSolutionsIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Solutions Inc [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarSolutionsIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Solutions Inc.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiSolarPowerChinaInc.Member" xlink:label="csiq_CsiSolarPowerChinaInc.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CsiSolarPowerChinaInc.Member" xlink:to="csiq_CsiSolarPowerChinaInc.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CsiSolarPowerChinaInc.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to CSI Solar Power (China) Inc.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiSolarPowerChinaInc.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Csi Solar Power China Inc. [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CsiSolarPowerChinaInc.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Solar Power Group Co., Ltd. (formerly named/known as "CSI Solar Power (China) Inc.")</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarEMEAGmbHMember" xlink:label="csiq_CanadianSolarEMEAGmbHMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarEMEAGmbHMember" xlink:to="csiq_CanadianSolarEMEAGmbHMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarEMEAGmbHMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar EMEA GmbH.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarEMEAGmbHMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar E M E A Gmb H [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarEMEAGmbHMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar EMEA GmbH</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarAustraliaPtyLtdMember" xlink:label="csiq_CanadianSolarAustraliaPtyLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarAustraliaPtyLtdMember" xlink:to="csiq_CanadianSolarAustraliaPtyLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarAustraliaPtyLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar (Australia) Pty., Ltd., a subsidiary of the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarAustraliaPtyLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Australia Pty Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarAustraliaPtyLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar (Australia) Pty Limited</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarInternationalProjectHoldingLimitedMember" xlink:label="csiq_CanadianSolarInternationalProjectHoldingLimitedMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarInternationalProjectHoldingLimitedMember" xlink:to="csiq_CanadianSolarInternationalProjectHoldingLimitedMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarInternationalProjectHoldingLimitedMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar International Project Holding Limited.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarInternationalProjectHoldingLimitedMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar International Project Holding Limited [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarInternationalProjectHoldingLimitedMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar International Limited</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarOAndMOntarioIncMember" xlink:label="csiq_CanadianSolarOAndMOntarioIncMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarOAndMOntarioIncMember" xlink:to="csiq_CanadianSolarOAndMOntarioIncMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarOAndMOntarioIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar O&amp;M (Ontario) Inc., a subsidiary of the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarOAndMOntarioIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar O And M Ontario Inc [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarOAndMOntarioIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar O and M (Ontario) Inc.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember" xlink:label="csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember" xlink:to="csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Suzhou Sanysolar Materials Technology Co., Ltd., a subsidiary of the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Suzhou Sanysolar Materials Technology Co Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Suzhou Sanysolar Materials Technology Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarSouthEastAsiaPteLtdMember" xlink:label="csiq_CanadianSolarSouthEastAsiaPteLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarSouthEastAsiaPteLtdMember" xlink:to="csiq_CanadianSolarSouthEastAsiaPteLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarSouthEastAsiaPteLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar South East Asia Pte. Ltd., a subsidiary of the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarSouthEastAsiaPteLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar South East Asia Pte Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarSouthEastAsiaPteLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar South East Asia Pte. Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarSouthAfricaPtyLtdMember" xlink:label="csiq_CanadianSolarSouthAfricaPtyLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarSouthAfricaPtyLtdMember" xlink:to="csiq_CanadianSolarSouthAfricaPtyLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarSouthAfricaPtyLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar South Africa Pty., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarSouthAfricaPtyLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar South Africa Pty Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarSouthAfricaPtyLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar South Africa Pty., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember" xlink:label="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember" xlink:to="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Brazil Commerce Import And Export Of Solar Panels Limited [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarConstructionUsaLLCMember" xlink:label="csiq_CanadianSolarConstructionUsaLLCMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarConstructionUsaLLCMember" xlink:to="csiq_CanadianSolarConstructionUsaLLCMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarConstructionUsaLLCMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Construction (USA) LLC.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarConstructionUsaLLCMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Construction Usa L L C [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarConstructionUsaLLCMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Construction (USA) LLC</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarProjectKKMember" xlink:label="csiq_CanadianSolarProjectKKMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarProjectKKMember" xlink:to="csiq_CanadianSolarProjectKKMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarProjectKKMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Project K.K.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarProjectKKMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Project K K [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarProjectKKMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Project K.K.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member" xlink:label="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member" xlink:to="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Sunenergy (Baotou) Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Sunenergy Baotou Co. Ltd. [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Sunenergy (Baotou) Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember" xlink:label="csiq_SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember" xlink:to="csiq_SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Suzhou Gaochuangte New Energy Development Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Suzhou Gaochuangte New Energy Development Co Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Suzhou Gaochuangte New Energy Development Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiCellsYanchangCoLtdMember" xlink:label="csiq_CsiCellsYanchangCoLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CsiCellsYanchangCoLtdMember" xlink:to="csiq_CsiCellsYanchangCoLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CsiCellsYanchangCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to CSI Cells (Yanchang) Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiCellsYanchangCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Csi Cells Yanchang Co Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CsiCellsYanchangCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Cells (Yanchang) Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiModulesDafengCoLtdMember" xlink:label="csiq_CsiModulesDafengCoLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CsiModulesDafengCoLtdMember" xlink:to="csiq_CsiModulesDafengCoLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CsiModulesDafengCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to CSI Modules (DaFeng) Co., Ltd..</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiModulesDafengCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Csi Modules Dafeng Co Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CsiModulesDafengCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Modules (DaFeng) Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarMiddleEastDmccMember" xlink:label="csiq_CanadianSolarMiddleEastDmccMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarMiddleEastDmccMember" xlink:to="csiq_CanadianSolarMiddleEastDmccMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarMiddleEastDmccMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Middle East DMCC.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarMiddleEastDmccMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Middle East Dmcc [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarMiddleEastDmccMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Middle East DMCC</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiInvestmentManagementSuzhouCoLtdMember" xlink:label="csiq_CsiInvestmentManagementSuzhouCoLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CsiInvestmentManagementSuzhouCoLtdMember" xlink:to="csiq_CsiInvestmentManagementSuzhouCoLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CsiInvestmentManagementSuzhouCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to CSI Investment Management (SuZhou) Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiInvestmentManagementSuzhouCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Csi Investment Management Suzhou Co Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CsiInvestmentManagementSuzhouCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Investment Management (SuZhou) Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarConstructionAustraliaPtyLtdMember" xlink:label="csiq_CanadianSolarConstructionAustraliaPtyLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarConstructionAustraliaPtyLtdMember" xlink:to="csiq_CanadianSolarConstructionAustraliaPtyLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarConstructionAustraliaPtyLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Canadian Solar Construction (Australia) Pty Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarConstructionAustraliaPtyLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Construction Australia Pty Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarConstructionAustraliaPtyLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Construction (Australia) Pty Ltd</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsukEnergySystemsConstructionAndGenerationJscMember" xlink:label="csiq_CsukEnergySystemsConstructionAndGenerationJscMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CsukEnergySystemsConstructionAndGenerationJscMember" xlink:to="csiq_CsukEnergySystemsConstructionAndGenerationJscMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CsukEnergySystemsConstructionAndGenerationJscMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to CSUK Energy Systems Construction and Generation JSC.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsukEnergySystemsConstructionAndGenerationJscMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Csuk Energy Systems Construction And Generation Jsc [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CsukEnergySystemsConstructionAndGenerationJscMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSUK Energy Systems Construction and Generation JSC</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiModulesJiaxingCoLtdMember" xlink:label="csiq_CsiModulesJiaxingCoLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CsiModulesJiaxingCoLtdMember" xlink:to="csiq_CsiModulesJiaxingCoLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CsiModulesJiaxingCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to CSI Modules (JiaXing) Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiModulesJiaxingCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Csi Modules Jiaxing Co Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CsiModulesJiaxingCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Modules (JiaXing) Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiWaferLuoyangCoLtdMember" xlink:label="csiq_CsiWaferLuoyangCoLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CsiWaferLuoyangCoLtdMember" xlink:to="csiq_CsiWaferLuoyangCoLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CsiWaferLuoyangCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to CSI Wafer (LuoYang) Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiWaferLuoyangCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Csi Wafer Luoyang Co Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CsiWaferLuoyangCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Wafer (LuoYang) Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarManufacturingTaiwanCoLtdMember" xlink:label="csiq_CanadianSolarManufacturingTaiwanCoLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarManufacturingTaiwanCoLtdMember" xlink:to="csiq_CanadianSolarManufacturingTaiwanCoLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarManufacturingTaiwanCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Canadian Solar Manufacturing Taiwan Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarManufacturingTaiwanCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Manufacturing Taiwan Co Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarManufacturingTaiwanCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Manufacturing Taiwan Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarArgentinaInvestmentHoldingLtdMember" xlink:label="csiq_CanadianSolarArgentinaInvestmentHoldingLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarArgentinaInvestmentHoldingLtdMember" xlink:to="csiq_CanadianSolarArgentinaInvestmentHoldingLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarArgentinaInvestmentHoldingLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Canadian Solar Argentina Investment Holding Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarArgentinaInvestmentHoldingLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Argentina Investment Holding Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarArgentinaInvestmentHoldingLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Argentina Investment Holding Ltd</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember" xlink:label="csiq_ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember" xlink:to="csiq_ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Changshu Xingu Photovoltaic Material Technology Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Changshu Xingu Photovoltaic Material Technology Co Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Changshu Xingu Photovoltaic Material Technology Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember" xlink:label="csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember" xlink:to="csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar New Energy Holding Company Limited</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar New Energy Holding Company Limited [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar New Energy Holding Company Limited [Member]</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member" xlink:label="csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member" xlink:to="csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Energy Holding Singapore Pte. Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Energy Holding Singapore Pte. Ltd. [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Energy Holding Singapore Pte. Ltd. [Member]</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarSsesCanadaInc.Member" xlink:label="csiq_CanadianSolarSsesCanadaInc.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarSsesCanadaInc.Member" xlink:to="csiq_CanadianSolarSsesCanadaInc.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarSsesCanadaInc.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar SSES (CANADA) INC.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarSsesCanadaInc.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Sses Canada Inc. [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarSsesCanadaInc.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar SSES (Canada) Inc. [Member]</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarSsesUkLtdMember" xlink:label="csiq_CanadianSolarSsesUkLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarSsesUkLtdMember" xlink:to="csiq_CanadianSolarSsesUkLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarSsesUkLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar SSES (UK) LTD</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarSsesUkLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Sses Uk Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarSsesUkLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar SSES (UK) Ltd [Member]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems" xlink:to="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investments in and Advances to Affiliates [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Major Subsidiaries of CSI</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" xlink:label="us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" xlink:to="us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsidiary or Equity Method Investee, Cumulative Percentage Ownership after All Transactions</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Attributable Equity Interest Held (as a percent)</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EquityInterestHeldAsGeneralPartner" xlink:label="csiq_EquityInterestHeldAsGeneralPartner" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EquityInterestHeldAsGeneralPartner" xlink:to="csiq_EquityInterestHeldAsGeneralPartner_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EquityInterestHeldAsGeneralPartner_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of equity interest held as general partner.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EquityInterestHeldAsGeneralPartner_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Interest Held as General Partner</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_EquityInterestHeldAsGeneralPartner_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest held as general partner</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressesAddressTypeAxis" xlink:label="dei_EntityAddressesAddressTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressesAddressTypeAxis" xlink:to="dei_EntityAddressesAddressTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressesAddressTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Entity Addresses, Address Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AddressTypeDomain" xlink:label="dei_AddressTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AddressTypeDomain" xlink:to="dei_AddressTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AddressTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Address Type [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="dei_AddressTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Address Type [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_BusinessContactMember" xlink:label="dei_BusinessContactMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_BusinessContactMember" xlink:to="dei_BusinessContactMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_BusinessContactMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Contact [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="dei_BusinessContactMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Business Contact</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Adjustments for New Accounting Pronouncements [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TypeOfAdoptionMember" xlink:to="us-gaap_TypeOfAdoptionMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TypeOfAdoptionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Type Of Adoption [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TypeOfAdoptionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Type of Adoption [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingStandardsUpdate201409Member" xlink:label="us-gaap_AccountingStandardsUpdate201409Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingStandardsUpdate201409Member" xlink:to="us-gaap_AccountingStandardsUpdate201409Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountingStandardsUpdate201409Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounting Standards Update201409 [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountingStandardsUpdate201409Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ASU 2014-09</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockMember" xlink:label="us-gaap_TreasuryStockMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockMember" xlink:to="us-gaap_TreasuryStockMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Treasury Stock</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Commitment, Excluding Long-term Commitment [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Commitment Excluding Longterm Commitment [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Commitment, Excluding Long-term Commitment [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PropertyAndEquipmentPurchaseCommitmentMember" xlink:label="csiq_PropertyAndEquipmentPurchaseCommitmentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PropertyAndEquipmentPurchaseCommitmentMember" xlink:to="csiq_PropertyAndEquipmentPurchaseCommitmentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PropertyAndEquipmentPurchaseCommitmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase arrangement in which the entity has agreed to expend funds to procure property and equipment.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PropertyAndEquipmentPurchaseCommitmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property And Equipment Purchase Commitment [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PropertyAndEquipmentPurchaseCommitmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Property, plant and equipment</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarPowerSystemCommitmentsMember" xlink:label="csiq_SolarPowerSystemCommitmentsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarPowerSystemCommitmentsMember" xlink:to="csiq_SolarPowerSystemCommitmentsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarPowerSystemCommitmentsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar power system commitments.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarPowerSystemCommitmentsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar Power System Commitments [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SolarPowerSystemCommitmentsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar power system</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainContingenciesByNatureAxis" xlink:label="us-gaap_GainContingenciesByNatureAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainContingenciesByNatureAxis" xlink:to="us-gaap_GainContingenciesByNatureAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainContingenciesByNatureAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain Contingencies, Nature [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainContingencyNatureDomain" xlink:label="us-gaap_GainContingencyNatureDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainContingencyNatureDomain" xlink:to="us-gaap_GainContingencyNatureDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainContingencyNatureDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain Contingency Nature [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GainContingencyNatureDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain Contingency, Nature [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InsuranceSettlementMember" xlink:label="us-gaap_InsuranceSettlementMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InsuranceSettlementMember" xlink:to="us-gaap_InsuranceSettlementMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InsuranceSettlementMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Insurance Settlement [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InsuranceSettlementMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance for doubtful receivables</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ElectricGenerationEquipmentMember" xlink:label="us-gaap_ElectricGenerationEquipmentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ElectricGenerationEquipmentMember" xlink:to="us-gaap_ElectricGenerationEquipmentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ElectricGenerationEquipmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Electric Generation Equipment [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ElectricGenerationEquipmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar power systems</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UseRightsMember" xlink:label="us-gaap_UseRightsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseRightsMember" xlink:to="us-gaap_UseRightsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UseRightsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Use Rights [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UseRightsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Land use rights</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PublicUtilitiesInventoryAxis" xlink:label="us-gaap_PublicUtilitiesInventoryAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PublicUtilitiesInventoryAxis" xlink:to="us-gaap_PublicUtilitiesInventoryAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PublicUtilitiesInventoryAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PublicUtilitiesInventoryTypeDomain" xlink:label="us-gaap_PublicUtilitiesInventoryTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PublicUtilitiesInventoryTypeDomain" xlink:to="us-gaap_PublicUtilitiesInventoryTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PublicUtilitiesInventoryTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Public Utilities Inventory Type [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PublicUtilitiesInventoryTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Inventory [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_UncollectableRevenueMember" xlink:label="csiq_UncollectableRevenueMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_UncollectableRevenueMember" xlink:to="csiq_UncollectableRevenueMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_UncollectableRevenueMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">This member stands for information pertaining to uncollectable revenue as payment was determined to be not probable.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_UncollectableRevenueMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Uncollectable Revenue [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_UncollectableRevenueMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Uncollectable Revenue</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ElectricityMember" xlink:label="us-gaap_ElectricityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ElectricityMember" xlink:to="us-gaap_ElectricityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ElectricityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Electricity [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ElectricityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Electricity</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Timing of Transfer of Good or Service [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Timing Of Transfer Of Good Or Service [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Timing of Transfer of Good or Service [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TransferredAtPointInTimeMember" xlink:label="us-gaap_TransferredAtPointInTimeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TransferredAtPointInTimeMember" xlink:to="us-gaap_TransferredAtPointInTimeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TransferredAtPointInTimeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Transferred At Point In Time [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TransferredAtPointInTimeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recognized at a point in time</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TransferredOverTimeMember" xlink:label="us-gaap_TransferredOverTimeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TransferredOverTimeMember" xlink:to="us-gaap_TransferredOverTimeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TransferredOverTimeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Transferred Over Time [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TransferredOverTimeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recognized over time</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShippingAndHandlingMember" xlink:label="us-gaap_ShippingAndHandlingMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShippingAndHandlingMember" xlink:to="us-gaap_ShippingAndHandlingMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShippingAndHandlingMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shipping And Handling [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShippingAndHandlingMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Shipping and Handling</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GrantMember" xlink:label="us-gaap_GrantMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrantMember" xlink:to="us-gaap_GrantMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GrantMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Grant [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GrantMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Government grants</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_StandardSolarModuleMember" xlink:label="csiq_StandardSolarModuleMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_StandardSolarModuleMember" xlink:to="csiq_StandardSolarModuleMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_StandardSolarModuleMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Standard Solar module.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_StandardSolarModuleMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Standard Solar Module [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_StandardSolarModuleMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Standard solar modules</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarPowerProjectMember" xlink:label="csiq_SolarPowerProjectMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarPowerProjectMember" xlink:to="csiq_SolarPowerProjectMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarPowerProjectMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to solar power projects.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarPowerProjectMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar Power Project [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SolarPowerProjectMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar Power Project</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_BifacialModuleAndDoubleGlassModuleMember" xlink:label="csiq_BifacialModuleAndDoubleGlassModuleMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_BifacialModuleAndDoubleGlassModuleMember" xlink:to="csiq_BifacialModuleAndDoubleGlassModuleMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_BifacialModuleAndDoubleGlassModuleMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">This member represents the information pertaining to Bifacial Module and Double Glass Module.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_BifacialModuleAndDoubleGlassModuleMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Bifacial Module And Double Glass Module [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_BifacialModuleAndDoubleGlassModuleMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Bifacial module and double glass module</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GuaranteeObligationsByNatureAxis" xlink:label="us-gaap_GuaranteeObligationsByNatureAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GuaranteeObligationsByNatureAxis" xlink:to="us-gaap_GuaranteeObligationsByNatureAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GuaranteeObligationsByNatureAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Guarantor Obligations, Nature [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GuaranteeObligationsNatureDomain" xlink:label="us-gaap_GuaranteeObligationsNatureDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GuaranteeObligationsNatureDomain" xlink:to="us-gaap_GuaranteeObligationsNatureDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GuaranteeObligationsNatureDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Guarantee Obligations Nature [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GuaranteeObligationsNatureDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Guarantor Obligations, Nature [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_MaterialAndWorkmanShipMember" xlink:label="csiq_MaterialAndWorkmanShipMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_MaterialAndWorkmanShipMember" xlink:to="csiq_MaterialAndWorkmanShipMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_MaterialAndWorkmanShipMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to material and workmanship.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_MaterialAndWorkmanShipMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Material And Workman Ship [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_MaterialAndWorkmanShipMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Material and workmanship</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EightyPercentInitialPowerCapacityMember" xlink:label="csiq_EightyPercentInitialPowerCapacityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EightyPercentInitialPowerCapacityMember" xlink:to="csiq_EightyPercentInitialPowerCapacityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EightyPercentInitialPowerCapacityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to 80% initial power capacity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EightyPercentInitialPowerCapacityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Eighty Percent Initial Power Capacity [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_EightyPercentInitialPowerCapacityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">80% initial power capacity</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NinetySevenPercentInitialPowerCapacityMember" xlink:label="csiq_NinetySevenPercentInitialPowerCapacityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NinetySevenPercentInitialPowerCapacityMember" xlink:to="csiq_NinetySevenPercentInitialPowerCapacityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NinetySevenPercentInitialPowerCapacityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to 97% of initial capacity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NinetySevenPercentInitialPowerCapacityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ninety Seven Percent Initial Power Capacity [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NinetySevenPercentInitialPowerCapacityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">97 % initial power capacity</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NinetyThreeInitialPowerCapacityMember" xlink:label="csiq_NinetyThreeInitialPowerCapacityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NinetyThreeInitialPowerCapacityMember" xlink:to="csiq_NinetyThreeInitialPowerCapacityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NinetyThreeInitialPowerCapacityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to 93% of initial capacity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NinetyThreeInitialPowerCapacityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ninety Three Initial Power Capacity [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NinetyThreeInitialPowerCapacityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">93% initial power capacity</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LandMember" xlink:label="us-gaap_LandMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LandMember" xlink:to="us-gaap_LandMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LandMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Land [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LandMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Land</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetUnderConstructionMember" xlink:label="us-gaap_AssetUnderConstructionMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetUnderConstructionMember" xlink:to="us-gaap_AssetUnderConstructionMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetUnderConstructionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Asset Under Construction [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AssetUnderConstructionMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar power sysetems under construction</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestRateSwapMember" xlink:to="us-gaap_InterestRateSwapMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestRateSwapMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest Rate Swap [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestRateSwapMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Interest rate swap</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DesignatedAsHedgingInstrumentMember" xlink:to="us-gaap_DesignatedAsHedgingInstrumentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Designated As Hedging Instrument [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Designated as hedging instruments</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" xlink:to="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Hedging Relationship [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_HedgingRelationshipDomain" xlink:label="us-gaap_HedgingRelationshipDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_HedgingRelationshipDomain" xlink:to="us-gaap_HedgingRelationshipDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_HedgingRelationshipDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Hedging Relationship [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_HedgingRelationshipDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Hedging Relationship [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashFlowHedgingMember" xlink:label="us-gaap_CashFlowHedgingMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashFlowHedgingMember" xlink:to="us-gaap_CashFlowHedgingMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashFlowHedgingMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash Flow Hedging [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashFlowHedgingMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash flow hedge</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BalanceSheetLocationAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance Sheet Location [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_BalanceSheetLocationDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BalanceSheetLocationDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance Sheet Location [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BalanceSheetLocationDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Balance Sheet Location [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DerivativesAssetsCurrentMember" xlink:label="csiq_DerivativesAssetsCurrentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DerivativesAssetsCurrentMember" xlink:to="csiq_DerivativesAssetsCurrentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DerivativesAssetsCurrentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Primary financial statement caption encompassing current derivatives assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DerivativesAssetsCurrentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivatives Assets Current [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DerivativesAssetsCurrentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative assets - current</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DerivativesAssetsNoncurrentMember" xlink:label="csiq_DerivativesAssetsNoncurrentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DerivativesAssetsNoncurrentMember" xlink:to="csiq_DerivativesAssetsNoncurrentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DerivativesAssetsNoncurrentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Primary financial statement caption encompassing noncurrent derivatives assets.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DerivativesAssetsNoncurrentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivatives Assets Noncurrent [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DerivativesAssetsNoncurrentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative assets - non-current</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DerivativesLiabilitiesCurrentMember" xlink:label="csiq_DerivativesLiabilitiesCurrentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DerivativesLiabilitiesCurrentMember" xlink:to="csiq_DerivativesLiabilitiesCurrentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DerivativesLiabilitiesCurrentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Primary financial statement caption encompassing current derivatives liabilities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DerivativesLiabilitiesCurrentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivatives Liabilities Current [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DerivativesLiabilitiesCurrentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative liabilities - current</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DerivativesLiabilitiesNoncurrentMember" xlink:label="csiq_DerivativesLiabilitiesNoncurrentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DerivativesLiabilitiesNoncurrentMember" xlink:to="csiq_DerivativesLiabilitiesNoncurrentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DerivativesLiabilitiesNoncurrentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Primary financial statement caption encompassing noncurrent derivatives liabilities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DerivativesLiabilitiesNoncurrentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivatives Liabilities Noncurrent [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DerivativesLiabilitiesNoncurrentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Derivative liabilities - non-current</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ConsolidatedEntitiesAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidated Entities [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="srt_ConsolidatedEntitiesDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ConsolidatedEntitiesDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidated Entities [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_ConsolidatedEntitiesDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidated Entities [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryMember" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember" xlink:to="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Variable Interest Entity Primary Beneficiary [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Variable Interest Entity</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarInfrastructureFundIncMember" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarInfrastructureFundIncMember" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Canadian solar infrastructure fund, Inc.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Infrastructure Fund Inc [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Infrastructure Fund, Inc</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalUnitsByClassAxis" xlink:label="us-gaap_CapitalUnitsByClassAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalUnitsByClassAxis" xlink:to="us-gaap_CapitalUnitsByClassAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalUnitsByClassAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Capital Units by Class [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalUnitClassDomain" xlink:label="us-gaap_CapitalUnitClassDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalUnitClassDomain" xlink:to="us-gaap_CapitalUnitClassDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalUnitClassDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Capital Unit Class [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CapitalUnitClassDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Capital Unit, Class [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalUnitClassAMember" xlink:label="us-gaap_CapitalUnitClassAMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalUnitClassAMember" xlink:to="us-gaap_CapitalUnitClassAMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalUnitClassAMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Capital Unit Class A [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CapitalUnitClassAMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Class A membership interests</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalUnitClassBMember" xlink:label="us-gaap_CapitalUnitClassBMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalUnitClassBMember" xlink:to="us-gaap_CapitalUnitClassBMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalUnitClassBMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Capital Unit Class B [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CapitalUnitClassBMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Class B membership interests</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_CounterpartyNameAxis" xlink:to="srt_CounterpartyNameAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_CounterpartyNameAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Counterparty Name [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repurchase Agreement Counterparty Name [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Counterparty Name [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_BankBorrowingsMember" xlink:label="csiq_BankBorrowingsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_BankBorrowingsMember" xlink:to="csiq_BankBorrowingsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_BankBorrowingsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to borrowings from bank.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_BankBorrowingsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Bank Borrowings [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_BankBorrowingsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Bank borrowings</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_BorrowingsFromNonBankingInstitutionsMember" xlink:label="csiq_BorrowingsFromNonBankingInstitutionsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_BorrowingsFromNonBankingInstitutionsMember" xlink:to="csiq_BorrowingsFromNonBankingInstitutionsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_BorrowingsFromNonBankingInstitutionsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to borrowings from non-banking institutions.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_BorrowingsFromNonBankingInstitutionsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Borrowings From Non Banking Institutions [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_BorrowingsFromNonBankingInstitutionsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Borrowings from non-banking institutions</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongtermDebtTypeAxis" xlink:to="us-gaap_LongtermDebtTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongtermDebtTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="us-gaap_LongtermDebtTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongtermDebtTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Longterm Debt Type [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongtermDebtTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Long-term Debt, Type [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SecuredByInventoryAndAccountsReceivableMember" xlink:label="csiq_SecuredByInventoryAndAccountsReceivableMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SecuredByInventoryAndAccountsReceivableMember" xlink:to="csiq_SecuredByInventoryAndAccountsReceivableMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SecuredByInventoryAndAccountsReceivableMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents pledged collateral of inventory and accounts receivable.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SecuredByInventoryAndAccountsReceivableMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Secured By Inventory And Accounts Receivable [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SecuredByInventoryAndAccountsReceivableMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Secured by Inventory and accounts receivable</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember" xlink:label="csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember" xlink:to="csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to borrowings secured by prepaid land use rights and guaranteed by Chinese Subsidiary.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Secured By Prepaid Land Use Rights And Guaranteed By Chinese Subsidiary [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Secured by prepaid land use rights and guaranteed by Chinese Subsidiary</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnsecuredDebtMember" xlink:label="us-gaap_UnsecuredDebtMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnsecuredDebtMember" xlink:to="us-gaap_UnsecuredDebtMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnsecuredDebtMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unsecured Debt [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UnsecuredDebtMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unsecured</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember" xlink:label="csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember" xlink:to="csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the borrowings secured by project assets and solar power systems.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Secured By Project Assets And Solar Power Systems [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Secured by project assets and solar power systems</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_FinancingAgreementMember" xlink:label="csiq_FinancingAgreementMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_FinancingAgreementMember" xlink:to="csiq_FinancingAgreementMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_FinancingAgreementMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to finance agreement in Japan.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_FinancingAgreementMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Financing Agreement [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_FinancingAgreementMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance agreement</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_OwnershipAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ownership [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_OwnershipDomain" xlink:to="srt_OwnershipDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_OwnershipDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ownership [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_OwnershipDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ownership [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SubsidiaryMember" xlink:label="csiq_SubsidiaryMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SubsidiaryMember" xlink:to="csiq_SubsidiaryMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SubsidiaryMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to a subsidiary.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SubsidiaryMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsidiary [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SubsidiaryMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsidiary</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConvertibleDebtMember" xlink:label="us-gaap_ConvertibleDebtMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertibleDebtMember" xlink:to="us-gaap_ConvertibleDebtMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConvertibleDebtMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Convertible Debt [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConvertibleDebtMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2014 Notes</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accounts Payable And Accrued Liabilities [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other payables</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_US" xlink:label="country_US" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_US_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">U [S]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_US_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">United States</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CN" xlink:label="country_CN" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_CN" xlink:to="country_CN_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_CN_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">C [N]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_CN_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">PRC</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_JP" xlink:label="country_JP" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_JP" xlink:to="country_JP_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_JP_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">J [P]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_JP_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Japan</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DomesticCountryMember" xlink:to="us-gaap_DomesticCountryMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DomesticCountryMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Domestic Country [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DomesticCountryMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canada</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_DE" xlink:label="country_DE" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_DE" xlink:to="country_DE_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_DE_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">D [E]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_DE_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Germany</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_VN" xlink:label="country_VN" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_VN" xlink:to="country_VN_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_VN_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">V [N]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_VN_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Vietnam</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_TH" xlink:label="country_TH" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_TH" xlink:to="country_TH_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_TH_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">T [H]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_TH_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Thailand</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_HK" xlink:label="country_HK" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_HK" xlink:to="country_HK_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_HK_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">H [K]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_HK_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Hong Kong</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarEnergyAcquisitionCo.Member" xlink:label="csiq_CanadianSolarEnergyAcquisitionCo.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarEnergyAcquisitionCo.Member" xlink:to="csiq_CanadianSolarEnergyAcquisitionCo.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarEnergyAcquisitionCo.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Energy Acquisition Co.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarEnergyAcquisitionCo.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Energy Acquisition Co. [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarEnergyAcquisitionCo.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Energy Acquisition Co.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarManufacturingVietnamCo.LtdMember" xlink:label="csiq_CanadianSolarManufacturingVietnamCo.LtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarManufacturingVietnamCo.LtdMember" xlink:to="csiq_CanadianSolarManufacturingVietnamCo.LtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarManufacturingVietnamCo.LtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Manufacturing Vietnam Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarManufacturingVietnamCo.LtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Manufacturing Vietnam Co. Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarManufacturingVietnamCo.LtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Manufacturing Vietnam Co., Ltd</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarInternationalLtdMember" xlink:label="csiq_CanadianSolarInternationalLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarInternationalLtdMember" xlink:to="csiq_CanadianSolarInternationalLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarInternationalLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar International Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarInternationalLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar International Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarInternationalLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">HKSI</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" xlink:label="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" xlink:to="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Manufacturing (Thailand) Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Manufacturing Thailand Co. Ltd. [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Manufacturing (Thailand) Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Related Party [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="us-gaap_RelatedPartyDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Related Party [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RelatedPartyDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Related Party [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_RoserockMember" xlink:label="csiq_RoserockMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_RoserockMember" xlink:to="csiq_RoserockMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_RoserockMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Roseland.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_RoserockMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Roserock [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_RoserockMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Roserock</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PilipinasNewtonEnergyCorpMember" xlink:label="csiq_PilipinasNewtonEnergyCorpMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PilipinasNewtonEnergyCorpMember" xlink:to="csiq_PilipinasNewtonEnergyCorpMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PilipinasNewtonEnergyCorpMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to pilipinas newton energy corp.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PilipinasNewtonEnergyCorpMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pilipinas Newton Energy Corp [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PilipinasNewtonEnergyCorpMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pilipinas Newton Energy Corp</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EtSolutionsSouthAfricaOnePtyMember" xlink:label="csiq_EtSolutionsSouthAfricaOnePtyMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EtSolutionsSouthAfricaOnePtyMember" xlink:to="csiq_EtSolutionsSouthAfricaOnePtyMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EtSolutionsSouthAfricaOnePtyMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to ET Solutions South Africa 1 Pty.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EtSolutionsSouthAfricaOnePtyMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Et Solutions South Africa One Pty [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_EtSolutionsSouthAfricaOnePtyMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ET Solutions South Africa 1 Pty</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SuzhouIsilverMaterialsMember" xlink:label="csiq_SuzhouIsilverMaterialsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SuzhouIsilverMaterialsMember" xlink:to="csiq_SuzhouIsilverMaterialsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SuzhouIsilverMaterialsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Suzhou iSilver Materials Co.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SuzhouIsilverMaterialsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Suzhou Isilver Materials [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SuzhouIsilverMaterialsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Suzhou iSilver Materials Co</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SuzhouKzoneEquipmentTechnologyMember" xlink:label="csiq_SuzhouKzoneEquipmentTechnologyMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SuzhouKzoneEquipmentTechnologyMember" xlink:to="csiq_SuzhouKzoneEquipmentTechnologyMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SuzhouKzoneEquipmentTechnologyMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Suzhou Kzone Equipment Technology Co,. Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SuzhouKzoneEquipmentTechnologyMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Suzhou Kzone Equipment Technology [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SuzhouKzoneEquipmentTechnologyMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Suzhou Kzone Equipment Technology Co., Ltd</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ChiefExecutiveOfficerMember" xlink:label="srt_ChiefExecutiveOfficerMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ChiefExecutiveOfficerMember" xlink:to="srt_ChiefExecutiveOfficerMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ChiefExecutiveOfficerMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Chief Executive Officer [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_ChiefExecutiveOfficerMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Dr. Shawn Qu</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SuzhouGaochuangteNewEnergyCoLtdMember" xlink:label="csiq_SuzhouGaochuangteNewEnergyCoLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SuzhouGaochuangteNewEnergyCoLtdMember" xlink:to="csiq_SuzhouGaochuangteNewEnergyCoLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SuzhouGaochuangteNewEnergyCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Suzhou Gaochuangte New Energy Co. Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SuzhouGaochuangteNewEnergyCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Suzhou Gaochuangte New Energy Co Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SuzhouGaochuangteNewEnergyCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gaochuangte</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember" xlink:label="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember" xlink:to="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the member pertaining to Luoyang Jiwa New Material Technology Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Luoyang Jiwa New Material Technology Co. Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Luoyang Jiwa New Material Technology Co., Ltd [Member]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lender Name [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line Of Credit Facility Lender [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Line of Credit Facility, Lender [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ChineseCommercialBanksMember" xlink:label="csiq_ChineseCommercialBanksMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ChineseCommercialBanksMember" xlink:to="csiq_ChineseCommercialBanksMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ChineseCommercialBanksMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the Chinese Commercial Banks.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ChineseCommercialBanksMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Chinese Commercial Banks [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ChineseCommercialBanksMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Chinese Commercial Banks</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementLocationAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Statement Location [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_IncomeStatementLocationDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementLocationDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Statement Location [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeStatementLocationDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Income Statement Location [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SalesMember" xlink:label="us-gaap_SalesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesMember" xlink:to="us-gaap_SalesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Sales [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SalesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherOperatingIncomeExpenseMember" xlink:label="us-gaap_OtherOperatingIncomeExpenseMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherOperatingIncomeExpenseMember" xlink:to="us-gaap_OtherOperatingIncomeExpenseMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherOperatingIncomeExpenseMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Operating Income Expense [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherOperatingIncomeExpenseMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other operating income or expense</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartyTransactionAxis" xlink:label="us-gaap_RelatedPartyTransactionAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionAxis" xlink:to="us-gaap_RelatedPartyTransactionAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Related Party Transaction [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="us-gaap_RelatedPartyTransactionDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionDomain" xlink:to="us-gaap_RelatedPartyTransactionDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Related Party Transaction [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RelatedPartyTransactionDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Related Party Transaction [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AssetManagementServiceMember" xlink:label="csiq_AssetManagementServiceMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AssetManagementServiceMember" xlink:to="csiq_AssetManagementServiceMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AssetManagementServiceMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information relating to asset management service.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AssetManagementServiceMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Asset Management Service [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AssetManagementServiceMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Asset management service</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OMServiceMember" xlink:label="csiq_OMServiceMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OMServiceMember" xlink:to="csiq_OMServiceMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OMServiceMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to O &amp; M service.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OMServiceMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">O M Service [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OMServiceMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">O &amp; M Service</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ConsolidationItemsAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidation Items [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ConsolidationItemsDomain" xlink:to="srt_ConsolidationItemsDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ConsolidationItemsDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidation Items [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_ConsolidationItemsDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidation Items [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingSegmentsMember" xlink:to="us-gaap_OperatingSegmentsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingSegmentsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Segments [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingSegmentsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating segment</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntersegmentEliminationMember" xlink:label="us-gaap_IntersegmentEliminationMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntersegmentEliminationMember" xlink:to="us-gaap_IntersegmentEliminationMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntersegmentEliminationMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Intersegment Elimination [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IntersegmentEliminationMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Eliminations</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementGeographicalAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Geographical [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_SegmentGeographicalDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_SegmentGeographicalDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Segment Geographical [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_SegmentGeographicalDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Geographical [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_EuropeMember" xlink:label="srt_EuropeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_EuropeMember" xlink:to="srt_EuropeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_EuropeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Europe [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_EuropeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Europe</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_AU" xlink:label="country_AU" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_AU" xlink:to="country_AU_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_AU_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">A [U]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_AU_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Australia</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_ZA" xlink:label="country_ZA" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_ZA" xlink:to="country_ZA_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_ZA_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Z [A]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_ZA_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">South Africa</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_ES" xlink:label="country_ES" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_ES" xlink:to="country_ES_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_ES_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">E [S]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_ES_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Spain</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_NL" xlink:label="country_NL" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_NL" xlink:to="country_NL_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_NL_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">N [L]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_NL_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Netherlands</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_GB" xlink:label="country_GB" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_GB" xlink:to="country_GB_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_GB_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">G [B]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_GB_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">United Kingdom</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CZ" xlink:label="country_CZ" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_CZ" xlink:to="country_CZ_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_CZ_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">C [Z]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_CZ_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Czech</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherCountriesEuropeMember" xlink:label="csiq_OtherCountriesEuropeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherCountriesEuropeMember" xlink:to="csiq_OtherCountriesEuropeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherCountriesEuropeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to other countries in Europe.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherCountriesEuropeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Countries Europe [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherCountriesEuropeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Others</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AmericaMember" xlink:label="csiq_AmericaMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AmericaMember" xlink:to="csiq_AmericaMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AmericaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the geographic area of America, in which the entity operates.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AmericaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">America [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AmericaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The Americas</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_BR" xlink:label="country_BR" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_BR" xlink:to="country_BR_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_BR_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">B [R]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_BR_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">BRAZIL</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_MX" xlink:label="country_MX" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_MX" xlink:to="country_MX_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_MX_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">M [X]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_MX_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Mexico</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherCountriesAmericaMember" xlink:label="csiq_OtherCountriesAmericaMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherCountriesAmericaMember" xlink:to="csiq_OtherCountriesAmericaMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherCountriesAmericaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to other countries in America.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherCountriesAmericaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Countries America [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherCountriesAmericaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Others</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_AsiaMember" xlink:label="srt_AsiaMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_AsiaMember" xlink:to="srt_AsiaMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_AsiaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Asia [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_AsiaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Asia</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_KR" xlink:label="country_KR" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_KR" xlink:to="country_KR_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_KR_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">K [R]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_KR_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Korea</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_IN" xlink:label="country_IN" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_IN" xlink:to="country_IN_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_IN_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">I [N]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_IN_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">India</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_AE" xlink:label="country_AE" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_AE" xlink:to="country_AE_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_AE_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">A [E]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_AE_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">U.A.E</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherCountriesAsiaMember" xlink:label="csiq_OtherCountriesAsiaMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_OtherCountriesAsiaMember" xlink:to="csiq_OtherCountriesAsiaMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_OtherCountriesAsiaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to other regions in Asia.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_OtherCountriesAsiaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Countries Asia [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_OtherCountriesAsiaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Others</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GranteeStatusAxis" xlink:label="us-gaap_GranteeStatusAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GranteeStatusAxis" xlink:to="us-gaap_GranteeStatusAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GranteeStatusAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Grantee Status [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GranteeStatusDomain" xlink:label="us-gaap_GranteeStatusDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GranteeStatusDomain" xlink:to="us-gaap_GranteeStatusDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GranteeStatusDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Grantee Status [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GranteeStatusDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Grantee Status [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:label="us-gaap_ShareBasedPaymentArrangementEmployeeMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:to="us-gaap_ShareBasedPaymentArrangementEmployeeMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedPaymentArrangementEmployeeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share Based Payment Arrangement Employee [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedPaymentArrangementEmployeeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Employees</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareRepurchaseProgramAxis" xlink:label="us-gaap_ShareRepurchaseProgramAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareRepurchaseProgramAxis" xlink:to="us-gaap_ShareRepurchaseProgramAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareRepurchaseProgramAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share Repurchase Program [Axis]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="us-gaap_ShareRepurchaseProgramDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareRepurchaseProgramDomain" xlink:to="us-gaap_ShareRepurchaseProgramDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareRepurchaseProgramDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share Repurchase Program [Domain]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareRepurchaseProgramDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share Repurchase Program [Domain]</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepurchaseAgreementsMember" xlink:label="us-gaap_RepurchaseAgreementsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepurchaseAgreementsMember" xlink:to="us-gaap_RepurchaseAgreementsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepurchaseAgreementsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repurchase Agreements [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RepurchaseAgreementsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share repurchase plan</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ParentCompanyMember" xlink:to="srt_ParentCompanyMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ParentCompanyMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Parent Company [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_ParentCompanyMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Parent Company</label>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ReportableLegalEntitiesMember" xlink:to="srt_ReportableLegalEntitiesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ReportableLegalEntitiesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reportable Legal Entities [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_ReportableLegalEntitiesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reportable Legal Entities [Member]</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiGclSolarManufacturingYanchengCo.Ltd.Member" xlink:label="csiq_CsiGclSolarManufacturingYanchengCo.Ltd.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CsiGclSolarManufacturingYanchengCo.Ltd.Member" xlink:to="csiq_CsiGclSolarManufacturingYanchengCo.Ltd.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CsiGclSolarManufacturingYanchengCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to CSI-GCL Solar Manufacturing (Yancheng) Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiGclSolarManufacturingYanchengCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Csi Gcl Solar Manufacturing Yancheng Co. Ltd. [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CsiGclSolarManufacturingYanchengCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI&amp;GCL Solar Manufacturing (Yancheng) Inc.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarUkLtdMember" xlink:label="csiq_CanadianSolarUkLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarUkLtdMember" xlink:to="csiq_CanadianSolarUkLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarUkLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar UK Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarUkLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Uk Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarUkLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar UK Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarUkProjectsLtdMember" xlink:label="csiq_CanadianSolarUkProjectsLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarUkProjectsLtdMember" xlink:to="csiq_CanadianSolarUkProjectsLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarUkProjectsLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar UK Projects Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarUkProjectsLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Uk Projects Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarUkProjectsLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar UK Projects Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember" xlink:label="csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember" xlink:to="csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Changsu Tegu New Material Technology Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Changsu Tegu New Material Technology Co Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Changsu Tegu New Material Technology Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ChangshuTlianCo.Ltd.Member" xlink:label="csiq_ChangshuTlianCo.Ltd.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ChangshuTlianCo.Ltd.Member" xlink:to="csiq_ChangshuTlianCo.Ltd.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ChangshuTlianCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Changshu Tlian Co., LTD.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ChangshuTlianCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Changshu Tlian Co. Ltd. [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ChangshuTlianCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Changshu Tlian Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_RecurrentEnergyGroupInc.Member" xlink:label="csiq_RecurrentEnergyGroupInc.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_RecurrentEnergyGroupInc.Member" xlink:to="csiq_RecurrentEnergyGroupInc.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_RecurrentEnergyGroupInc.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Recurrent Energy Group Inc. (formerly, Canadian Solar Energy Acquisition Co.).</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_RecurrentEnergyGroupInc.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recurrent Energy Group Inc. [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_RecurrentEnergyGroupInc.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recurrent Energy Group Inc.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_RecurrentEnergyLlcMember" xlink:label="csiq_RecurrentEnergyLlcMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_RecurrentEnergyLlcMember" xlink:to="csiq_RecurrentEnergyLlcMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_RecurrentEnergyLlcMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Recurrent Energy, LLC.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_RecurrentEnergyLlcMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recurrent Energy Llc [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_RecurrentEnergyLlcMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recurrent Energy, LLC</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PtCanadianSolarIndonesiaMember" xlink:label="csiq_PtCanadianSolarIndonesiaMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PtCanadianSolarIndonesiaMember" xlink:to="csiq_PtCanadianSolarIndonesiaMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PtCanadianSolarIndonesiaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to PT Canadian Solar Indonesia.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PtCanadianSolarIndonesiaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Pt Canadian Solar Indonesia [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PtCanadianSolarIndonesiaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">PT. Canadian Solar Indonesia</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarEnergyPrivateLimitedMember" xlink:label="csiq_CanadianSolarEnergyPrivateLimitedMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarEnergyPrivateLimitedMember" xlink:to="csiq_CanadianSolarEnergyPrivateLimitedMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarEnergyPrivateLimitedMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Energy Private Limited.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarEnergyPrivateLimitedMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Energy Private Limited [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarEnergyPrivateLimitedMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Energy Private Limited</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarAustralia1PtyLtdMember" xlink:label="csiq_CanadianSolarAustralia1PtyLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarAustralia1PtyLtdMember" xlink:to="csiq_CanadianSolarAustralia1PtyLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarAustralia1PtyLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Australia 1 Pty Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarAustralia1PtyLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Australia1 Pty Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarAustralia1PtyLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar MSS (Australia) Pty Ltd (formerly named/known as "Canadian Solar Australia 1 Pty Ltd.")</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarEnergyHoldingCompanyLimitedMember" xlink:label="csiq_CanadianSolarEnergyHoldingCompanyLimitedMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarEnergyHoldingCompanyLimitedMember" xlink:to="csiq_CanadianSolarEnergyHoldingCompanyLimitedMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarEnergyHoldingCompanyLimitedMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Energy Holding Company Limited.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarEnergyHoldingCompanyLimitedMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Energy Holding Company Limited [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarEnergyHoldingCompanyLimitedMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Energy Holding Company Limited</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarSunenergySuzhouCo.Ltd.Member" xlink:label="csiq_CanadianSolarSunenergySuzhouCo.Ltd.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarSunenergySuzhouCo.Ltd.Member" xlink:to="csiq_CanadianSolarSunenergySuzhouCo.Ltd.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarSunenergySuzhouCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Sunenergy (Suzhou) Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarSunenergySuzhouCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Sunenergy Suzhou Co. Ltd. [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarSunenergySuzhouCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Sunenergy (Suzhou) Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member" xlink:label="csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member" xlink:to="csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Canadian Solar Energy Holding Singapore 1 Pte. Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Energy Holding Singapore1 Pte. Ltd. [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Energy Holding Singapore Pte. Ltd.</label>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>13
<FILENAME>csiq-20191231_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  9.6.7401.38943 -->
<!--Based on XBRL 2.1-->
<!--Created on: 4/28/2020 12:56:24 PM-->
<!--Modified on: 4/28/2020 12:56:24 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DocumentDocumentAndEntityInformation" roleURI="http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#StatementConsolidatedBalanceSheets" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#StatementConsolidatedBalanceSheetsParenthetical" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#StatementConsolidatedStatementsOfOperations" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#StatementConsolidatedStatementsOfComprehensiveIncome" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#StatementConsolidatedStatementsOfChangesInEquity" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#StatementConsolidatedStatementsOfChangesInEquityParenthetical" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#StatementConsolidatedStatementsOfCashFlows" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#StatementConsolidatedStatementsOfCashFlowsParenthetical" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureOrganizationAndPrincipalActivities" roleURI="http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivities" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSummaryOfPrincipalAccountingPolicies" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPolicies" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureAllowanceForDoubtfulAccounts" roleURI="http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccounts" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureInventories" roleURI="http://www.canadiansolar.com/role/DisclosureInventories" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureProjectAssets" roleURI="http://www.canadiansolar.com/role/DisclosureProjectAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosurePropertyPlantAndEquipmentNet" roleURI="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNet" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSolarPowerSystemsNet" roleURI="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNet" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureIntangibleAssetsNet" roleURI="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNet" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureFairValueMeasurement" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurement" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureVariableInterestEntities" roleURI="http://www.canadiansolar.com/role/DisclosureVariableInterestEntities" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureInvestmentsInAffiliates" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliates" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureLease" roleURI="http://www.canadiansolar.com/role/DisclosureLease" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureBorrowings" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowings" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureShortTermNotesPayable" roleURI="http://www.canadiansolar.com/role/DisclosureShortTermNotesPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureAccruedWarrantyCosts" roleURI="http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCosts" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureRestrictedNetAssets" roleURI="http://www.canadiansolar.com/role/DisclosureRestrictedNetAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureConvertibleNotes" roleURI="http://www.canadiansolar.com/role/DisclosureConvertibleNotes" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureIncomeTaxes" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxes" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureEarningsPerShare" roleURI="http://www.canadiansolar.com/role/DisclosureEarningsPerShare" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureRelatedPartyBalancesAndTransactions" roleURI="http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactions" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureCommitmentsAndContingencies" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingencies" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSegmentInformation" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformation" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureMajorCustomers" roleURI="http://www.canadiansolar.com/role/DisclosureMajorCustomers" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureEmployeeBenefitPlans" roleURI="http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlans" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureShareBasedCompensation" roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensation" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSubsequentEvents" roleURI="http://www.canadiansolar.com/role/DisclosureSubsequentEvents" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureAdditionalInformationFinancialStatementScheduleI" roleURI="http://www.canadiansolar.com/role/DisclosureAdditionalInformationFinancialStatementScheduleI" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureAppendix1MajorSubsidiariesOfCsi" roleURI="http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsi" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesPolicies" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesTables" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureAllowanceForDoubtfulAccountsTables" roleURI="http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureInventoriesTables" roleURI="http://www.canadiansolar.com/role/DisclosureInventoriesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureProjectAssetsTables" roleURI="http://www.canadiansolar.com/role/DisclosureProjectAssetsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosurePropertyPlantAndEquipmentNetTables" roleURI="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSolarPowerSystemsNetTables" roleURI="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureIntangibleAssetsNetTables" roleURI="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureFairValueMeasurementTables" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureVariableInterestEntitiesTables" roleURI="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureInvestmentsInAffiliatesTables" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureLeaseTables" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureBorrowingsTables" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureAccruedWarrantyCostsTables" roleURI="http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureIncomeTaxesTables" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureEarningsPerShareTables" roleURI="http://www.canadiansolar.com/role/DisclosureEarningsPerShareTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureCommitmentsAndContingenciesTables" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSegmentInformationTables" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureMajorCustomersTables" roleURI="http://www.canadiansolar.com/role/DisclosureMajorCustomersTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureShareBasedCompensationTables" roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureAllowanceForDoubtfulAccountsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureInventoriesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInventoriesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureProjectAssetsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosurePropertyPlantAndEquipmentNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSolarPowerSystemsNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureIntangibleAssetsNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureFairValueMeasurementDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureFairValueMeasurementInterestRateSwapDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureFairValueMeasurementCarryingValueDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureVariableInterestEntitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureInvestmentsInAffiliatesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureLeaseLeaseExpenseDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureLeaseCashFlowDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureLeaseAdditionalInformationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureLeaseOperatingLeasesMaturitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureLeaseOperatingLeasesGrossDifferenceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureLeaseFinanceLeasesMaturitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureLeaseFinanceLeasesGrossDifferenceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureLeaseTotalLeasesMaturitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureLeaseTotalLeasesGrossDifferenceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureLeaseTotalLeasesSummaryDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureBorrowingsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureBorrowingsShortTermDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsShortTermDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureBorrowingsLongTermDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureShortTermNotesPayableDetails" roleURI="http://www.canadiansolar.com/role/DisclosureShortTermNotesPayableDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureAccruedWarrantyCostsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureRestrictedNetAssetsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureRestrictedNetAssetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureConvertibleNotesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureIncomeTaxesReconciliationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureIncomeTaxesMovementOfValuationAllowanceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureEarningsPerShareDetails" roleURI="http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureRelatedPartyBalancesAndTransactionsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureCommitmentsAndContingenciesCommitmentsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureCommitmentsAndContingenciesContingenciesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSegmentInformationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSegmentInformationDifferentGeographicLocationsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSegmentInformationEachProductOrServiceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureMajorCustomersDetails" roleURI="http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureEmployeeBenefitPlansDetails" roleURI="http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureShareBasedCompensationOptionsToEmployeesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureShareBasedCompensationRsusToEmployeesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureSubsequentEventsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSubsequentEventsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureFinancialStatementScheduleIDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureFinancialStatementScheduleIBalanceSheetsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20191231.xsd#DisclosureAppendix1MajorSubsidiariesOfCsiDetails" roleURI="http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation" xlink:type="extended" xlink:title="00090 - Document - Document and Entity Information" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract_637225720287389721" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable_637236753749432978" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract_637225720287389721" xlink:to="dei_DocumentInformationTable_637236753749432978" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressesAddressTypeAxis" xlink:label="dei_EntityAddressesAddressTypeAxis_637236753749432978" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationTable_637236753749432978" xlink:to="dei_EntityAddressesAddressTypeAxis_637236753749432978" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AddressTypeDomain" xlink:label="dei_AddressTypeDomain_637236753749432978" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityAddressesAddressTypeAxis_637236753749432978" xlink:to="dei_AddressTypeDomain_637236753749432978" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_BusinessContactMember" xlink:label="dei_BusinessContactMember_637236753749443091" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_AddressTypeDomain_637236753749432978" xlink:to="dei_BusinessContactMember_637236753749443091" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems_637236753749443091" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationTable_637236753749432978" xlink:to="dei_DocumentInformationLineItems_637236753749443091" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey_637236753749443091" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_EntityCentralIndexKey_637236753749443091" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentType" xlink:label="dei_DocumentType_637236753749443091" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_DocumentType_637236753749443091" order="2" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentRegistrationStatement" xlink:label="dei_DocumentRegistrationStatement_637236753749443091" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_DocumentRegistrationStatement_637236753749443091" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport_637236753749443091" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_DocumentAnnualReport_637236753749443091" order="4" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate_637236753749443091" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_DocumentPeriodEndDate_637236753749443091" order="5" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber_637236753749443091" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_EntityFileNumber_637236753749443091" order="6" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName_637236753749443091" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_EntityRegistrantName_637236753749443091" order="7" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode_637236753749443091" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_EntityIncorporationStateCountryCode_637236753749443091" order="8" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1_637236753749443091" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_EntityAddressAddressLine1_637236753749443091" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown_637236753749443091" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_EntityAddressCityOrTown_637236753749443091" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry_637236753749443091" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_EntityAddressCountry_637236753749443091" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode_637236753749443091" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_EntityAddressPostalZipCode_637236753749443091" order="12" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_ContactPersonnelName" xlink:label="dei_ContactPersonnelName_637236753749443091" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_ContactPersonnelName_637236753749443091" order="13" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode_637236753749452958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_CityAreaCode_637236753749452958" order="14" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber_637236753749452958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_LocalPhoneNumber_637236753749452958" order="15" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle_637236753749452958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_Security12bTitle_637236753749452958" order="16" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName_637236753749452958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_SecurityExchangeName_637236753749452958" order="17" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag_637236753749452958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_AmendmentFlag_637236753749452958" order="18" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate_637236753749452958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_CurrentFiscalYearEndDate_637236753749452958" order="19" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer_637236753749452958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_EntityWellKnownSeasonedIssuer_637236753749452958" order="20" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers_637236753749452958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_EntityVoluntaryFilers_637236753749452958" order="21" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus_637236753749452958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_EntityCurrentReportingStatus_637236753749452958" order="22" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent_637236753749452958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_EntityInteractiveDataCurrent_637236753749452958" order="23" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory_637236753749452958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_EntityFilerCategory_637236753749452958" order="24" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany_637236753749462954" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_EntityEmergingGrowthCompany_637236753749462954" order="25" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentAccountingStandard" xlink:label="dei_DocumentAccountingStandard_637236753749462954" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_DocumentAccountingStandard_637236753749462954" order="26" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany_637236753749462954" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_EntityShellCompany_637236753749462954" order="27" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_NoTradingSymbolFlag" xlink:label="dei_NoTradingSymbolFlag_637236753749462954" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_NoTradingSymbolFlag_637236753749462954" order="28" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding_637236753749462954" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_EntityCommonStockSharesOutstanding_637236753749462954" order="29" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus_637236753749462954" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_DocumentFiscalYearFocus_637236753749462954" order="30" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus_637236753749462954" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_DocumentFiscalPeriodFocus_637236753749462954" order="31" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport_637236753749462954" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_DocumentTransitionReport_637236753749462954" order="32" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentShellCompanyReport" xlink:label="dei_DocumentShellCompanyReport_637236753749472952" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_637236753749443091" xlink:to="dei_DocumentShellCompanyReport_637236753749472952" order="33" use="optional" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets" xlink:type="extended" xlink:title="00100 - Statement - CONSOLIDATED BALANCE SHEETS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="StatementOfFinancialPositionAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract_637236753749472952" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="us-gaap_AssetsAbstract_637236753749472952" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract_637236753749472952" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637236753749472952" xlink:to="us-gaap_AssetsCurrentAbstract_637236753749472952" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_637236753749472952" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_637236753749472952" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_637236753749472952" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_637236753749472952" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_637236753749472952" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_637236753749472952" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_637236753749472952" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_637236753749472952" xlink:to="us-gaap_AccountsReceivableNetCurrent_637236753749472952" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="us-gaap_UnbilledReceivablesCurrent_637236753749472952" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_637236753749472952" xlink:to="us-gaap_UnbilledReceivablesCurrent_637236753749472952" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DueFromRelatedPartiesCurrent" xlink:label="us-gaap_DueFromRelatedPartiesCurrent_637236753749472952" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_637236753749472952" xlink:to="us-gaap_DueFromRelatedPartiesCurrent_637236753749472952" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet_637236753749472952" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_637236753749472952" xlink:to="us-gaap_InventoryNet_637236753749472952" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValueAddedTaxReceivableCurrent" xlink:label="us-gaap_ValueAddedTaxReceivableCurrent_637236753749472952" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_637236753749472952" xlink:to="us-gaap_ValueAddedTaxReceivableCurrent_637236753749472952" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdvancesOnInventoryPurchases" xlink:label="us-gaap_AdvancesOnInventoryPurchases_637236753749472952" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_637236753749472952" xlink:to="us-gaap_AdvancesOnInventoryPurchases_637236753749472952" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeAssetsCurrent" xlink:label="us-gaap_DerivativeAssetsCurrent_637236753749472952" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_637236753749472952" xlink:to="us-gaap_DerivativeAssetsCurrent_637236753749472952" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsPlantsAndLandCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion_637236753749482966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_637236753749472952" xlink:to="csiq_ProjectAssetsPlantsAndLandCurrentPortion_637236753749482966" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_637236753749482966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_637236753749472952" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_637236753749482966" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_637236753749482966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_637236753749472952" xlink:to="us-gaap_AssetsCurrent_637236753749482966" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_637236753749482966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637236753749472952" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_637236753749482966" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_637236753749482966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637236753749472952" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_637236753749482966" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarPowerSystems" xlink:label="csiq_SolarPowerSystems_637236753749482966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637236753749472952" xlink:to="csiq_SolarPowerSystems_637236753749482966" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_637236753749482966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637236753749472952" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_637236753749482966" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AdvancesOnInventoryPurchasesNonCurrent" xlink:label="csiq_AdvancesOnInventoryPurchasesNonCurrent_637236753749482966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637236753749472952" xlink:to="csiq_AdvancesOnInventoryPurchasesNonCurrent_637236753749482966" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PrepaidExpenseNoncurrent" xlink:label="us-gaap_PrepaidExpenseNoncurrent_637236753749482966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637236753749472952" xlink:to="us-gaap_PrepaidExpenseNoncurrent_637236753749482966" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments_637236753749482966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637236753749472952" xlink:to="us-gaap_EquityMethodInvestments_637236753749482966" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_637236753749482966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637236753749472952" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_637236753749482966" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_637236753749482966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637236753749472952" xlink:to="us-gaap_Goodwill_637236753749482966" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeAssetsNoncurrent" xlink:label="us-gaap_DerivativeAssetsNoncurrent_637236753749492958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637236753749472952" xlink:to="us-gaap_DerivativeAssetsNoncurrent_637236753749492958" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsPlantsAndLandNonCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_637236753749492958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637236753749472952" xlink:to="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_637236753749492958" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_637236753749492958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637236753749472952" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_637236753749492958" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_637236753749492958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637236753749472952" xlink:to="us-gaap_OtherAssetsNoncurrent_637236753749492958" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets_637236753749492958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637236753749472952" xlink:to="us-gaap_Assets_637236753749492958" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637236753749492958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637236753749492958" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract_637236753749492958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637236753749492958" xlink:to="us-gaap_LiabilitiesCurrentAbstract_637236753749492958" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings_637236753749492958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_637236753749492958" xlink:to="us-gaap_ShortTermBorrowings_637236753749492958" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LongTermBorrowingsOnProjectAssetsCurrent" xlink:label="csiq_LongTermBorrowingsOnProjectAssetsCurrent_637236753749492958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_637236753749492958" xlink:to="csiq_LongTermBorrowingsOnProjectAssetsCurrent_637236753749492958" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableTradeCurrent" xlink:label="us-gaap_AccountsPayableTradeCurrent_637236753749492958" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_637236753749492958" xlink:to="us-gaap_AccountsPayableTradeCurrent_637236753749492958" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ShortTermNotesPayable" xlink:label="csiq_ShortTermNotesPayable_637236753749502961" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_637236753749492958" xlink:to="csiq_ShortTermNotesPayable_637236753749502961" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DueToRelatedPartiesCurrent" xlink:label="us-gaap_DueToRelatedPartiesCurrent_637236753749502961" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_637236753749492958" xlink:to="us-gaap_DueToRelatedPartiesCurrent_637236753749502961" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableOtherCurrent" xlink:label="us-gaap_AccountsPayableOtherCurrent_637236753749502961" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_637236753749492958" xlink:to="us-gaap_AccountsPayableOtherCurrent_637236753749502961" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="us-gaap_ConvertibleNotesPayableCurrent_637236753749502961" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_637236753749492958" xlink:to="us-gaap_ConvertibleNotesPayableCurrent_637236753749502961" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_637236753749502961" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_637236753749492958" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_637236753749502961" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeLiabilitiesCurrent" xlink:label="us-gaap_DerivativeLiabilitiesCurrent_637236753749502961" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_637236753749492958" xlink:to="us-gaap_DerivativeLiabilitiesCurrent_637236753749502961" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_637236753749502961" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_637236753749492958" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_637236753749502961" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_FinancingLiabilitiesCurrent" xlink:label="csiq_FinancingLiabilitiesCurrent_637236753749512957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_637236753749492958" xlink:to="csiq_FinancingLiabilitiesCurrent_637236753749512957" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent_637236753749512957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_637236753749492958" xlink:to="us-gaap_OtherLiabilitiesCurrent_637236753749512957" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_637236753749512957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_637236753749492958" xlink:to="us-gaap_LiabilitiesCurrent_637236753749512957" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductWarrantyAccrualNoncurrent" xlink:label="us-gaap_ProductWarrantyAccrualNoncurrent_637236753749512957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637236753749492958" xlink:to="us-gaap_ProductWarrantyAccrualNoncurrent_637236753749512957" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans_637236753749512957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637236753749492958" xlink:to="us-gaap_LongTermNotesAndLoans_637236753749512957" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DueToRelatedPartiesNoncurrent" xlink:label="us-gaap_DueToRelatedPartiesNoncurrent_637236753749512957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637236753749492958" xlink:to="us-gaap_DueToRelatedPartiesNoncurrent_637236753749512957" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeLiabilitiesNoncurrent" xlink:label="us-gaap_DerivativeLiabilitiesNoncurrent_637236753749512957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637236753749492958" xlink:to="us-gaap_DerivativeLiabilitiesNoncurrent_637236753749512957" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_637236753749522957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637236753749492958" xlink:to="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_637236753749522957" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_637236753749522957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637236753749492958" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_637236753749522957" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingencyAccrualAtCarryingValue" xlink:label="us-gaap_LossContingencyAccrualAtCarryingValue_637236753749522957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637236753749492958" xlink:to="us-gaap_LossContingencyAccrualAtCarryingValue_637236753749522957" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_637236753749522957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637236753749492958" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_637236753749522957" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_FinancingLiabilitiesNonCurrent" xlink:label="csiq_FinancingLiabilitiesNonCurrent_637236753749522957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637236753749492958" xlink:to="csiq_FinancingLiabilitiesNonCurrent_637236753749522957" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_637236753749522957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637236753749492958" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_637236753749522957" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_637236753749532953" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637236753749492958" xlink:to="us-gaap_Liabilities_637236753749532953" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies_637236753749532953" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637236753749492958" xlink:to="us-gaap_CommitmentsAndContingencies_637236753749532953" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637236753749532953" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637236753749492958" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637236753749532953" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue_637236753749532953" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637236753749532953" xlink:to="us-gaap_CommonStockValue_637236753749532953" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue_637236753749532953" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637236753749532953" xlink:to="us-gaap_TreasuryStockCommonValue_637236753749532953" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_637236753749532953" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637236753749532953" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_637236753749532953" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_637236753749542959" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637236753749532953" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_637236753749542959" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_637236753749542959" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637236753749532953" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_637236753749542959" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_637236753749542959" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637236753749532953" xlink:to="us-gaap_StockholdersEquity_637236753749542959" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest_637236753749542959" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637236753749532953" xlink:to="us-gaap_MinorityInterest_637236753749542959" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_637236753749542959" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637236753749532953" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_637236753749542959" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_637236753749542959" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637236753749492958" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_637236753749542959" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical" xlink:type="extended" xlink:title="00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_636916112133615750" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_637236753749552957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract_636916112133615750" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_637236753749552957" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent" xlink:label="csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent_637236753749552957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract_636916112133615750" xlink:to="csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent_637236753749552957" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent" xlink:label="csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent_637236753749552957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract_636916112133615750" xlink:to="csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent_637236753749552957" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_637236753749552957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract_636916112133615750" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_637236753749552957" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued_637236753749552957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract_636916112133615750" xlink:to="us-gaap_CommonStockSharesIssued_637236753749552957" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding_637236753749552957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract_636916112133615750" xlink:to="us-gaap_CommonStockSharesOutstanding_637236753749552957" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockShares" xlink:label="us-gaap_TreasuryStockShares_637236753749552957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract_636916112133615750" xlink:to="us-gaap_TreasuryStockShares_637236753749552957" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations" xlink:type="extended" xlink:title="00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementAbstract" xlink:label="IncomeStatementAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SalesRevenueAbstract" xlink:label="csiq_SalesRevenueAbstract_637236753749552957" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="csiq_SalesRevenueAbstract_637236753749552957" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_RevenueFromNonrelatedParties" xlink:label="csiq_RevenueFromNonrelatedParties_637236753749562971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_SalesRevenueAbstract_637236753749552957" xlink:to="csiq_RevenueFromNonrelatedParties_637236753749562971" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromRelatedParties" xlink:label="us-gaap_RevenueFromRelatedParties_637236753749562971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_SalesRevenueAbstract_637236753749552957" xlink:to="us-gaap_RevenueFromRelatedParties_637236753749562971" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_637236753749562971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_SalesRevenueAbstract_637236753749552957" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_637236753749562971" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostOfGoodsAndServicesSoldAbstract" xlink:label="us-gaap_CostOfGoodsAndServicesSoldAbstract_637236753749562971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_CostOfGoodsAndServicesSoldAbstract_637236753749562971" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CostOfGoodsAndServicesSoldNonrelatedParties" xlink:label="csiq_CostOfGoodsAndServicesSoldNonrelatedParties_637236753749562971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostOfGoodsAndServicesSoldAbstract_637236753749562971" xlink:to="csiq_CostOfGoodsAndServicesSoldNonrelatedParties_637236753749562971" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartiesAmountInCostOfSales" xlink:label="us-gaap_RelatedPartiesAmountInCostOfSales_637236753749562971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostOfGoodsAndServicesSoldAbstract_637236753749562971" xlink:to="us-gaap_RelatedPartiesAmountInCostOfSales_637236753749562971" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold_637236753749562971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostOfGoodsAndServicesSoldAbstract_637236753749562971" xlink:to="us-gaap_CostOfGoodsAndServicesSold_637236753749562971" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_637236753749562971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_GrossProfit_637236753749562971" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract_637236753749562971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_OperatingExpensesAbstract_637236753749562971" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SellingExpense" xlink:label="us-gaap_SellingExpense_637236753749562971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_637236753749562971" xlink:to="us-gaap_SellingExpense_637236753749562971" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense_637236753749562971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_637236753749562971" xlink:to="us-gaap_GeneralAndAdministrativeExpense_637236753749562971" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense_637236753749562971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_637236753749562971" xlink:to="us-gaap_ResearchAndDevelopmentExpense_637236753749562971" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_637236753749562971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_637236753749562971" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet_637236753749562971" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses_637236753749562971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_637236753749562971" xlink:to="us-gaap_OperatingExpenses_637236753749562971" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_637236753749562971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_OperatingIncomeLoss_637236753749562971" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_637236753749572963" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract_637236753749572963" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense_637236753749572963" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_637236753749572963" xlink:to="us-gaap_InterestExpense_637236753749572963" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest_637236753749572963" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_637236753749572963" xlink:to="us-gaap_InvestmentIncomeInterest_637236753749572963" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_637236753749572963" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_637236753749572963" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_637236753749572963" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/positiveLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_637236753749572963" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_637236753749572963" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_637236753749572963" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainLossOnInvestments" xlink:label="us-gaap_GainLossOnInvestments_637236753749572963" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_637236753749572963" xlink:to="us-gaap_GainLossOnInvestments_637236753749572963" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense_637236753749572963" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_637236753749572963" xlink:to="us-gaap_NonoperatingIncomeExpense_637236753749572963" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_637236753749572963" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_637236753749572963" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_637236753749572963" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit_637236753749572963" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_637236753749572963" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_637236753749572963" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_637236753749572963" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_ProfitLoss_637236753749572963" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_637236753749582961" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_637236753749582961" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_637236753749582961" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_637236753749582961" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic_637236753749582961" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_EarningsPerShareBasic_637236753749582961" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_637236753749582961" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_637236753749582961" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted_637236753749582961" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_EarningsPerShareDiluted_637236753749582961" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_637236753749582961" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_637236753749582961" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" xlink:type="extended" xlink:title="00300 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="StatementOfIncomeAndComprehensiveIncomeAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_637236753749592977" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_ProfitLoss_637236753749592977" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_637236753749592977" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_637236753749592977" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_637236753749592977" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_637236753749592977" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_637236753749592977" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax" xlink:label="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax_637236753749592977" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_637236753749592977" xlink:to="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax_637236753749592977" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" xlink:label="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax_637236753749592977" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_637236753749592977" xlink:to="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax_637236753749592977" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" xlink:label="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_637236753749592977" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_637236753749592977" xlink:to="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_637236753749592977" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_637236753749592977" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_637236753749592977" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_637236753749592977" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_637236753749592977" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_637236753749592977" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_637236753749592977" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity" xlink:type="extended" xlink:title="00400 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="StatementOfStockholdersEquityAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_637236753749592977" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementTable_637236753749592977" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_637236753749592977" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_637236753749592977" xlink:to="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_637236753749592977" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingStandardsUpdate201409Member" xlink:label="us-gaap_AccountingStandardsUpdate201409Member_637236753749592977" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_637236753749592977" xlink:to="us-gaap_AccountingStandardsUpdate201409Member_637236753749592977" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember_637236753749592977" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_637236753749592977" xlink:to="us-gaap_TypeOfAdoptionMember_637236753749592977" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_637236753749592977" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_637236753749592977" xlink:to="us-gaap_StatementEquityComponentsAxis_637236753749592977" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember_637236753749592977" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_637236753749592977" xlink:to="us-gaap_CommonStockMember_637236753749592977" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockMember" xlink:label="us-gaap_TreasuryStockMember_637236753749602971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_637236753749592977" xlink:to="us-gaap_TreasuryStockMember_637236753749602971" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember_637236753749602971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_637236753749592977" xlink:to="us-gaap_AdditionalPaidInCapitalMember_637236753749602971" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember_637236753749652966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_637236753749592977" xlink:to="us-gaap_RetainedEarningsMember_637236753749652966" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_637236753749652966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_637236753749592977" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_637236753749652966" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ParentMember" xlink:label="us-gaap_ParentMember_637236753749652966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_637236753749592977" xlink:to="us-gaap_ParentMember_637236753749652966" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember_637236753749652966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_637236753749592977" xlink:to="us-gaap_NoncontrollingInterestMember_637236753749652966" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_637236753749652966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_637236753749592977" xlink:to="us-gaap_EquityComponentDomain_637236753749652966" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_637236753749652966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_637236753749592977" xlink:to="us-gaap_StatementLineItems_637236753749652966" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637236753749652966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_637236753749652966" xlink:to="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637236753749652966" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_637236753749652966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637236753749652966" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_637236753749652966" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued_637236753749652966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637236753749652966" xlink:to="us-gaap_CommonStockSharesIssued_637236753749652966" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_637236753749652966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637236753749652966" xlink:to="us-gaap_ProfitLoss_637236753749652966" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_637236753749652966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637236753749652966" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_637236753749652966" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CumulativeEffectOnRetainedEarningsTax1" xlink:label="us-gaap_CumulativeEffectOnRetainedEarningsTax1_637236753749662980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637236753749652966" xlink:to="us-gaap_CumulativeEffectOnRetainedEarningsTax1_637236753749662980" order="5" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="7" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination_637236753749662980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637236753749652966" xlink:to="us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination_637236753749662980" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MinorityInterestDecreaseFromRedemptions" xlink:label="us-gaap_MinorityInterestDecreaseFromRedemptions_637236753749662980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637236753749652966" xlink:to="us-gaap_MinorityInterestDecreaseFromRedemptions_637236753749662980" order="7" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod_637236753749662980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637236753749652966" xlink:to="us-gaap_TreasuryStockValueAcquiredCostMethod_637236753749662980" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockSharesAcquired" xlink:label="us-gaap_TreasuryStockSharesAcquired_637236753749662980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637236753749652966" xlink:to="us-gaap_TreasuryStockSharesAcquired_637236753749662980" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_637236753749662980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637236753749652966" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_637236753749662980" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_637236753749662980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637236753749652966" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_637236753749662980" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_637236753749662980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637236753749652966" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_637236753749662980" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap" xlink:label="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_637236753749662980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637236753749652966" xlink:to="csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap_637236753749662980" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_637236753749662980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637236753749652966" xlink:to="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_637236753749662980" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest_637236753749672968" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637236753749652966" xlink:to="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest_637236753749672968" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_637236753749672968" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637236753749652966" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_637236753749672968" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_637236753749672968" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637236753749652966" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_637236753749672968" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued_637236753749672968" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_637236753749652966" xlink:to="us-gaap_CommonStockSharesIssued_637236753749672968" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical" xlink:type="extended" xlink:title="00405 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_637236753749672968" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_637236753749672968" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_637236753749672968" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue_637236753749672968" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows" xlink:type="extended" xlink:title="00500 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="StatementOfCashFlowsAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_637236753749682974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_637236753749682974" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_637236753749682974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_637236753749682974" xlink:to="us-gaap_ProfitLoss_637236753749682974" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637236753749682974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_637236753749682974" xlink:to="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637236753749682974" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_637236753749682974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637236753749682974" xlink:to="us-gaap_DepreciationDepletionAndAmortization_637236753749682974" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_637236753749682974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637236753749682974" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_637236753749682974" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_637236753749682974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637236753749682974" xlink:to="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_637236753749682974" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_637236753749682974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637236753749682974" xlink:to="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_637236753749682974" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges_637236753749682974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637236753749682974" xlink:to="us-gaap_AssetImpairmentCharges_637236753749682974" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsImpairmentCharge" xlink:label="csiq_ProjectAssetsImpairmentCharge_637236753749682974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637236753749682974" xlink:to="csiq_ProjectAssetsImpairmentCharge_637236753749682974" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ImpairmentOfInvestments" xlink:label="us-gaap_ImpairmentOfInvestments_637236753749682974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637236753749682974" xlink:to="us-gaap_ImpairmentOfInvestments_637236753749682974" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_637236753749682974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637236753749682974" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_637236753749682974" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_637236753749682974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637236753749682974" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_637236753749682974" order="9" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_637236753749682974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637236753749682974" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_637236753749682974" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NonCashOperatingLeaseExpenses" xlink:label="csiq_NonCashOperatingLeaseExpenses_637236753749682974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637236753749682974" xlink:to="csiq_NonCashOperatingLeaseExpenses_637236753749682974" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryWriteDown" xlink:label="us-gaap_InventoryWriteDown_637236753749692974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637236753749682974" xlink:to="us-gaap_InventoryWriteDown_637236753749692974" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_637236753749692974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637236753749682974" xlink:to="us-gaap_ShareBasedCompensation_637236753749692974" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_UnrealizedGainLossFromSalesToInvestees" xlink:label="csiq_UnrealizedGainLossFromSalesToInvestees_637236753749692974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637236753749682974" xlink:to="csiq_UnrealizedGainLossFromSalesToInvestees_637236753749692974" order="14" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753749692974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_637236753749682974" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753749692974" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_637236753749692974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753749692974" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_637236753749692974" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_637236753749692974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753749692974" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_637236753749692974" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_637236753749692974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753749692974" xlink:to="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_637236753749692974" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories_637236753749692974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753749692974" xlink:to="us-gaap_IncreaseDecreaseInInventories_637236753749692974" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInValueAddedTaxReceivable" xlink:label="csiq_IncreaseDecreaseInValueAddedTaxReceivable_637236753749692974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753749692974" xlink:to="csiq_IncreaseDecreaseInValueAddedTaxReceivable_637236753749692974" order="5" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInAdvanceToSuppliers" xlink:label="csiq_IncreaseDecreaseInAdvanceToSuppliers_637236753749692974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753749692974" xlink:to="csiq_IncreaseDecreaseInAdvanceToSuppliers_637236753749692974" order="6" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInProjectAssets" xlink:label="csiq_IncreaseDecreaseInProjectAssets_637236753749692974" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753749692974" xlink:to="csiq_IncreaseDecreaseInProjectAssets_637236753749692974" order="7" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_637236753749702968" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753749692974" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_637236753749702968" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_637236753749702968" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753749692974" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_637236753749702968" order="9" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade_637236753749702968" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753749692974" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableTrade_637236753749702968" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInNotesPayableCurrent" xlink:label="us-gaap_IncreaseDecreaseInNotesPayableCurrent_637236753749702968" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753749692974" xlink:to="us-gaap_IncreaseDecreaseInNotesPayableCurrent_637236753749702968" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_637236753749702968" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753749692974" xlink:to="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_637236753749702968" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInOtherAccountsPayable_637236753749702968" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753749692974" xlink:to="us-gaap_IncreaseDecreaseInOtherAccountsPayable_637236753749702968" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_637236753749702968" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753749692974" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_637236753749702968" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:label="csiq_IncreaseDecreaseInOperatingLeaseLiabilities_637236753749702968" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753749692974" xlink:to="csiq_IncreaseDecreaseInOperatingLeaseLiabilities_637236753749702968" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_637236753749702968" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753749692974" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_637236753749702968" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInProductWarrantyAccrual" xlink:label="csiq_IncreaseDecreaseInProductWarrantyAccrual_637236753749712966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753749692974" xlink:to="csiq_IncreaseDecreaseInProductWarrantyAccrual_637236753749712966" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInPrepaidLandUseRight" xlink:label="csiq_IncreaseDecreaseInPrepaidLandUseRight_637236753749712966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753749692974" xlink:to="csiq_IncreaseDecreaseInPrepaidLandUseRight_637236753749712966" order="18" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInGoodwill" xlink:label="csiq_IncreaseDecreaseInGoodwill_637236753749712966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753749692974" xlink:to="csiq_IncreaseDecreaseInGoodwill_637236753749712966" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_637236753749712966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753749692974" xlink:to="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_637236753749712966" order="20" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_637236753749712966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753749692974" xlink:to="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_637236753749712966" order="21" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_637236753749712966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753749692974" xlink:to="us-gaap_GainLossOnSaleOfDerivatives_637236753749712966" order="22" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement_637236753749712966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753749692974" xlink:to="us-gaap_OtherOperatingActivitiesCashFlowStatement_637236753749712966" order="23" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753749722965" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_637236753749682974" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753749722965" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_637236753749722965" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_637236753749722965" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments_637236753749722965" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_637236753749722965" xlink:to="us-gaap_PaymentsToAcquireEquityMethodInvestments_637236753749722965" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" xlink:label="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_637236753749722965" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_637236753749722965" xlink:to="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_637236753749722965" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:label="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_637236753749722965" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_637236753749722965" xlink:to="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_637236753749722965" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets" xlink:label="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets_637236753749722965" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_637236753749722965" xlink:to="csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets_637236753749722965" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PaymentsToAcquireSolarPowerSystems" xlink:label="csiq_PaymentsToAcquireSolarPowerSystems_637236753749722965" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_637236753749722965" xlink:to="csiq_PaymentsToAcquireSolarPowerSystems_637236753749722965" order="5" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems" xlink:label="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_637236753749732966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_637236753749722965" xlink:to="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_637236753749732966" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromInsuranceSettlementInvestingActivities" xlink:label="us-gaap_ProceedsFromInsuranceSettlementInvestingActivities_637236753749732966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_637236753749722965" xlink:to="us-gaap_ProceedsFromInsuranceSettlementInvestingActivities_637236753749732966" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries" xlink:label="us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries_637236753749732966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_637236753749722965" xlink:to="us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries_637236753749732966" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_637236753749732966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_637236753749722965" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_637236753749732966" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_637236753749732966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_637236753749732966" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromNotesPayable" xlink:label="us-gaap_ProceedsFromNotesPayable_637236753749732966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_637236753749732966" xlink:to="us-gaap_ProceedsFromNotesPayable_637236753749732966" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentsOfNotesPayable" xlink:label="us-gaap_RepaymentsOfNotesPayable_637236753749732966" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_637236753749732966" xlink:to="us-gaap_RepaymentsOfNotesPayable_637236753749732966" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt_637236753749742969" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_637236753749732966" xlink:to="us-gaap_ProceedsFromIssuanceOfLongTermDebt_637236753749742969" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="us-gaap_PaymentsToMinorityShareholders_637236753749742969" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_637236753749732966" xlink:to="us-gaap_PaymentsToMinorityShareholders_637236753749742969" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromMinorityShareholders" xlink:label="us-gaap_ProceedsFromMinorityShareholders_637236753749742969" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_637236753749732966" xlink:to="us-gaap_ProceedsFromMinorityShareholders_637236753749742969" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProceedsFromThirdPartyFinancingLiabilities" xlink:label="csiq_ProceedsFromThirdPartyFinancingLiabilities_637236753749742969" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_637236753749732966" xlink:to="csiq_ProceedsFromThirdPartyFinancingLiabilities_637236753749742969" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SaleLeasebackTransactionNetProceedsFinancingActivities" xlink:label="us-gaap_SaleLeasebackTransactionNetProceedsFinancingActivities_637236753749742969" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_637236753749732966" xlink:to="us-gaap_SaleLeasebackTransactionNetProceedsFinancingActivities_637236753749742969" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PaymentsOfDistributionsToTaxEquityInvestors" xlink:label="csiq_PaymentsOfDistributionsToTaxEquityInvestors_637236753749752978" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_637236753749732966" xlink:to="csiq_PaymentsOfDistributionsToTaxEquityInvestors_637236753749752978" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeasePrincipalPayments" xlink:label="us-gaap_FinanceLeasePrincipalPayments_637236753749752978" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_637236753749732966" xlink:to="us-gaap_FinanceLeasePrincipalPayments_637236753749752978" order="9" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentsOfCommercialPaper" xlink:label="us-gaap_RepaymentsOfCommercialPaper_637236753749752978" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_637236753749732966" xlink:to="us-gaap_RepaymentsOfCommercialPaper_637236753749752978" order="10" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentsOfConvertibleDebt" xlink:label="us-gaap_RepaymentsOfConvertibleDebt_637236753749752978" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_637236753749732966" xlink:to="us-gaap_RepaymentsOfConvertibleDebt_637236753749752978" order="11" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_637236753749752978" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_637236753749732966" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_637236753749752978" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsForRepurchaseOfOtherEquity" xlink:label="us-gaap_PaymentsForRepurchaseOfOtherEquity_637236753749762972" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_637236753749732966" xlink:to="us-gaap_PaymentsForRepurchaseOfOtherEquity_637236753749762972" order="13" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_637236753749762972" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_637236753749732966" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_637236753749762972" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_637236753749762972" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_637236753749762972" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_637236753749762972" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_637236753749762972" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_637236753749762972" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_637236753749762972" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NetIncreaseDecreaseCashAndCashEquivalentsAssetsHeldForSale" xlink:label="csiq_NetIncreaseDecreaseCashAndCashEquivalentsAssetsHeldForSale_637236753749772971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="csiq_NetIncreaseDecreaseCashAndCashEquivalentsAssetsHeldForSale_637236753749772971" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_637236753749772971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_637236753749772971" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_637236753749772971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_637236753749772971" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet_637236753749772971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_637236753749772971" xlink:to="us-gaap_InterestPaidNet_637236753749772971" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet_637236753749772971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_637236753749772971" xlink:to="us-gaap_IncomeTaxesPaidNet_637236753749772971" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract_637236753749782970" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_637236753749772971" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract_637236753749782970" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarPowerSystemsReclassifiedToProjectAssets" xlink:label="csiq_SolarPowerSystemsReclassifiedToProjectAssets_637236753749782970" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract_637236753749782970" xlink:to="csiq_SolarPowerSystemsReclassifiedToProjectAssets_637236753749782970" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid_637236753749782970" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract_637236753749782970" xlink:to="us-gaap_CapitalExpendituresIncurredButNotYetPaid_637236753749782970" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical" xlink:type="extended" xlink:title="00505 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract_636916143964794580" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_637236753749792979" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_636916143964794580" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_637236753749792979" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_637236753749792979" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_636916143964794580" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_637236753749792979" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_637236753749792979" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_636916143964794580" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_637236753749792979" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_637236753749792979" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_636916143964794580" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_637236753749792979" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivities" xlink:type="extended" xlink:title="10101 - Disclosure - ORGANIZATION AND PRINCIPAL ACTIVITIES" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NatureOfOperations" xlink:label="us-gaap_NatureOfOperations_637236753749792979" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_NatureOfOperations_637236753749792979" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPolicies" xlink:type="extended" xlink:title="10201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_637236753749792979" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_637236753749792979" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccounts" xlink:type="extended" xlink:title="10301 - Disclosure - ALLOWANCE FOR DOUBTFUL ACCOUNTS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ReceivablesAbstract" xlink:label="ReceivablesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllowanceForCreditLossesTextBlock" xlink:label="us-gaap_AllowanceForCreditLossesTextBlock_637236753749792979" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ReceivablesAbstract" xlink:to="us-gaap_AllowanceForCreditLossesTextBlock_637236753749792979" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureInventories" xlink:type="extended" xlink:title="10401 - Disclosure - INVENTORIES" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="InventoryDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock_637236753749792979" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureTextBlock_637236753749792979" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureProjectAssets" xlink:type="extended" xlink:title="10501 - Disclosure - PROJECT ASSETS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsAbstract" xlink:label="csiq_ProjectAssetsAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsDisclosureTextBlock" xlink:label="csiq_ProjectAssetsDisclosureTextBlock_637236753749802980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract" xlink:to="csiq_ProjectAssetsDisclosureTextBlock_637236753749802980" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNet" xlink:type="extended" xlink:title="10601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="PropertyPlantAndEquipmentAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_637236753749802980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_637236753749802980" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNet" xlink:type="extended" xlink:title="10701 - Disclosure - SOLAR POWER SYSTEMS, NET" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarPowerSystemsAbstract" xlink:label="csiq_SolarPowerSystemsAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarPowerSystemsTextBlock" xlink:label="csiq_SolarPowerSystemsTextBlock_637236753749802980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_SolarPowerSystemsAbstract" xlink:to="csiq_SolarPowerSystemsTextBlock_637236753749802980" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNet" xlink:type="extended" xlink:title="10801 - Disclosure - INTANGIBLE ASSETS, NET" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:label="FiniteLivedIntangibleAssetsNetAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_637236753749802980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock_637236753749802980" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurement" xlink:type="extended" xlink:title="10901 - Disclosure - FAIR VALUE MEASUREMENT" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock_637236753749802980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueDisclosuresTextBlock_637236753749802980" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureVariableInterestEntities" xlink:type="extended" xlink:title="11001 - Disclosure - VARIABLE INTEREST ENTITIES" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableInterestEntityDisclosureTextBlock" xlink:label="us-gaap_VariableInterestEntityDisclosureTextBlock_637236753749802980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:to="us-gaap_VariableInterestEntityDisclosureTextBlock_637236753749802980" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliates" xlink:type="extended" xlink:title="11101 - Disclosure - INVESTMENTS IN AFFILIATES" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:label="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestmentsDisclosureTextBlock" xlink:label="us-gaap_EquityMethodInvestmentsDisclosureTextBlock_637236753749812980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:to="us-gaap_EquityMethodInvestmentsDisclosureTextBlock_637236753749812980" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLease" xlink:type="extended" xlink:title="11201 - Disclosure - LEASE" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_637236753749812980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_637236753749812980" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowings" xlink:type="extended" xlink:title="11301 - Disclosure - BORROWINGS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock_637236753749812980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureTextBlock_637236753749812980" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureShortTermNotesPayable" xlink:type="extended" xlink:title="11401 - Disclosure - SHORT-TERM NOTES PAYABLE" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NotesPayableAbstract" xlink:label="NotesPayableAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ShortTermNotesPayableTextBlock" xlink:label="csiq_ShortTermNotesPayableTextBlock_637236753749812980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NotesPayableAbstract" xlink:to="csiq_ShortTermNotesPayableTextBlock_637236753749812980" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCosts" xlink:type="extended" xlink:title="11501 - Disclosure - ACCRUED WARRANTY COSTS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:label="ProductWarrantiesDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductWarrantyDisclosureTextBlock" xlink:label="us-gaap_ProductWarrantyDisclosureTextBlock_637236753749812980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductWarrantiesDisclosuresAbstract" xlink:to="us-gaap_ProductWarrantyDisclosureTextBlock_637236753749812980" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureRestrictedNetAssets" xlink:type="extended" xlink:title="11601 - Disclosure - RESTRICTED NET ASSETS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xlink:label="RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedAssetsDisclosureTextBlock" xlink:label="us-gaap_RestrictedAssetsDisclosureTextBlock_637236753749822982" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xlink:to="us-gaap_RestrictedAssetsDisclosureTextBlock_637236753749822982" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureConvertibleNotes" xlink:type="extended" xlink:title="11701 - Disclosure - CONVERTIBLE NOTES" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ConvertibleNotesDisclosureAbstract" xlink:label="csiq_ConvertibleNotesDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ConvertibleNotesDisclosureTextBlock" xlink:label="csiq_ConvertibleNotesDisclosureTextBlock_637236753749822982" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ConvertibleNotesDisclosureAbstract" xlink:to="csiq_ConvertibleNotesDisclosureTextBlock_637236753749822982" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxes" xlink:type="extended" xlink:title="11801 - Disclosure - INCOME TAXES" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_637236753749822982" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_637236753749822982" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureEarningsPerShare" xlink:type="extended" xlink:title="11901 - Disclosure - EARNINGS PER SHARE" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock_637236753749822982" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareTextBlock_637236753749822982" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactions" xlink:type="extended" xlink:title="12001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="RelatedPartyTransactionsAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_637236753749822982" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_637236753749822982" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingencies" xlink:type="extended" xlink:title="12101 - Disclosure - COMMITMENTS AND CONTINGENCIES" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="CommitmentsAndContingenciesDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_637236753749822982" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_637236753749822982" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSegmentInformation" xlink:type="extended" xlink:title="12201 - Disclosure - SEGMENT INFORMATION" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_637236753749832976" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_637236753749832976" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureMajorCustomers" xlink:type="extended" xlink:title="12301 - Disclosure - MAJOR CUSTOMERS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_MajorCustomersDisclosureAbstract" xlink:label="csiq_MajorCustomersDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_MajorCustomersDisclosureTextBlock" xlink:label="csiq_MajorCustomersDisclosureTextBlock_637236753749832976" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_MajorCustomersDisclosureAbstract" xlink:to="csiq_MajorCustomersDisclosureTextBlock_637236753749832976" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlans" xlink:type="extended" xlink:title="12401 - Disclosure - EMPLOYEE BENEFIT PLANS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="CompensationAndRetirementDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_637236753749832976" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_637236753749832976" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureShareBasedCompensation" xlink:type="extended" xlink:title="12501 - Disclosure - SHARE-BASED COMPENSATION" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_637236753749832976" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_637236753749832976" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSubsequentEvents" xlink:type="extended" xlink:title="12601 - Disclosure - SUBSEQUENT EVENTS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="SubsequentEventsAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock_637236753749832976" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsTextBlock_637236753749832976" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureAdditionalInformationFinancialStatementScheduleI" xlink:type="extended" xlink:title="12701 - Disclosure - Additional Information - Financial Statement Schedule I" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract_636806382097433328" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock" xlink:label="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock_637236753749842979" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract_636806382097433328" xlink:to="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock_637236753749842979" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsi" xlink:type="extended" xlink:title="12801 - Disclosure - Appendix 1 - Major Subsidiaries of CSI" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_MajorSubsidiariesDisclosuresAbstract" xlink:label="csiq_MajorSubsidiariesDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock_637236753749842979" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_MajorSubsidiariesDisclosuresAbstract" xlink:to="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock_637236753749842979" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies" xlink:type="extended" xlink:title="20202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Policies)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_637236753749842979" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_637236753749842979" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock_637236753749842979" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ConsolidationPolicyTextBlock_637236753749842979" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates_637236753749842979" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_UseOfEstimates_637236753749842979" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:label="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_637236753749842979" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_637236753749842979" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy" xlink:label="us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy_637236753749842979" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy_637236753749842979" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AllowanceForDoubtfulAccountsPolicyTextBlock" xlink:label="csiq_AllowanceForDoubtfulAccountsPolicyTextBlock_637236753749842979" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_AllowanceForDoubtfulAccountsPolicyTextBlock_637236753749842979" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AdvancesToSuppliersPolicyTextBlock" xlink:label="csiq_AdvancesToSuppliersPolicyTextBlock_637236753749842979" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_AdvancesToSuppliersPolicyTextBlock_637236753749842979" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock_637236753749842979" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_InventoryPolicyTextBlock_637236753749842979" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsPolicyTextBlock" xlink:label="csiq_ProjectAssetsPolicyTextBlock_637236753749842979" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_ProjectAssetsPolicyTextBlock_637236753749842979" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationsPolicy" xlink:label="us-gaap_BusinessCombinationsPolicy_637236753749842979" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_BusinessCombinationsPolicy_637236753749842979" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AssetsAcquisitionPolicyTextBlock" xlink:label="csiq_AssetsAcquisitionPolicyTextBlock_637236753749852980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_AssetsAcquisitionPolicyTextBlock_637236753749852980" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_637236753749852980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_637236753749852980" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DiscontinuedOperationsPolicyTextBlock" xlink:label="us-gaap_DiscontinuedOperationsPolicyTextBlock_637236753749852980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_DiscontinuedOperationsPolicyTextBlock_637236753749852980" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarPowerSystemsPolicyPolicyTextBlock" xlink:label="csiq_SolarPowerSystemsPolicyPolicyTextBlock_637236753749852980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_SolarPowerSystemsPolicyPolicyTextBlock_637236753749852980" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" xlink:label="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy_637236753749852980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy_637236753749852980" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PrepaymentForLandUseRightPolicyTextBlock" xlink:label="csiq_PrepaymentForLandUseRightPolicyTextBlock_637236753749852980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_PrepaymentForLandUseRightPolicyTextBlock_637236753749852980" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestmentsPolicy" xlink:label="us-gaap_EquityMethodInvestmentsPolicy_637236753749852980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_EquityMethodInvestmentsPolicy_637236753749852980" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_637236753749852980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_637236753749852980" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestCapitalizationPolicyPolicyTextBlock" xlink:label="us-gaap_InterestCapitalizationPolicyPolicyTextBlock_637236753749852980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_InterestCapitalizationPolicyPolicyTextBlock_637236753749852980" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetRetirementObligationsPolicy" xlink:label="us-gaap_AssetRetirementObligationsPolicy_637236753749852980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_AssetRetirementObligationsPolicy_637236753749852980" order="20" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock_637236753749852980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_LesseeLeasesPolicyTextBlock_637236753749852980" order="21" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesPolicyTextBlock_637236753749852980" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesPolicyTextBlock_637236753749852980" order="22" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_637236753749862971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_637236753749862971" order="23" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_637236753749862971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_637236753749862971" order="24" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock" xlink:label="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock_637236753749862971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock_637236753749862971" order="25" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy_637236753749862971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy_637236753749862971" order="26" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock" xlink:label="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock_637236753749862971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock_637236753749862971" order="27" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StandardProductWarrantyPolicy" xlink:label="us-gaap_StandardProductWarrantyPolicy_637236753749862971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_StandardProductWarrantyPolicy_637236753749862971" order="28" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_637236753749862971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_637236753749862971" order="29" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_637236753749862971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_637236753749862971" order="30" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ForeignCurrencyRiskPolicyTextBlock" xlink:label="csiq_ForeignCurrencyRiskPolicyTextBlock_637236753749862971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_ForeignCurrencyRiskPolicyTextBlock_637236753749862971" order="31" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk_637236753749872972" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ConcentrationRiskCreditRisk_637236753749872972" order="32" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_637236753749872972" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy_637236753749872972" order="33" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativesPolicyTextBlock" xlink:label="us-gaap_DerivativesPolicyTextBlock_637236753749872972" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_DerivativesPolicyTextBlock_637236753749872972" order="34" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_637236753749872972" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_637236753749872972" order="35" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_637236753749872972" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_637236753749872972" order="36" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_637236753749872972" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_637236753749872972" order="37" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables" xlink:type="extended" xlink:title="30203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock_637236753749882985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock_637236753749882985" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_637236753749882985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_637236753749882985" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_637236753749882985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_637236753749882985" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_637236753749882985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_637236753749882985" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock" xlink:label="csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock_637236753749882985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock_637236753749882985" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsTables" xlink:type="extended" xlink:title="30303 - Disclosure - ALLOWANCE FOR DOUBTFUL ACCOUNTS (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ReceivablesAbstract" xlink:label="ReceivablesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureTable_637236753749882985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ReceivablesAbstract" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureTable_637236753749882985" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis_637236753749882985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureTable_637236753749882985" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis_637236753749882985" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_637236753749882985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis_637236753749882985" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_637236753749882985" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllowanceForCreditLossMember" xlink:label="us-gaap_AllowanceForCreditLossMember_637236753749882985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_637236753749882985" xlink:to="us-gaap_AllowanceForCreditLossMember_637236753749882985" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AllowanceForAdvancesToSuppliersMember" xlink:label="csiq_AllowanceForAdvancesToSuppliersMember_637236753749882985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_637236753749882985" xlink:to="csiq_AllowanceForAdvancesToSuppliersMember_637236753749882985" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AllowanceForOtherReceivablesMember" xlink:label="csiq_AllowanceForOtherReceivablesMember_637236753749882985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_637236753749882985" xlink:to="csiq_AllowanceForOtherReceivablesMember_637236753749882985" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureLineItems_637236753749882985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureTable_637236753749882985" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureLineItems_637236753749882985" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xlink:label="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_637236753749882985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureLineItems_637236753749882985" xlink:to="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_637236753749882985" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureInventoriesTables" xlink:type="extended" xlink:title="30403 - Disclosure - INVENTORIES (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="InventoryDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_637236753749892985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_637236753749892985" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureProjectAssetsTables" xlink:type="extended" xlink:title="30503 - Disclosure - PROJECT ASSETS (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsAbstract" xlink:label="csiq_ProjectAssetsAbstract_635640928650455218" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ScheduleOfProjectAssetsTableTextBlock" xlink:label="csiq_ScheduleOfProjectAssetsTableTextBlock_637236753749892985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640928650455218" xlink:to="csiq_ScheduleOfProjectAssetsTableTextBlock_637236753749892985" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetTables" xlink:type="extended" xlink:title="30603 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="PropertyPlantAndEquipmentAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock_637236753749892985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentAbstract" xlink:to="csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock_637236753749892985" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetTables" xlink:type="extended" xlink:title="30703 - Disclosure - SOLAR POWER SYSTEMS, NET (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarPowerSystemsAbstract" xlink:label="csiq_SolarPowerSystemsAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock" xlink:label="csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock_637236753749892985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_SolarPowerSystemsAbstract" xlink:to="csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock_637236753749892985" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetTables" xlink:type="extended" xlink:title="30803 - Disclosure - INTANGIBLE ASSETS, NET (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:label="FiniteLivedIntangibleAssetsNetAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock_637236753749904323" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock_637236753749904323" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables" xlink:type="extended" xlink:title="30903 - Disclosure - FAIR VALUE MEASUREMENT (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_637236753749904323" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FairValueDisclosuresAbstract" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_637236753749904323" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_637236753749904323" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FairValueDisclosuresAbstract" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_637236753749904323" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesTables" xlink:type="extended" xlink:title="31003 - Disclosure - VARIABLE INTEREST ENTITIES (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfVariableInterestEntitiesTextBlock" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTextBlock_637236753749904323" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:to="us-gaap_ScheduleOfVariableInterestEntitiesTextBlock_637236753749904323" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTables" xlink:type="extended" xlink:title="31103 - Disclosure - INVESTMENTS IN AFFILIATES (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:label="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestmentsTextBlock" xlink:label="us-gaap_EquityMethodInvestmentsTextBlock_637236753749912985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:to="us-gaap_EquityMethodInvestmentsTextBlock_637236753749912985" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseTables" xlink:type="extended" xlink:title="31203 - Disclosure - LEASE (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock_637236753749912985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LeaseCostTableTextBlock_637236753749912985" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock" xlink:label="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock_637236753749912985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock_637236753749912985" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_637236753749912985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_637236753749912985" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ScheduleOfFutureMinimumLeasePaymentsForLeasesTableTextBlock" xlink:label="csiq_ScheduleOfFutureMinimumLeasePaymentsForLeasesTableTextBlock_637236753749912985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_ScheduleOfFutureMinimumLeasePaymentsForLeasesTableTextBlock_637236753749912985" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsTables" xlink:type="extended" xlink:title="31303 - Disclosure - BORROWINGS (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock_637236753749912985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_ScheduleOfDebtTableTextBlock_637236753749912985" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_637236753749912985" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_637236753749912985" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ScheduleOfEffectiveInterestRatesTableTextBlock" xlink:label="csiq_ScheduleOfEffectiveInterestRatesTableTextBlock_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="csiq_ScheduleOfEffectiveInterestRatesTableTextBlock_637236753749922987" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ScheduleOfInterestExpenseTableTextBlock" xlink:label="csiq_ScheduleOfInterestExpenseTableTextBlock_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="csiq_ScheduleOfInterestExpenseTableTextBlock_637236753749922987" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsTables" xlink:type="extended" xlink:title="31503 - Disclosure - ACCRUED WARRANTY COSTS (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:label="ProductWarrantiesDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductWarrantiesDisclosuresAbstract" xlink:to="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_637236753749922987" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables" xlink:type="extended" xlink:title="31803 - Disclosure - INCOME TAXES (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_637236753749922987" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_637236753749922987" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_637236753749922987" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SummaryOfValuationAllowanceTextBlock" xlink:label="us-gaap_SummaryOfValuationAllowanceTextBlock_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_SummaryOfValuationAllowanceTextBlock_637236753749922987" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_637236753749922987" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SummaryOfIncomeTaxHolidayTextBlock" xlink:label="us-gaap_SummaryOfIncomeTaxHolidayTextBlock_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_SummaryOfIncomeTaxHolidayTextBlock_637236753749922987" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureEarningsPerShareTables" xlink:type="extended" xlink:title="31903 - Disclosure - EARNINGS PER SHARE (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_637236753749922987" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_637236753749922987" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables" xlink:type="extended" xlink:title="32103 - Disclosure - COMMITMENTS AND CONTINGENCIES (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="CommitmentsAndContingenciesDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_StatementTable_637236753749922987" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_637236753749922987" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_637236753749922987" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_637236753749922987" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_637236753749922987" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PropertyAndEquipmentPurchaseCommitmentMember" xlink:label="csiq_PropertyAndEquipmentPurchaseCommitmentMember_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_637236753749922987" xlink:to="csiq_PropertyAndEquipmentPurchaseCommitmentMember_637236753749922987" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarPowerSystemCommitmentsMember" xlink:label="csiq_SolarPowerSystemCommitmentsMember_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_637236753749922987" xlink:to="csiq_SolarPowerSystemCommitmentsMember_637236753749922987" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_637236753749922987" xlink:to="us-gaap_StatementLineItems_637236753749922987" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermPurchaseCommitmentTextBlock" xlink:label="us-gaap_LongTermPurchaseCommitmentTextBlock_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_637236753749922987" xlink:to="us-gaap_LongTermPurchaseCommitmentTextBlock_637236753749922987" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSegmentInformationTables" xlink:type="extended" xlink:title="32203 - Disclosure - SEGMENT INFORMATION (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_637236753749922987" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_637236753749922987" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_637236753749922987" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_637236753749922987" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureMajorCustomersTables" xlink:type="extended" xlink:title="32303 - Disclosure - MAJOR CUSTOMERS (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_MajorCustomersDisclosureAbstract" xlink:label="csiq_MajorCustomersDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock" xlink:label="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_MajorCustomersDisclosureAbstract" xlink:to="us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock_637236753749922987" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationTables" xlink:type="extended" xlink:title="32503 - Disclosure - SHARE-BASED COMPENSATION (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_637236753749922987" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails" xlink:type="extended" xlink:title="40201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Allowance for doubtful receivables (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainContingenciesTable" xlink:label="us-gaap_GainContingenciesTable_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_GainContingenciesTable_637236753749922987" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainContingenciesByNatureAxis" xlink:label="us-gaap_GainContingenciesByNatureAxis_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GainContingenciesTable_637236753749922987" xlink:to="us-gaap_GainContingenciesByNatureAxis_637236753749922987" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainContingencyNatureDomain" xlink:label="us-gaap_GainContingencyNatureDomain_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GainContingenciesByNatureAxis_637236753749922987" xlink:to="us-gaap_GainContingencyNatureDomain_637236753749922987" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InsuranceSettlementMember" xlink:label="us-gaap_InsuranceSettlementMember_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GainContingencyNatureDomain_637236753749922987" xlink:to="us-gaap_InsuranceSettlementMember_637236753749922987" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainContingenciesLineItems" xlink:label="us-gaap_GainContingenciesLineItems_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GainContingenciesTable_637236753749922987" xlink:to="us-gaap_GainContingenciesLineItems_637236753749922987" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GainContingenciesLineItems_637236753749922987" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_637236753749922987" order="1" use="optional" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails" xlink:type="extended" xlink:title="40202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Property, plant and equipment (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_637236753749922987" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_637236753749922987" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_637236753749922987" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_637236753749922987" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_637236753749922987" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_637236753749922987" xlink:to="us-gaap_BuildingMember_637236753749922987" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_637236753749922987" xlink:to="us-gaap_MachineryAndEquipmentMember_637236753749922987" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_637236753749922987" xlink:to="us-gaap_FurnitureAndFixturesMember_637236753749922987" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_637236753749922987" xlink:to="us-gaap_VehiclesMember_637236753749922987" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ElectricGenerationEquipmentMember" xlink:label="us-gaap_ElectricGenerationEquipmentMember_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_637236753749922987" xlink:to="us-gaap_ElectricGenerationEquipmentMember_637236753749922987" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_637236753749922987" xlink:to="srt_RangeAxis_637236753749922987" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_637236753749922987" xlink:to="srt_RangeMember_637236753749922987" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_637236753749922987" xlink:to="srt_MinimumMember_637236753749922987" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_637236753749922987" xlink:to="srt_MaximumMember_637236753749922987" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_637236753749922987" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_637236753749922987" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_637236753749922987" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_637236753749922987" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails" xlink:type="extended" xlink:title="40203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Prepaid land use rights (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_637236753749922987" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_637236753749922987" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_637236753749922987" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_637236753749922987" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_637236753749981906" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_637236753749922987" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_637236753749981906" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember_637236753749982588" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_637236753749981906" xlink:to="us-gaap_DevelopedTechnologyRightsMember_637236753749982588" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_637236753749983251" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_637236753749981906" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember_637236753749983251" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UseRightsMember" xlink:label="us-gaap_UseRightsMember_637236753749983916" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_637236753749981906" xlink:to="us-gaap_UseRightsMember_637236753749983916" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_637236753749984580" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_637236753749922987" xlink:to="srt_RangeAxis_637236753749984580" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember_637236753749984580" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_637236753749984580" xlink:to="srt_RangeMember_637236753749984580" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_637236753749984580" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_637236753749984580" xlink:to="srt_MinimumMember_637236753749984580" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_637236753749984580" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_637236753749984580" xlink:to="srt_MaximumMember_637236753749984580" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_637236753749984580" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_637236753749922987" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_637236753749984580" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_637236753749984580" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_637236753749984580" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife_637236753749984580" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails" xlink:type="extended" xlink:title="40204 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Asset retirement obligation (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ImpairmentOfInvestments" xlink:label="us-gaap_ImpairmentOfInvestments_637236753749984580" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ImpairmentOfInvestments_637236753749984580" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges_637236753749993002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_AssetImpairmentCharges_637236753749993002" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetRetirementObligation" xlink:label="us-gaap_AssetRetirementObligation_637236753749993002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_AssetRetirementObligation_637236753749993002" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails" xlink:type="extended" xlink:title="40205 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable_637236753749993002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTable_637236753749993002" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PublicUtilitiesInventoryAxis" xlink:label="us-gaap_PublicUtilitiesInventoryAxis_637236753749993002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_637236753749993002" xlink:to="us-gaap_PublicUtilitiesInventoryAxis_637236753749993002" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PublicUtilitiesInventoryTypeDomain" xlink:label="us-gaap_PublicUtilitiesInventoryTypeDomain_637236753749993002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PublicUtilitiesInventoryAxis_637236753749993002" xlink:to="us-gaap_PublicUtilitiesInventoryTypeDomain_637236753749993002" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_UncollectableRevenueMember" xlink:label="csiq_UncollectableRevenueMember_637236753749993002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PublicUtilitiesInventoryTypeDomain_637236753749993002" xlink:to="csiq_UncollectableRevenueMember_637236753749993002" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_637236753749993002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_637236753749993002" xlink:to="srt_ProductOrServiceAxis_637236753749993002" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_637236753749993002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_637236753749993002" xlink:to="srt_ProductsAndServicesDomain_637236753749993002" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ElectricityMember" xlink:label="us-gaap_ElectricityMember_637236753749993002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_637236753749993002" xlink:to="us-gaap_ElectricityMember_637236753749993002" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_637236753749993002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_637236753749993002" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_637236753749993002" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet_637236753749993002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_637236753749993002" xlink:to="us-gaap_InventoryNet_637236753749993002" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_637236753750003000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_637236753749993002" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_637236753750003000" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" xlink:type="extended" xlink:title="40206 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Disaggregation of Revenue (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable_637236753750003000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTable_637236753750003000" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis_637236753750003000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_637236753750003000" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceAxis_637236753750003000" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain_637236753750003000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceAxis_637236753750003000" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceDomain_637236753750003000" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TransferredAtPointInTimeMember" xlink:label="us-gaap_TransferredAtPointInTimeMember_637236753750003000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain_637236753750003000" xlink:to="us-gaap_TransferredAtPointInTimeMember_637236753750003000" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TransferredOverTimeMember" xlink:label="us-gaap_TransferredOverTimeMember_637236753750003000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain_637236753750003000" xlink:to="us-gaap_TransferredOverTimeMember_637236753750003000" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_637236753750003000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_637236753750003000" xlink:to="us-gaap_StatementBusinessSegmentsAxis_637236753750003000" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_637236753750003000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_637236753750003000" xlink:to="us-gaap_SegmentDomain_637236753750003000" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ModuleSegmentMember" xlink:label="csiq_ModuleSegmentMember_637236753750003000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_637236753750003000" xlink:to="csiq_ModuleSegmentMember_637236753750003000" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EnergySegmentMember" xlink:label="csiq_EnergySegmentMember_637236753750003000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_637236753750003000" xlink:to="csiq_EnergySegmentMember_637236753750003000" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_637236753750013003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_637236753750003000" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_637236753750013003" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_637236753750013003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_637236753750013003" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_637236753750013003" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails" xlink:type="extended" xlink:title="40207 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_637236753750013003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_637236753750013003" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_637236753750013003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_637236753750013003" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_637236753750013003" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_637236753750013003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_637236753750013003" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_637236753750013003" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetNetAbstract" xlink:label="us-gaap_ContractWithCustomerAssetNetAbstract_637236753750013003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_637236753750013003" xlink:to="us-gaap_ContractWithCustomerAssetNetAbstract_637236753750013003" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="us-gaap_UnbilledReceivablesCurrent_637236753750013003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerAssetNetAbstract_637236753750013003" xlink:to="us-gaap_UnbilledReceivablesCurrent_637236753750013003" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInAccountsReceivablesUnbilled" xlink:label="csiq_IncreaseDecreaseInAccountsReceivablesUnbilled_637236753750013003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerAssetNetAbstract_637236753750013003" xlink:to="csiq_IncreaseDecreaseInAccountsReceivablesUnbilled_637236753750013003" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityAbstract" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract_637236753750013003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_637236753750013003" xlink:to="us-gaap_ContractWithCustomerLiabilityAbstract_637236753750013003" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_637236753750023003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract_637236753750013003" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_637236753750023003" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInAdvancesFromCustomers" xlink:label="csiq_IncreaseDecreaseInAdvancesFromCustomers_637236753750023003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract_637236753750013003" xlink:to="csiq_IncreaseDecreaseInAdvancesFromCustomers_637236753750023003" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ContractLiabilitiesOtherCurrentLiabilities" xlink:label="csiq_ContractLiabilitiesOtherCurrentLiabilities_637236753750023003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract_637236753750013003" xlink:to="csiq_ContractLiabilitiesOtherCurrentLiabilities_637236753750023003" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherCurrentLiabilitiesFluctuations" xlink:label="csiq_OtherCurrentLiabilitiesFluctuations_637236753750023003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract_637236753750013003" xlink:to="csiq_OtherCurrentLiabilitiesFluctuations_637236753750023003" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability_637236753750023003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract_637236753750013003" xlink:to="us-gaap_ContractWithCustomerLiability_637236753750023003" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInContractLiabilities" xlink:label="csiq_IncreaseDecreaseInContractLiabilities_637236753750023003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract_637236753750013003" xlink:to="csiq_IncreaseDecreaseInContractLiabilities_637236753750023003" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_637236753750023003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_637236753750013003" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_637236753750023003" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_637236753750023003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_637236753750013003" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_637236753750023003" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_637236753750023003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_637236753750013003" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_637236753750023003" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails" xlink:type="extended" xlink:title="40208 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Shipping and handling costs, Research and development (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_637236753750032995" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_StatementTable_637236753750032995" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_637236753750032995" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_637236753750032995" xlink:to="srt_ProductOrServiceAxis_637236753750032995" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_637236753750032995" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_637236753750032995" xlink:to="srt_ProductsAndServicesDomain_637236753750032995" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShippingAndHandlingMember" xlink:label="us-gaap_ShippingAndHandlingMember_637236753750032995" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_637236753750032995" xlink:to="us-gaap_ShippingAndHandlingMember_637236753750032995" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_637236753750032995" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_637236753750032995" xlink:to="us-gaap_StatementLineItems_637236753750032995" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SellingExpense" xlink:label="us-gaap_SellingExpense_637236753750032995" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_637236753750032995" xlink:to="us-gaap_SellingExpense_637236753750032995" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense_637236753750032995" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_637236753750032995" xlink:to="us-gaap_ResearchAndDevelopmentExpense_637236753750032995" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" xlink:type="extended" xlink:title="40209 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating income, net (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable_637236753750032995" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTable_637236753750032995" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_637236753750032995" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_637236753750032995" xlink:to="srt_ProductOrServiceAxis_637236753750032995" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_637236753750032995" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_637236753750032995" xlink:to="srt_ProductsAndServicesDomain_637236753750032995" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GrantMember" xlink:label="us-gaap_GrantMember_637236753750043003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_637236753750032995" xlink:to="us-gaap_GrantMember_637236753750043003" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_637236753750043003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_637236753750032995" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_637236753750043003" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_637236753750043003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_637236753750043003" xlink:to="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_637236753750043003" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" xlink:label="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense_637236753750043003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_637236753750043003" xlink:to="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense_637236753750043003" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainOnBusinessInterruptionInsuranceRecovery" xlink:label="us-gaap_GainOnBusinessInterruptionInsuranceRecovery_637236753750043003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_637236753750043003" xlink:to="us-gaap_GainOnBusinessInterruptionInsuranceRecovery_637236753750043003" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="7" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_637236753750043003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_637236753750043003" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet_637236753750043003" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel" priority="9" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails" xlink:type="extended" xlink:title="40210 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductWarrantyLiabilityTable" xlink:label="us-gaap_ProductWarrantyLiabilityTable_637236753750043003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ProductWarrantyLiabilityTable_637236753750043003" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_637236753750043003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityTable_637236753750043003" xlink:to="srt_RangeAxis_637236753750043003" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember_637236753750043003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_637236753750043003" xlink:to="srt_RangeMember_637236753750043003" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_637236753750053002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_637236753750043003" xlink:to="srt_MinimumMember_637236753750053002" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_637236753750053002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_637236753750043003" xlink:to="srt_MaximumMember_637236753750053002" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_637236753750053002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityTable_637236753750043003" xlink:to="srt_ProductOrServiceAxis_637236753750053002" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_637236753750053002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_637236753750053002" xlink:to="srt_ProductsAndServicesDomain_637236753750053002" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_StandardSolarModuleMember" xlink:label="csiq_StandardSolarModuleMember_637236753750053002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_637236753750053002" xlink:to="csiq_StandardSolarModuleMember_637236753750053002" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarPowerProjectMember" xlink:label="csiq_SolarPowerProjectMember_637236753750053002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_637236753750053002" xlink:to="csiq_SolarPowerProjectMember_637236753750053002" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_BifacialModuleAndDoubleGlassModuleMember" xlink:label="csiq_BifacialModuleAndDoubleGlassModuleMember_637236753750053002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_637236753750053002" xlink:to="csiq_BifacialModuleAndDoubleGlassModuleMember_637236753750053002" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GuaranteeObligationsByNatureAxis" xlink:label="us-gaap_GuaranteeObligationsByNatureAxis_637236753750053002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityTable_637236753750043003" xlink:to="us-gaap_GuaranteeObligationsByNatureAxis_637236753750053002" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GuaranteeObligationsNatureDomain" xlink:label="us-gaap_GuaranteeObligationsNatureDomain_637236753750053002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GuaranteeObligationsByNatureAxis_637236753750053002" xlink:to="us-gaap_GuaranteeObligationsNatureDomain_637236753750053002" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_MaterialAndWorkmanShipMember" xlink:label="csiq_MaterialAndWorkmanShipMember_637236753750053002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GuaranteeObligationsNatureDomain_637236753750053002" xlink:to="csiq_MaterialAndWorkmanShipMember_637236753750053002" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EightyPercentInitialPowerCapacityMember" xlink:label="csiq_EightyPercentInitialPowerCapacityMember_637236753750053002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GuaranteeObligationsNatureDomain_637236753750053002" xlink:to="csiq_EightyPercentInitialPowerCapacityMember_637236753750053002" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NinetySevenPercentInitialPowerCapacityMember" xlink:label="csiq_NinetySevenPercentInitialPowerCapacityMember_637236753750063002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GuaranteeObligationsNatureDomain_637236753750053002" xlink:to="csiq_NinetySevenPercentInitialPowerCapacityMember_637236753750063002" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NinetyThreeInitialPowerCapacityMember" xlink:label="csiq_NinetyThreeInitialPowerCapacityMember_637236753750063002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GuaranteeObligationsNatureDomain_637236753750053002" xlink:to="csiq_NinetyThreeInitialPowerCapacityMember_637236753750063002" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductWarrantyLiabilityLineItems" xlink:label="us-gaap_ProductWarrantyLiabilityLineItems_637236753750063002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityTable_637236753750043003" xlink:to="us-gaap_ProductWarrantyLiabilityLineItems_637236753750063002" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProductWarrantyAccrualRateForSalesOfSolarModules" xlink:label="csiq_ProductWarrantyAccrualRateForSalesOfSolarModules_637236753750063002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_637236753750063002" xlink:to="csiq_ProductWarrantyAccrualRateForSalesOfSolarModules_637236753750063002" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_InsurancePolicyTerm" xlink:label="csiq_InsurancePolicyTerm_637236753750063002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_637236753750063002" xlink:to="csiq_InsurancePolicyTerm_637236753750063002" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_StandardProductWarrantyPeriod" xlink:label="csiq_StandardProductWarrantyPeriod_637236753750063002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_637236753750063002" xlink:to="csiq_StandardProductWarrantyPeriod_637236753750063002" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity_637236753750063002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_637236753750063002" xlink:to="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity_637236753750063002" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity_637236753750063002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_637236753750063002" xlink:to="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity_637236753750063002" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_InsurancePremiumUnamortizedAmountNoncurrent" xlink:label="csiq_InsurancePremiumUnamortizedAmountNoncurrent_637236753750063002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_637236753750063002" xlink:to="csiq_InsurancePremiumUnamortizedAmountNoncurrent_637236753750063002" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InsuranceSettlementsReceivableNoncurrent" xlink:label="us-gaap_InsuranceSettlementsReceivableNoncurrent_637236753750072998" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_637236753750063002" xlink:to="us-gaap_InsuranceSettlementsReceivableNoncurrent_637236753750072998" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:label="us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_637236753750072998" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_637236753750063002" xlink:to="us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease_637236753750072998" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherNoncurrentAssetsAdjustment" xlink:label="csiq_OtherNoncurrentAssetsAdjustment_637236753750072998" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_637236753750063002" xlink:to="csiq_OtherNoncurrentAssetsAdjustment_637236753750072998" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductWarrantyExpense" xlink:label="us-gaap_ProductWarrantyExpense_637236753750072998" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_637236753750063002" xlink:to="us-gaap_ProductWarrantyExpense_637236753750072998" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty_637236753750072998" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_637236753750063002" xlink:to="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty_637236753750072998" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty_637236753750072998" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_637236753750063002" xlink:to="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty_637236753750072998" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails" xlink:type="extended" xlink:title="40211 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Recently issued accounting pronouncements (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_637236753750083001" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_637236753750083001" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_637236753750083001" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_OperatingLeaseLiability_637236753750083001" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsDetails" xlink:type="extended" xlink:title="40301 - Disclosure - ALLOWANCE FOR DOUBTFUL ACCOUNTS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ReceivablesAbstract" xlink:label="ReceivablesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureTable_637236753750083001" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ReceivablesAbstract" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureTable_637236753750083001" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis_637236753750083001" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureTable_637236753750083001" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis_637236753750083001" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_637236753750083001" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis_637236753750083001" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_637236753750083001" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllowanceForCreditLossMember" xlink:label="us-gaap_AllowanceForCreditLossMember_637236753750083001" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_637236753750083001" xlink:to="us-gaap_AllowanceForCreditLossMember_637236753750083001" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AllowanceForAdvancesToSuppliersMember" xlink:label="csiq_AllowanceForAdvancesToSuppliersMember_637236753750083001" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_637236753750083001" xlink:to="csiq_AllowanceForAdvancesToSuppliersMember_637236753750083001" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AllowanceForOtherReceivablesMember" xlink:label="csiq_AllowanceForOtherReceivablesMember_637236753750083001" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_637236753750083001" xlink:to="csiq_AllowanceForOtherReceivablesMember_637236753750083001" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureLineItems_637236753750093003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureTable_637236753750083001" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureLineItems_637236753750093003" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:label="us-gaap_MovementInValuationAllowancesAndReservesRollForward_637236753750093003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureLineItems_637236753750093003" xlink:to="us-gaap_MovementInValuationAllowancesAndReservesRollForward_637236753750093003" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_637236753750093003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_637236753750093003" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_637236753750093003" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance_637236753750093003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_637236753750093003" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance_637236753750093003" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" xlink:label="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet_637236753750093003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_637236753750093003" xlink:to="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet_637236753750093003" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDeductions" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions_637236753750093003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_637236753750093003" xlink:to="us-gaap_ValuationAllowancesAndReservesDeductions_637236753750093003" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ValuationAllowancesAndReservesForeignExchangeEffect" xlink:label="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_637236753750093003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_637236753750093003" xlink:to="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_637236753750093003" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_6372367537500930031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_637236753750093003" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_6372367537500930031" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance_6372367537500930031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_637236753750093003" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance_6372367537500930031" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureInventoriesDetails" xlink:type="extended" xlink:title="40401 - Disclosure - INVENTORIES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="InventoryDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract" xlink:label="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_637236753750103008" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_637236753750103008" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves_637236753750103008" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_637236753750103008" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves_637236753750103008" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves_637236753750103008" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_637236753750103008" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves_637236753750103008" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves_637236753750103008" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_637236753750103008" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves_637236753750103008" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet_637236753750103008" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_637236753750103008" xlink:to="us-gaap_InventoryNet_637236753750103008" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InventoryWriteDown" xlink:label="us-gaap_InventoryWriteDown_637236753750103008" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryWriteDown_637236753750103008" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails" xlink:type="extended" xlink:title="40501 - Disclosure - PROJECT ASSETS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsAbstract" xlink:label="csiq_ProjectAssetsAbstract_635640936816385218" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost_637236753750103008" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640936816385218" xlink:to="csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost_637236753750103008" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost_637236753750103008" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640936816385218" xlink:to="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost_637236753750103008" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsPlantsAndLand" xlink:label="csiq_ProjectAssetsPlantsAndLand_637236753750103008" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640936816385218" xlink:to="csiq_ProjectAssetsPlantsAndLand_637236753750103008" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsPlantsAndLandCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion_637236753750103008" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640936816385218" xlink:to="csiq_ProjectAssetsPlantsAndLandCurrentPortion_637236753750103008" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsPlantsAndLandNonCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_637236753750103008" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640936816385218" xlink:to="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_637236753750103008" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssetsImpairmentCharge" xlink:label="csiq_ProjectAssetsImpairmentCharge_637236753750113006" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640936816385218" xlink:to="csiq_ProjectAssetsImpairmentCharge_637236753750113006" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" xlink:type="extended" xlink:title="40601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="PropertyPlantAndEquipmentAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_637236753750113006" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_637236753750113006" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_637236753750113006" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_637236753750113006" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_637236753750113006" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_637236753750113006" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_637236753750113006" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_637236753750113006" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember_637236753750113006" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_637236753750113006" xlink:to="us-gaap_BuildingMember_637236753750113006" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember_637236753750113006" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_637236753750113006" xlink:to="us-gaap_LeaseholdImprovementsMember_637236753750113006" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember_637236753750113006" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_637236753750113006" xlink:to="us-gaap_MachineryAndEquipmentMember_637236753750113006" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember_637236753750113006" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_637236753750113006" xlink:to="us-gaap_FurnitureAndFixturesMember_637236753750113006" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember_637236753750113006" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_637236753750113006" xlink:to="us-gaap_VehiclesMember_637236753750113006" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LandMember" xlink:label="us-gaap_LandMember_637236753750113006" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_637236753750113006" xlink:to="us-gaap_LandMember_637236753750113006" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_637236753750123007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_637236753750113006" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_637236753750123007" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_637236753750123007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_637236753750123007" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_637236753750123007" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_637236753750123007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_637236753750123007" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_637236753750123007" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AccumulatedAssetImpairmentCharges" xlink:label="csiq_AccumulatedAssetImpairmentCharges_637236753750123007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_637236753750123007" xlink:to="csiq_AccumulatedAssetImpairmentCharges_637236753750123007" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" xlink:label="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_637236753750123007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_637236753750123007" xlink:to="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_637236753750123007" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConstructionInProgressGross" xlink:label="us-gaap_ConstructionInProgressGross_637236753750123007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_637236753750123007" xlink:to="us-gaap_ConstructionInProgressGross_637236753750123007" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_637236753750123007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_637236753750123007" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_637236753750123007" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation_637236753750123007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_637236753750123007" xlink:to="us-gaap_Depreciation_637236753750123007" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails" xlink:type="extended" xlink:title="40701 - Disclosure - SOLAR POWER SYSTEMS, NET (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarPowerSystemsAbstract" xlink:label="csiq_SolarPowerSystemsAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_637236753750133007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_SolarPowerSystemsAbstract" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_637236753750133007" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_637236753750133007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_637236753750133007" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_637236753750133007" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_637236753750133007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_637236753750133007" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_637236753750133007" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ElectricGenerationEquipmentMember" xlink:label="us-gaap_ElectricGenerationEquipmentMember_637236753750133007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_637236753750133007" xlink:to="us-gaap_ElectricGenerationEquipmentMember_637236753750133007" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetUnderConstructionMember" xlink:label="us-gaap_AssetUnderConstructionMember_637236753750133007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_637236753750133007" xlink:to="us-gaap_AssetUnderConstructionMember_637236753750133007" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_637236753750133007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_637236753750133007" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_637236753750133007" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" xlink:label="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems_637236753750133007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_637236753750133007" xlink:to="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems_637236753750133007" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarPowerSystems" xlink:label="csiq_SolarPowerSystems_637236753750133007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_637236753750133007" xlink:to="csiq_SolarPowerSystems_637236753750133007" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation_637236753750133007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_637236753750133007" xlink:to="us-gaap_Depreciation_637236753750133007" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails" xlink:type="extended" xlink:title="40801 - Disclosure - INTANGIBLE ASSETS, NET (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:label="FiniteLivedIntangibleAssetsNetAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_637236753750133007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_637236753750133007" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_637236753750133007" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_637236753750133007" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_637236753750133007" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_637236753750203004" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_637236753750133007" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_637236753750203004" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember_637236753750203004" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_637236753750203004" xlink:to="us-gaap_DevelopedTechnologyRightsMember_637236753750203004" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_637236753750203004" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_637236753750203004" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember_637236753750203004" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_637236753750203004" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_637236753750133007" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_637236753750203004" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_637236753750203004" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_637236753750203004" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_637236753750203004" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_637236753750203004" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_637236753750203004" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_637236753750203004" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_637236753750203004" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_637236753750203004" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_637236753750203004" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets_637236753750203004" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_637236753750203004" xlink:to="us-gaap_AmortizationOfIntangibleAssets_637236753750203004" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_637236753750203004" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_637236753750203004" xlink:to="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_637236753750203004" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_637236753750203004" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_637236753750203004" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_637236753750203004" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_637236753750203004" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_637236753750203004" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_637236753750203004" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_637236753750213014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_637236753750203004" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_637236753750213014" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_637236753750213014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_637236753750203004" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_637236753750213014" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter" xlink:label="csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter_637236753750213014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_637236753750203004" xlink:to="csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter_637236753750213014" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails" xlink:type="extended" xlink:title="40901 - Disclosure - FAIR VALUE MEASUREMENT (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_637236753750213014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_637236753750213014" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_637236753750213014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_637236753750213014" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_637236753750213014" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_637236753750213014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis_637236753750213014" xlink:to="us-gaap_DerivativeContractTypeDomain_637236753750213014" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember_637236753750213014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_637236753750213014" xlink:to="us-gaap_InterestRateSwapMember_637236753750213014" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis_637236753750223010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_637236753750213014" xlink:to="us-gaap_HedgingDesignationAxis_637236753750223010" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain_637236753750223010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingDesignationAxis_637236753750223010" xlink:to="us-gaap_HedgingDesignationDomain_637236753750223010" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember_637236753750223010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingDesignationDomain_637236753750223010" xlink:to="us-gaap_DesignatedAsHedgingInstrumentMember_637236753750223010" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_637236753750223010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_637236753750213014" xlink:to="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_637236753750223010" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_HedgingRelationshipDomain" xlink:label="us-gaap_HedgingRelationshipDomain_637236753750223010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_637236753750223010" xlink:to="us-gaap_HedgingRelationshipDomain_637236753750223010" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashFlowHedgingMember" xlink:label="us-gaap_CashFlowHedgingMember_637236753750223010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingRelationshipDomain_637236753750223010" xlink:to="us-gaap_CashFlowHedgingMember_637236753750223010" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_637236753750223010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_637236753750213014" xlink:to="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_637236753750223010" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_InterestRateSwapsNumberOfFinancialInstitutions" xlink:label="csiq_InterestRateSwapsNumberOfFinancialInstitutions_637236753750223010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_637236753750223010" xlink:to="csiq_InterestRateSwapsNumberOfFinancialInstitutions_637236753750223010" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeLiabilityNotionalAmount" xlink:label="us-gaap_DerivativeLiabilityNotionalAmount_637236753750223010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_637236753750223010" xlink:to="us-gaap_DerivativeLiabilityNotionalAmount_637236753750223010" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeNotionalAmount" xlink:label="us-gaap_DerivativeNotionalAmount_637236753750223010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_637236753750223010" xlink:to="us-gaap_DerivativeNotionalAmount_637236753750223010" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesFairValueDisclosure" xlink:label="us-gaap_LiabilitiesFairValueDisclosure_637236753750223010" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_637236753750223010" xlink:to="us-gaap_LiabilitiesFairValueDisclosure_637236753750223010" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails" xlink:type="extended" xlink:title="40902 - Disclosure - FAIR VALUE MEASUREMENT - Interest rate swap (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_637236753750232998" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_637236753750232998" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis_637236753750232998" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_637236753750232998" xlink:to="us-gaap_BalanceSheetLocationAxis_637236753750232998" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_637236753750232998" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis_637236753750232998" xlink:to="us-gaap_BalanceSheetLocationDomain_637236753750232998" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DerivativesAssetsCurrentMember" xlink:label="csiq_DerivativesAssetsCurrentMember_637236753750232998" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_637236753750232998" xlink:to="csiq_DerivativesAssetsCurrentMember_637236753750232998" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DerivativesAssetsNoncurrentMember" xlink:label="csiq_DerivativesAssetsNoncurrentMember_637236753750232998" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_637236753750232998" xlink:to="csiq_DerivativesAssetsNoncurrentMember_637236753750232998" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DerivativesLiabilitiesCurrentMember" xlink:label="csiq_DerivativesLiabilitiesCurrentMember_637236753750232998" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_637236753750232998" xlink:to="csiq_DerivativesLiabilitiesCurrentMember_637236753750232998" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DerivativesLiabilitiesNoncurrentMember" xlink:label="csiq_DerivativesLiabilitiesNoncurrentMember_637236753750232998" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_637236753750232998" xlink:to="csiq_DerivativesLiabilitiesNoncurrentMember_637236753750232998" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis_637236753750232998" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_637236753750232998" xlink:to="us-gaap_HedgingDesignationAxis_637236753750232998" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain_637236753750232998" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingDesignationAxis_637236753750232998" xlink:to="us-gaap_HedgingDesignationDomain_637236753750232998" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="us-gaap_NondesignatedMember_637236753750232998" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingDesignationDomain_637236753750232998" xlink:to="us-gaap_NondesignatedMember_637236753750232998" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_637236753750243011" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_637236753750232998" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_637236753750243011" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_637236753750243011" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis_637236753750243011" xlink:to="us-gaap_DerivativeContractTypeDomain_637236753750243011" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignExchangeForwardMember" xlink:label="us-gaap_ForeignExchangeForwardMember_637236753750243011" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_637236753750243011" xlink:to="us-gaap_ForeignExchangeForwardMember_637236753750243011" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignExchangeOptionMember" xlink:label="us-gaap_ForeignExchangeOptionMember_637236753750243011" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_637236753750243011" xlink:to="us-gaap_ForeignExchangeOptionMember_637236753750243011" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember_637236753750243011" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_637236753750243011" xlink:to="us-gaap_InterestRateSwapMember_637236753750243011" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="us-gaap_DerivativesFairValueLineItems_637236753750243011" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_637236753750232998" xlink:to="us-gaap_DerivativesFairValueLineItems_637236753750243011" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" xlink:label="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral_637236753750243011" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativesFairValueLineItems_637236753750243011" xlink:to="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral_637236753750243011" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" xlink:label="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral_637236753750243011" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativesFairValueLineItems_637236753750243011" xlink:to="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral_637236753750243011" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails" xlink:type="extended" xlink:title="40903 - Disclosure - FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_637236753750253011" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FairValueDisclosuresAbstract" xlink:to="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_637236753750253011" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_637236753750253011" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_637236753750253011" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_637236753750253011" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_637236753750253011" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis_637236753750253011" xlink:to="us-gaap_DerivativeContractTypeDomain_637236753750253011" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignExchangeForwardMember" xlink:label="us-gaap_ForeignExchangeForwardMember_637236753750253011" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_637236753750253011" xlink:to="us-gaap_ForeignExchangeForwardMember_637236753750253011" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignExchangeOptionMember" xlink:label="us-gaap_ForeignExchangeOptionMember_637236753750253011" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_637236753750253011" xlink:to="us-gaap_ForeignExchangeOptionMember_637236753750253011" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_WarrantsMember" xlink:label="csiq_WarrantsMember_637236753750253011" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_637236753750253011" xlink:to="csiq_WarrantsMember_637236753750253011" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember_637236753750253011" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_637236753750253011" xlink:to="us-gaap_InterestRateSwapMember_637236753750253011" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="us-gaap_DerivativeInstrumentsGainLossLineItems_637236753750253011" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_637236753750253011" xlink:to="us-gaap_DerivativeInstrumentsGainLossLineItems_637236753750253011" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" xlink:label="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet_637236753750253011" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsGainLossLineItems_637236753750253011" xlink:to="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet_637236753750253011" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails" xlink:type="extended" xlink:title="40904 - Disclosure - FAIR VALUE MEASUREMENT - Carrying value (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges_637236753750263014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_AssetImpairmentCharges_637236753750263014" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans_637236753750263014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_LongTermNotesAndLoans_637236753750263014" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConvertibleLongTermNotesPayable" xlink:label="us-gaap_ConvertibleLongTermNotesPayable_637236753750263014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_ConvertibleLongTermNotesPayable_637236753750263014" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails" xlink:type="extended" xlink:title="41001 - Disclosure - VARIABLE INTEREST ENTITIES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfVariableInterestEntitiesTable" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTable_637236753750263014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:to="us-gaap_ScheduleOfVariableInterestEntitiesTable_637236753750263014" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_637236753750263014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfVariableInterestEntitiesTable_637236753750263014" xlink:to="srt_ConsolidatedEntitiesAxis_637236753750263014" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_637236753750263014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_637236753750263014" xlink:to="srt_ConsolidatedEntitiesDomain_637236753750263014" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryMember" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_637236753750263014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_637236753750263014" xlink:to="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_637236753750263014" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableInterestEntityLineItems" xlink:label="us-gaap_VariableInterestEntityLineItems_637236753750273009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfVariableInterestEntitiesTable_637236753750263014" xlink:to="us-gaap_VariableInterestEntityLineItems_637236753750273009" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProjectAssets" xlink:label="csiq_ProjectAssets_637236753750273009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_637236753750273009" xlink:to="csiq_ProjectAssets_637236753750273009" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssets" xlink:label="us-gaap_OtherAssets_637236753750273009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_637236753750273009" xlink:to="us-gaap_OtherAssets_637236753750273009" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets_637236753750273009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_637236753750273009" xlink:to="us-gaap_Assets_637236753750273009" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings_637236753750273009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_637236753750273009" xlink:to="us-gaap_ShortTermBorrowings_637236753750273009" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt_637236753750273009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_637236753750273009" xlink:to="us-gaap_LongTermDebt_637236753750273009" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherLiabilities" xlink:label="us-gaap_OtherLiabilities_637236753750273009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_637236753750273009" xlink:to="us-gaap_OtherLiabilities_637236753750273009" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_637236753750273009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_637236753750273009" xlink:to="us-gaap_Liabilities_637236753750273009" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails" xlink:type="extended" xlink:title="41101 - Disclosure - INVESTMENTS IN AFFILIATES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:label="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable_637236753750273009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsTable_637236753750273009" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_637236753750283014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_637236753750273009" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_637236753750283014" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain_637236753750283014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_637236753750283014" xlink:to="srt_EquityMethodInvesteeNameDomain_637236753750283014" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ReRoserockHoldingsLlcMember" xlink:label="csiq_ReRoserockHoldingsLlcMember_637236753750283014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_637236753750283014" xlink:to="csiq_ReRoserockHoldingsLlcMember_637236753750283014" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarInfrastructureFundIncMember" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember_637236753750283014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_637236753750283014" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember_637236753750283014" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SuzhouFinancialLeasingCoLtdMember" xlink:label="csiq_SuzhouFinancialLeasingCoLtdMember_637236753750283014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_637236753750283014" xlink:to="csiq_SuzhouFinancialLeasingCoLtdMember_637236753750283014" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherEquityMethodInvesteesMember" xlink:label="csiq_OtherEquityMethodInvesteesMember_637236753750283014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_637236753750283014" xlink:to="csiq_OtherEquityMethodInvesteesMember_637236753750283014" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_637236753750283014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_637236753750273009" xlink:to="srt_RangeAxis_637236753750283014" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember_637236753750283014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_637236753750283014" xlink:to="srt_RangeMember_637236753750283014" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_637236753750283014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_637236753750283014" xlink:to="srt_MinimumMember_637236753750283014" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_637236753750283014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_637236753750283014" xlink:to="srt_MaximumMember_637236753750283014" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_637236753750283014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_637236753750273009" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_637236753750283014" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments_637236753750283014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_637236753750283014" xlink:to="us-gaap_EquityMethodInvestments_637236753750283014" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_637236753750283014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_637236753750283014" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage_637236753750283014" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails" xlink:type="extended" xlink:title="41102 - Disclosure - INVESTMENTS IN AFFILIATES - Tax equity transactions (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract_635950250257099234" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable_637236753750293003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract_635950250257099234" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsTable_637236753750293003" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_637236753750293003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_637236753750293003" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_637236753750293003" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain_637236753750293003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_637236753750293003" xlink:to="srt_EquityMethodInvesteeNameDomain_637236753750293003" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ReRoserockHoldingsLlcMember" xlink:label="csiq_ReRoserockHoldingsLlcMember_637236753750293003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_637236753750293003" xlink:to="csiq_ReRoserockHoldingsLlcMember_637236753750293003" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalUnitsByClassAxis" xlink:label="us-gaap_CapitalUnitsByClassAxis_637236753750293003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_637236753750293003" xlink:to="us-gaap_CapitalUnitsByClassAxis_637236753750293003" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalUnitClassDomain" xlink:label="us-gaap_CapitalUnitClassDomain_637236753750293003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CapitalUnitsByClassAxis_637236753750293003" xlink:to="us-gaap_CapitalUnitClassDomain_637236753750293003" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalUnitClassAMember" xlink:label="us-gaap_CapitalUnitClassAMember_637236753750293003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CapitalUnitClassDomain_637236753750293003" xlink:to="us-gaap_CapitalUnitClassAMember_637236753750293003" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalUnitClassBMember" xlink:label="us-gaap_CapitalUnitClassBMember_637236753750293003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CapitalUnitClassDomain_637236753750293003" xlink:to="us-gaap_CapitalUnitClassBMember_637236753750293003" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_TaxEquityTransactionsLineItems" xlink:label="csiq_TaxEquityTransactionsLineItems_637236753750293003" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_637236753750293003" xlink:to="csiq_TaxEquityTransactionsLineItems_637236753750293003" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EquityMethodInvestmentOwnershipPercentageSold" xlink:label="csiq_EquityMethodInvestmentOwnershipPercentageSold_637236753750303014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_TaxEquityTransactionsLineItems_637236753750293003" xlink:to="csiq_EquityMethodInvestmentOwnershipPercentageSold_637236753750303014" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_637236753750303014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_TaxEquityTransactionsLineItems_637236753750293003" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage_637236753750303014" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromSaleOfInvestmentProjects" xlink:label="us-gaap_ProceedsFromSaleOfInvestmentProjects_637236753750303014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_TaxEquityTransactionsLineItems_637236753750293003" xlink:to="us-gaap_ProceedsFromSaleOfInvestmentProjects_637236753750303014" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CashFlowDistributionPercentage" xlink:label="csiq_CashFlowDistributionPercentage_637236753750303014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_TaxEquityTransactionsLineItems_637236753750293003" xlink:to="csiq_CashFlowDistributionPercentage_637236753750303014" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_637236753750303014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_TaxEquityTransactionsLineItems_637236753750293003" xlink:to="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_637236753750303014" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestmentOtherThanTemporaryImpairment" xlink:label="us-gaap_EquityMethodInvestmentOtherThanTemporaryImpairment_637236753750303014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_TaxEquityTransactionsLineItems_637236753750293003" xlink:to="us-gaap_EquityMethodInvestmentOtherThanTemporaryImpairment_637236753750303014" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails" xlink:type="extended" xlink:title="41103 - Disclosure - INVESTMENTS IN AFFILIATES - Other investments (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:label="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable_637236753750303014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsTable_637236753750303014" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_637236753750313016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_637236753750303014" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_637236753750313016" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain_637236753750313016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_637236753750313016" xlink:to="srt_EquityMethodInvesteeNameDomain_637236753750313016" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SuzhouFinancialLeasingCoLtdMember" xlink:label="csiq_SuzhouFinancialLeasingCoLtdMember_637236753750313016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_637236753750313016" xlink:to="csiq_SuzhouFinancialLeasingCoLtdMember_637236753750313016" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarInfrastructureFundIncMember" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember_637236753750313016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_637236753750313016" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember_637236753750313016" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EnowIncMember" xlink:label="csiq_EnowIncMember_637236753750313016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_637236753750313016" xlink:to="csiq_EnowIncMember_637236753750313016" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_637236753750313016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_637236753750303014" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_637236753750313016" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments_637236753750313016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_637236753750313016" xlink:to="us-gaap_PaymentsToAcquireEquityMethodInvestments_637236753750313016" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_637236753750313016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_637236753750313016" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage_637236753750313016" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EquityMethodInvestmentOwnershipPercentageSold" xlink:label="csiq_EquityMethodInvestmentOwnershipPercentageSold_637236753750313016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_637236753750313016" xlink:to="csiq_EquityMethodInvestmentOwnershipPercentageSold_637236753750313016" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity" xlink:label="csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity_637236753750313016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_637236753750313016" xlink:to="csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity_637236753750313016" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NumberOfBoardMembers" xlink:label="csiq_NumberOfBoardMembers_637236753750313016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_637236753750313016" xlink:to="csiq_NumberOfBoardMembers_637236753750313016" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireInterestInJointVenture" xlink:label="us-gaap_PaymentsToAcquireInterestInJointVenture_637236753750313016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_637236753750313016" xlink:to="us-gaap_PaymentsToAcquireInterestInJointVenture_637236753750313016" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CostMethodInvestmentOwnershipPercentage" xlink:label="csiq_CostMethodInvestmentOwnershipPercentage_637236753750323002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_637236753750313016" xlink:to="csiq_CostMethodInvestmentOwnershipPercentage_637236753750323002" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_637236753750323002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_637236753750313016" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_637236753750323002" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ImpairmentOfInvestments" xlink:label="us-gaap_ImpairmentOfInvestments_637236753750323002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_637236753750313016" xlink:to="us-gaap_ImpairmentOfInvestments_637236753750323002" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails" xlink:type="extended" xlink:title="41201 - Disclosure - LEASE - Lease expense (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseCostAbstract" xlink:label="us-gaap_LeaseCostAbstract_637236753750323002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LeaseCostAbstract_637236753750323002" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization_637236753750323002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseCostAbstract_637236753750323002" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization_637236753750323002" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense_637236753750323002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseCostAbstract_637236753750323002" xlink:to="us-gaap_FinanceLeaseInterestExpense_637236753750323002" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost_637236753750323002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseCostAbstract_637236753750323002" xlink:to="us-gaap_OperatingLeaseCost_637236753750323002" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost_637236753750323002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseCostAbstract_637236753750323002" xlink:to="us-gaap_ShortTermLeaseCost_637236753750323002" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost_637236753750323002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseCostAbstract_637236753750323002" xlink:to="us-gaap_LeaseCost_637236753750323002" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense_637236753750323002" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseExpense_637236753750323002" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_FinanceLeaseExpense" xlink:label="csiq_FinanceLeaseExpense_637236753750333013" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_FinanceLeaseExpense_637236753750333013" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails" xlink:type="extended" xlink:title="41202 - Disclosure - LEASE - Cash flow (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability_637236753750333013" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseInterestPaymentOnLiability_637236753750333013" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments_637236753750333013" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeasePayments_637236753750333013" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PaymentsForFinancingCashFlowsFromFinanceLease" xlink:label="csiq_PaymentsForFinancingCashFlowsFromFinanceLease_637236753750333013" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_PaymentsForFinancingCashFlowsFromFinanceLease_637236753750333013" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_637236753750333013" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_637236753750333013" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_637236753750333013" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_637236753750333013" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails" xlink:type="extended" xlink:title="41203 - Disclosure - LEASE - Additional information (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_637236753750343014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_637236753750343014" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_637236753750343014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_637236753750343014" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_637236753750343014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_637236753750343014" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_637236753750343014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_637236753750343014" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails" xlink:type="extended" xlink:title="41204 - Disclosure - LEASE - Operating leases - Maturities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_637236753750343014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_637236753750343014" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_637236753750343014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_637236753750343014" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_637236753750343014" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_637236753750353014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_637236753750343014" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_637236753750353014" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_637236753750353014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_637236753750343014" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_637236753750353014" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_637236753750353014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_637236753750343014" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_637236753750353014" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_637236753750353014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_637236753750343014" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_637236753750353014" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_637236753750353014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_637236753750343014" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_637236753750353014" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_637236753750353014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_637236753750343014" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_637236753750353014" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_637236753750353014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_637236753750353014" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent_637236753750353014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_637236753750353014" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent_637236753750353014" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears_637236753750353014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_637236753750353014" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears_637236753750353014" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears_637236753750353014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_637236753750353014" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears_637236753750353014" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears_637236753750353014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_637236753750353014" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears_637236753750353014" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears_637236753750353014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_637236753750353014" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears_637236753750353014" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter_637236753750363000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_637236753750353014" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter_637236753750363000" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDue_637236753750363000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_637236753750353014" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDue_637236753750363000" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="5" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails" xlink:type="extended" xlink:title="41205 - Disclosure - LEASE - Operating leases - Gross difference (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract" xlink:label="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_637236753750363000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_637236753750363000" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_637236753750363000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_637236753750363000" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_637236753750363000" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_637236753750363000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_637236753750363000" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_637236753750363000" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_637236753750363000" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_637236753750363000" xlink:to="us-gaap_OperatingLeaseLiability_637236753750363000" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails" xlink:type="extended" xlink:title="41206 - Disclosure - LEASE - Finance leases - Maturities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_637236753750373021" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_637236753750373021" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_637236753750373021" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_637236753750373021" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_637236753750373021" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_637236753750373021" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_637236753750373021" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_637236753750373021" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_637236753750373021" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_637236753750373021" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_637236753750373021" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue_637236753750373021" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_637236753750373021" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue_637236753750373021" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeasesFutureMinimumPaymentsDueAbstract" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDueAbstract_637236753750373021" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_CapitalLeasesFutureMinimumPaymentsDueAbstract_637236753750373021" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeasesFutureMinimumPaymentsDueCurrent" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDueCurrent_637236753750373021" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CapitalLeasesFutureMinimumPaymentsDueAbstract_637236753750373021" xlink:to="us-gaap_CapitalLeasesFutureMinimumPaymentsDueCurrent_637236753750373021" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeasesFutureMinimumPaymentsDueInTwoYears" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInTwoYears_637236753750373021" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CapitalLeasesFutureMinimumPaymentsDueAbstract_637236753750373021" xlink:to="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInTwoYears_637236753750373021" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeasesFutureMinimumPaymentsDueInThreeYears" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInThreeYears_637236753750373021" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CapitalLeasesFutureMinimumPaymentsDueAbstract_637236753750373021" xlink:to="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInThreeYears_637236753750373021" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeasesFutureMinimumPaymentsDueInFourYears" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInFourYears_637236753750373021" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CapitalLeasesFutureMinimumPaymentsDueAbstract_637236753750373021" xlink:to="us-gaap_CapitalLeasesFutureMinimumPaymentsDueInFourYears_637236753750373021" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeasesFutureMinimumPaymentsDue" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDue_637236753750373021" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CapitalLeasesFutureMinimumPaymentsDueAbstract_637236753750373021" xlink:to="us-gaap_CapitalLeasesFutureMinimumPaymentsDue_637236753750373021" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails" xlink:type="extended" xlink:title="41207 - Disclosure - LEASE - Finance leases - Gross difference (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiabilitiesGrossDifferenceAmountAbstract" xlink:label="us-gaap_FinanceLeaseLiabilitiesGrossDifferenceAmountAbstract_637236753750383018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseLiabilitiesGrossDifferenceAmountAbstract_637236753750383018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue_637236753750383018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesGrossDifferenceAmountAbstract_637236753750383018" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue_637236753750383018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="7" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_637236753750383018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesGrossDifferenceAmountAbstract_637236753750383018" xlink:to="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_637236753750383018" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability_637236753750383018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesGrossDifferenceAmountAbstract_637236753750383018" xlink:to="us-gaap_FinanceLeaseLiability_637236753750383018" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeasesFutureMinimumPaymentsDue" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsDue_637236753750383018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesGrossDifferenceAmountAbstract_637236753750383018" xlink:to="us-gaap_CapitalLeasesFutureMinimumPaymentsDue_637236753750383018" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments_637236753750383018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesGrossDifferenceAmountAbstract_637236753750383018" xlink:to="us-gaap_CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments_637236753750383018" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments" xlink:label="us-gaap_CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments_637236753750383018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesGrossDifferenceAmountAbstract_637236753750383018" xlink:to="us-gaap_CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments_637236753750383018" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails" xlink:type="extended" xlink:title="41208 - Disclosure - LEASE - Total leases - Maturities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LesseeLiabilityPaymentsDueNextTwelveMonths" xlink:label="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths_637236753750383018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths_637236753750383018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LesseeLiabilityPaymentsDueYearTwo" xlink:label="csiq_LesseeLiabilityPaymentsDueYearTwo_637236753750383018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDueYearTwo_637236753750383018" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LesseeLiabilityPaymentsDueYearThree" xlink:label="csiq_LesseeLiabilityPaymentsDueYearThree_637236753750383018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDueYearThree_637236753750383018" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LesseeLiabilityPaymentsDueYearFour" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFour_637236753750393015" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDueYearFour_637236753750393015" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LesseeLiabilityPaymentsDueYearFive" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFive_637236753750393015" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDueYearFive_637236753750393015" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LesseeLiabilityPaymentsDueAfterYearFive" xlink:label="csiq_LesseeLiabilityPaymentsDueAfterYearFive_637236753750393015" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDueAfterYearFive_637236753750393015" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LesseeLiabilityPaymentsDue" xlink:label="csiq_LesseeLiabilityPaymentsDue_637236753750393015" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDue_637236753750393015" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueCurrent" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueCurrent_637236753750393015" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueCurrent_637236753750393015" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears_637236753750393015" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears_637236753750393015" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears_637236753750393015" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears_637236753750393015" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears_637236753750393015" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears_637236753750393015" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears_637236753750393015" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears_637236753750393015" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDuethereafter" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDuethereafter_637236753750393015" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDuethereafter_637236753750393015" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDue_637236753750393015" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDue_637236753750393015" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="5" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails" xlink:type="extended" xlink:title="41209 - Disclosure - LEASE - Total leases - Gross difference (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LesseeLiabilityPaymentsDue" xlink:label="csiq_LesseeLiabilityPaymentsDue_637236753750403001" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDue_637236753750403001" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LesseeLiabilityUndiscountedExcessAmount" xlink:label="csiq_LesseeLiabilityUndiscountedExcessAmount_637236753750403001" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityUndiscountedExcessAmount_637236753750403001" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeaseLiability" xlink:label="csiq_LeaseLiability_637236753750403001" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeaseLiability_637236753750403001" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumLeasePaymentsDue" xlink:label="csiq_LeasesFutureMinimumLeasePaymentsDue_637236753750403001" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeasesFutureMinimumLeasePaymentsDue_637236753750403001" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments" xlink:label="csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments_637236753750403001" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments_637236753750403001" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments" xlink:label="csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments_637236753750403001" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments_637236753750403001" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails" xlink:type="extended" xlink:title="41210 - Disclosure - LEASE - Total leases - Summary (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:label="us-gaap_AssetsAndLiabilitiesLesseeAbstract_637236753750413021" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_AssetsAndLiabilitiesLesseeAbstract_637236753750413021" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeaseLiabilityCurrent" xlink:label="csiq_LeaseLiabilityCurrent_637236753750413021" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_637236753750413021" xlink:to="csiq_LeaseLiabilityCurrent_637236753750413021" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeaseLiabilityNoncurrent" xlink:label="csiq_LeaseLiabilityNoncurrent_637236753750413021" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_637236753750413021" xlink:to="csiq_LeaseLiabilityNoncurrent_637236753750413021" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LeaseLiability" xlink:label="csiq_LeaseLiability_637236753750413021" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_637236753750413021" xlink:to="csiq_LeaseLiability_637236753750413021" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_637236753750413021" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_637236753750413021" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_637236753750413021" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_637236753750413021" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_637236753750413021" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_637236753750413021" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_637236753750413021" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_637236753750413021" xlink:to="us-gaap_OperatingLeaseLiability_637236753750413021" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent_637236753750413021" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_637236753750413021" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent_637236753750413021" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_637236753750413021" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_637236753750413021" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent_637236753750413021" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability_637236753750413021" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_637236753750413021" xlink:to="us-gaap_FinanceLeaseLiability_637236753750413021" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsDetails" xlink:type="extended" xlink:title="41301 - Disclosure - BORROWINGS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable_637236753750423014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_DebtInstrumentTable_637236753750423014" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis_637236753750423014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_637236753750423014" xlink:to="us-gaap_CreditFacilityAxis_637236753750423014" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain_637236753750423014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis_637236753750423014" xlink:to="us-gaap_CreditFacilityDomain_637236753750423014" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditMember" xlink:label="us-gaap_LineOfCreditMember_637236753750423014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_637236753750423014" xlink:to="us-gaap_LineOfCreditMember_637236753750423014" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NonBindingLineOfCreditMember" xlink:label="csiq_NonBindingLineOfCreditMember_637236753750423014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_637236753750423014" xlink:to="csiq_NonBindingLineOfCreditMember_637236753750423014" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis_637236753750423014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_637236753750423014" xlink:to="srt_CounterpartyNameAxis_637236753750423014" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_637236753750423014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis_637236753750423014" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain_637236753750423014" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_BankBorrowingsMember" xlink:label="csiq_BankBorrowingsMember_637236753750423014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_637236753750423014" xlink:to="csiq_BankBorrowingsMember_637236753750423014" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_BorrowingsFromNonBankingInstitutionsMember" xlink:label="csiq_BorrowingsFromNonBankingInstitutionsMember_637236753750423014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_637236753750423014" xlink:to="csiq_BorrowingsFromNonBankingInstitutionsMember_637236753750423014" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems_637236753750423014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_637236753750423014" xlink:to="us-gaap_DebtInstrumentLineItems_637236753750423014" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_637236753750423014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750423014" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_637236753750423014" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherShortTermBorrowings" xlink:label="us-gaap_OtherShortTermBorrowings_637236753750423014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_637236753750423014" xlink:to="us-gaap_OtherShortTermBorrowings_637236753750423014" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent_637236753750423014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_637236753750423014" xlink:to="us-gaap_LongTermDebtCurrent_637236753750423014" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings_637236753750433012" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_637236753750423014" xlink:to="us-gaap_ShortTermBorrowings_637236753750433012" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LongTermBorrowingsOnProjectAssetsCurrent" xlink:label="csiq_LongTermBorrowingsOnProjectAssetsCurrent_637236753750433012" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_637236753750423014" xlink:to="csiq_LongTermBorrowingsOnProjectAssetsCurrent_637236753750433012" order="4" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans_637236753750433012" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_637236753750423014" xlink:to="us-gaap_LongTermNotesAndLoans_637236753750433012" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmount" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount_637236753750433012" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_637236753750423014" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmount_637236753750433012" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_637236753750433012" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_637236753750423014" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_637236753750433012" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit_637236753750433012" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750423014" xlink:to="us-gaap_LineOfCredit_637236753750433012" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_637236753750433012" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750423014" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_637236753750433012" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SecuredShortTermDebt" xlink:label="csiq_SecuredShortTermDebt_637236753750433012" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750423014" xlink:to="csiq_SecuredShortTermDebt_637236753750433012" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SecuredDebtCurrent" xlink:label="us-gaap_SecuredDebtCurrent_637236753750433012" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750423014" xlink:to="us-gaap_SecuredDebtCurrent_637236753750433012" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SecuredLongTermDebt" xlink:label="us-gaap_SecuredLongTermDebt_637236753750433012" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750423014" xlink:to="us-gaap_SecuredLongTermDebt_637236753750433012" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment_637236753750443004" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750423014" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment_637236753750443004" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PledgedAssetsNotSeparatelyReportedInventory" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedInventory_637236753750443004" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750423014" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedInventory_637236753750443004" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight_637236753750443004" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750423014" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight_637236753750443004" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash_637236753750443004" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750423014" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash_637236753750443004" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable_637236753750443004" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750423014" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable_637236753750443004" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PledgedEquityNotSeparatelyReported" xlink:label="csiq_PledgedEquityNotSeparatelyReported_637236753750443004" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750423014" xlink:to="csiq_PledgedEquityNotSeparatelyReported_637236753750443004" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems" xlink:label="csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems_637236753750443004" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750423014" xlink:to="csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems_637236753750443004" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsShortTermDetails" xlink:type="extended" xlink:title="41302 - Disclosure - BORROWINGS - Short term (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherShortTermBorrowings" xlink:label="us-gaap_OtherShortTermBorrowings_637236753750453006" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_OtherShortTermBorrowings_637236753750453006" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent_637236753750453006" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_LongTermDebtCurrent_637236753750453006" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings_637236753750453006" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_ShortTermBorrowings_637236753750453006" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails" xlink:type="extended" xlink:title="41303 - Disclosure - BORROWINGS - Long term (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract_635942437309799352" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LongTermBorrowingsOnProjectAssetsCurrent" xlink:label="csiq_LongTermBorrowingsOnProjectAssetsCurrent_637236753750453006" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract_635942437309799352" xlink:to="csiq_LongTermBorrowingsOnProjectAssetsCurrent_637236753750453006" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans_637236753750463017" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract_635942437309799352" xlink:to="us-gaap_LongTermNotesAndLoans_637236753750463017" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent_637236753750463017" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract_635942437309799352" xlink:to="us-gaap_LongTermDebtCurrent_637236753750463017" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtWeightedAverageInterestRateOverTime" xlink:label="us-gaap_LongTermDebtWeightedAverageInterestRateOverTime_637236753750463017" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract_635942437309799352" xlink:to="us-gaap_LongTermDebtWeightedAverageInterestRateOverTime_637236753750463017" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtByMaturityAbstract" xlink:label="us-gaap_LongTermDebtByMaturityAbstract_637236753750463017" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtDisclosureAbstract_635942437309799352" xlink:to="us-gaap_LongTermDebtByMaturityAbstract_637236753750463017" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_637236753750463017" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_637236753750463017" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_637236753750463017" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_637236753750463017" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_637236753750463017" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_637236753750463017" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_637236753750463017" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_637236753750463017" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_637236753750463017" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_637236753750463017" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_637236753750463017" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_637236753750463017" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_637236753750463017" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_637236753750463017" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_637236753750463017" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive_637236753750463017" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_637236753750463017" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive_637236753750463017" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt_637236753750463017" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_637236753750463017" xlink:to="us-gaap_LongTermDebt_637236753750463017" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LoansPayableCurrent" xlink:label="us-gaap_LoansPayableCurrent_637236753750463017" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_637236753750463017" xlink:to="us-gaap_LoansPayableCurrent_637236753750463017" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans_6372367537504630171" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_637236753750463017" xlink:to="us-gaap_LongTermNotesAndLoans_6372367537504630171" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/positiveLabel" priority="6" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails" xlink:type="extended" xlink:title="41304 - Disclosure - BORROWINGS - Long term narrative and interest expense (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable_637236753750483031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_DebtInstrumentTable_637236753750483031" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis_637236753750483031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_637236753750483031" xlink:to="srt_CounterpartyNameAxis_637236753750483031" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_637236753750483031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis_637236753750483031" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain_637236753750483031" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_BankBorrowingsMember" xlink:label="csiq_BankBorrowingsMember_637236753750483031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_637236753750483031" xlink:to="csiq_BankBorrowingsMember_637236753750483031" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_BorrowingsFromNonBankingInstitutionsMember" xlink:label="csiq_BorrowingsFromNonBankingInstitutionsMember_637236753750483031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_637236753750483031" xlink:to="csiq_BorrowingsFromNonBankingInstitutionsMember_637236753750483031" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis_637236753750483031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_637236753750483031" xlink:to="us-gaap_LongtermDebtTypeAxis_637236753750483031" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain_637236753750483031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis_637236753750483031" xlink:to="us-gaap_LongtermDebtTypeDomain_637236753750483031" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SecuredByInventoryAndAccountsReceivableMember" xlink:label="csiq_SecuredByInventoryAndAccountsReceivableMember_637236753750483031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_637236753750483031" xlink:to="csiq_SecuredByInventoryAndAccountsReceivableMember_637236753750483031" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember" xlink:label="csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember_637236753750493032" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_637236753750483031" xlink:to="csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember_637236753750493032" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnsecuredDebtMember" xlink:label="us-gaap_UnsecuredDebtMember_637236753750493032" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_637236753750483031" xlink:to="us-gaap_UnsecuredDebtMember_637236753750493032" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember" xlink:label="csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_637236753750493032" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_637236753750483031" xlink:to="csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_637236753750493032" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_FinancingAgreementMember" xlink:label="csiq_FinancingAgreementMember_637236753750493032" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_637236753750483031" xlink:to="csiq_FinancingAgreementMember_637236753750493032" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis_637236753750493032" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_637236753750483031" xlink:to="us-gaap_CreditFacilityAxis_637236753750493032" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain_637236753750493032" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis_637236753750493032" xlink:to="us-gaap_CreditFacilityDomain_637236753750493032" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditMember" xlink:label="us-gaap_LineOfCreditMember_637236753750493032" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_637236753750493032" xlink:to="us-gaap_LineOfCreditMember_637236753750493032" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis_637236753750493032" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_637236753750483031" xlink:to="srt_OwnershipAxis_637236753750493032" order="4" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain_637236753750493032" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipAxis_637236753750493032" xlink:to="srt_OwnershipDomain_637236753750493032" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SubsidiaryMember" xlink:label="csiq_SubsidiaryMember_637236753750493032" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipDomain_637236753750493032" xlink:to="csiq_SubsidiaryMember_637236753750493032" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems_637236753750503012" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_637236753750483031" xlink:to="us-gaap_DebtInstrumentLineItems_637236753750503012" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_637236753750503012" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750503012" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_637236753750503012" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit_637236753750503012" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750503012" xlink:to="us-gaap_LineOfCredit_637236753750503012" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DebtInstrumentInterestRateFloatingPercentage" xlink:label="csiq_DebtInstrumentInterestRateFloatingPercentage_637236753750503012" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750503012" xlink:to="csiq_DebtInstrumentInterestRateFloatingPercentage_637236753750503012" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestCostsIncurredAbstract" xlink:label="us-gaap_InterestCostsIncurredAbstract_637236753750503012" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750503012" xlink:to="us-gaap_InterestCostsIncurredAbstract_637236753750503012" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_InterestCostsCapitalizedProjectAssets" xlink:label="csiq_InterestCostsCapitalizedProjectAssets_637236753750503012" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InterestCostsIncurredAbstract_637236753750503012" xlink:to="csiq_InterestCostsCapitalizedProjectAssets_637236753750503012" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="8" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_InterestCostsCapitalizedPropertyPlantAndEquipment" xlink:label="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment_637236753750503012" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InterestCostsIncurredAbstract_637236753750503012" xlink:to="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment_637236753750503012" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense_637236753750503012" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InterestCostsIncurredAbstract_637236753750503012" xlink:to="us-gaap_InterestExpense_637236753750503012" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestCostsIncurred" xlink:label="us-gaap_InterestCostsIncurred_637236753750503012" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InterestCostsIncurredAbstract_637236753750503012" xlink:to="us-gaap_InterestCostsIncurred_637236753750503012" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureShortTermNotesPayableDetails" xlink:type="extended" xlink:title="41401 - Disclosure - SHORT-TERM NOTES PAYABLE (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NotesPayableAbstract" xlink:label="NotesPayableAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ShortTermNotesPayable" xlink:label="csiq_ShortTermNotesPayable_637236753750513009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NotesPayableAbstract" xlink:to="csiq_ShortTermNotesPayable_637236753750513009" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails" xlink:type="extended" xlink:title="41501 - Disclosure - ACCRUED WARRANTY COSTS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:label="ProductWarrantiesDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xlink:label="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_637236753750513009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductWarrantiesDisclosuresAbstract" xlink:to="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_637236753750513009" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductWarrantyAccrualNoncurrent" xlink:label="us-gaap_ProductWarrantyAccrualNoncurrent_637236753750513009" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_637236753750513009" xlink:to="us-gaap_ProductWarrantyAccrualNoncurrent_637236753750513009" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:label="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease_637236753750523024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_637236753750513009" xlink:to="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease_637236753750523024" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductWarrantyAccrualPayments" xlink:label="us-gaap_ProductWarrantyAccrualPayments_637236753750523024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_637236753750513009" xlink:to="us-gaap_ProductWarrantyAccrualPayments_637236753750523024" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_637236753750523024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_637236753750513009" xlink:to="us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_637236753750523024" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductWarrantyAccrualNoncurrent" xlink:label="us-gaap_ProductWarrantyAccrualNoncurrent_637236753750523024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_637236753750513009" xlink:to="us-gaap_ProductWarrantyAccrualNoncurrent_637236753750523024" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureRestrictedNetAssetsDetails" xlink:type="extended" xlink:title="41601 - Disclosure - RESTRICTED NET ASSETS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xlink:label="RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage" xlink:label="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage_637236753750533028" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xlink:to="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage_637236753750533028" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xlink:label="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_637236753750533028" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xlink:to="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_637236753750533028" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails" xlink:type="extended" xlink:title="41701 - Disclosure - CONVERTIBLE NOTES (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ConvertibleNotesDisclosureAbstract" xlink:label="csiq_ConvertibleNotesDisclosureAbstract_635641163295069987" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable_637236753750553100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ConvertibleNotesDisclosureAbstract_635641163295069987" xlink:to="us-gaap_DebtInstrumentTable_637236753750553100" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis_637236753750553100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_637236753750553100" xlink:to="us-gaap_LongtermDebtTypeAxis_637236753750553100" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain_637236753750553100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis_637236753750553100" xlink:to="us-gaap_LongtermDebtTypeDomain_637236753750553100" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConvertibleDebtMember" xlink:label="us-gaap_ConvertibleDebtMember_637236753750553100" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_637236753750553100" xlink:to="us-gaap_ConvertibleDebtMember_637236753750553100" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis_637236753750563324" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_637236753750553100" xlink:to="us-gaap_BalanceSheetLocationAxis_637236753750563324" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_637236753750563324" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis_637236753750563324" xlink:to="us-gaap_BalanceSheetLocationDomain_637236753750563324" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesMember" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesMember_637236753750563324" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_637236753750563324" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesMember_637236753750563324" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems_637236753750563324" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_637236753750553100" xlink:to="us-gaap_DebtInstrumentLineItems_637236753750563324" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProceedsFromConvertibleDebtInitialIssuance" xlink:label="csiq_ProceedsFromConvertibleDebtInitialIssuance_637236753750563324" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750563324" xlink:to="csiq_ProceedsFromConvertibleDebtInitialIssuance_637236753750563324" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance" xlink:label="csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance_637236753750563324" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750563324" xlink:to="csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance_637236753750563324" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProceedsFromConvertibleDebtAdditionalIssuance" xlink:label="csiq_ProceedsFromConvertibleDebtAdditionalIssuance_637236753750563324" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750563324" xlink:to="csiq_ProceedsFromConvertibleDebtAdditionalIssuance_637236753750563324" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_637236753750563324" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750563324" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_637236753750563324" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionRatio1_637236753750563324" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750563324" xlink:to="us-gaap_DebtInstrumentConvertibleConversionRatio1_637236753750563324" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentAnnualPrincipalPayment" xlink:label="us-gaap_DebtInstrumentAnnualPrincipalPayment_637236753750563324" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750563324" xlink:to="us-gaap_DebtInstrumentAnnualPrincipalPayment_637236753750563324" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1_637236753750563324" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750563324" xlink:to="us-gaap_DebtInstrumentConvertibleConversionPrice1_637236753750563324" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_637236753750573012" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750563324" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_637236753750573012" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays_637236753750573012" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750563324" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdTradingDays_637236753750573012" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_637236753750573012" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750563324" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_637236753750573012" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" xlink:label="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents_637236753750573012" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750563324" xlink:to="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents_637236753750573012" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConvertibleLongTermNotesPayable" xlink:label="us-gaap_ConvertibleLongTermNotesPayable_637236753750573012" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750563324" xlink:to="us-gaap_ConvertibleLongTermNotesPayable_637236753750573012" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="us-gaap_ConvertibleNotesPayableCurrent_637236753750573012" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750563324" xlink:to="us-gaap_ConvertibleNotesPayableCurrent_637236753750573012" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredFinanceCostsGross" xlink:label="us-gaap_DeferredFinanceCostsGross_637236753750573012" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750563324" xlink:to="us-gaap_DeferredFinanceCostsGross_637236753750573012" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage_637236753750573012" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750563324" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage_637236753750573012" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts_637236753750583028" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750563324" xlink:to="us-gaap_AmortizationOfFinancingCosts_637236753750583028" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestExpenseDebtExcludingAmortization" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization_637236753750583028" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750563324" xlink:to="us-gaap_InterestExpenseDebtExcludingAmortization_637236753750583028" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestPayableCurrentAndNoncurrent" xlink:label="us-gaap_InterestPayableCurrentAndNoncurrent_637236753750583028" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750563324" xlink:to="us-gaap_InterestPayableCurrentAndNoncurrent_637236753750583028" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentsOfConvertibleDebt" xlink:label="us-gaap_RepaymentsOfConvertibleDebt_637236753750583028" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_637236753750563324" xlink:to="us-gaap_RepaymentsOfConvertibleDebt_637236753750583028" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" xlink:type="extended" xlink:title="41801 - Disclosure - INCOME TAXES - Provision for income taxes (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="us-gaap_IncomeTaxContingencyTable_637236753750583028" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxContingencyTable_637236753750583028" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis_637236753750583028" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyTable_637236753750583028" xlink:to="us-gaap_IncomeTaxAuthorityAxis_637236753750583028" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_637236753750583028" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis_637236753750583028" xlink:to="us-gaap_IncomeTaxAuthorityDomain_637236753750583028" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CA" xlink:label="country_CA_637236753750593027" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_637236753750583028" xlink:to="country_CA_637236753750593027" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_US" xlink:label="country_US_637236753750593027" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_637236753750583028" xlink:to="country_US_637236753750593027" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CN" xlink:label="country_CN_637236753750593027" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_637236753750583028" xlink:to="country_CN_637236753750593027" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_JP" xlink:label="country_JP_637236753750593027" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_637236753750583028" xlink:to="country_JP_637236753750593027" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherJurisdictionsMember" xlink:label="csiq_OtherJurisdictionsMember_637236753750593027" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_637236753750583028" xlink:to="csiq_OtherJurisdictionsMember_637236753750593027" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="us-gaap_IncomeTaxContingencyLineItems_637236753750593027" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyTable_637236753750583028" xlink:to="us-gaap_IncomeTaxContingencyLineItems_637236753750593027" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_637236753750593027" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_637236753750593027" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_637236753750593027" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract_637236753750593027" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_637236753750593027" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract_637236753750593027" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_637236753750593027" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract_637236753750593027" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_637236753750593027" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_637236753750593027" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_637236753750593027" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_637236753750593027" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_637236753750593027" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_637236753750593027" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_637236753750593027" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_637236753750593027" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_637236753750593027" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_637236753750593027" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_637236753750593027" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_637236753750593027" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_637236753750593027" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract_637236753750603016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_637236753750593027" xlink:to="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract_637236753750603016" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_637236753750603016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract_637236753750603016" xlink:to="us-gaap_IncomeTaxExpenseBenefit_637236753750603016" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails" xlink:type="extended" xlink:title="41802 - Disclosure - INCOME TAXES - Domestic federal statutory tax rates (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="us-gaap_IncomeTaxContingencyTable_637236753750603016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxContingencyTable_637236753750603016" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis_637236753750603016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyTable_637236753750603016" xlink:to="us-gaap_IncomeTaxAuthorityAxis_637236753750603016" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_637236753750603016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis_637236753750603016" xlink:to="us-gaap_IncomeTaxAuthorityDomain_637236753750603016" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember_637236753750603016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_637236753750603016" xlink:to="us-gaap_DomesticCountryMember_637236753750603016" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_US" xlink:label="country_US_637236753750603016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_637236753750603016" xlink:to="country_US_637236753750603016" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_JP" xlink:label="country_JP_637236753750603016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_637236753750603016" xlink:to="country_JP_637236753750603016" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_DE" xlink:label="country_DE_637236753750603016" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_637236753750603016" xlink:to="country_DE_637236753750603016" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_VN" xlink:label="country_VN_637236753750613075" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_637236753750603016" xlink:to="country_VN_637236753750613075" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_TH" xlink:label="country_TH_637236753750613075" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_637236753750603016" xlink:to="country_TH_637236753750613075" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_HK" xlink:label="country_HK_637236753750613075" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_637236753750603016" xlink:to="country_HK_637236753750613075" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_637236753750613075" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyTable_637236753750603016" xlink:to="dei_LegalEntityAxis_637236753750613075" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_637236753750613075" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_637236753750613075" xlink:to="dei_EntityDomain_637236753750613075" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarSolutionsIncMember" xlink:label="csiq_CanadianSolarSolutionsIncMember_637236753750613075" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753750613075" xlink:to="csiq_CanadianSolarSolutionsIncMember_637236753750613075" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarUSAIncMember" xlink:label="csiq_CanadianSolarUSAIncMember_637236753750613075" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753750613075" xlink:to="csiq_CanadianSolarUSAIncMember_637236753750613075" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarEnergyAcquisitionCo.Member" xlink:label="csiq_CanadianSolarEnergyAcquisitionCo.Member_637236753750613075" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753750613075" xlink:to="csiq_CanadianSolarEnergyAcquisitionCo.Member_637236753750613075" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarJapanKKMember" xlink:label="csiq_CanadianSolarJapanKKMember_637236753750613075" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753750613075" xlink:to="csiq_CanadianSolarJapanKKMember_637236753750613075" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarEMEAGmbHMember" xlink:label="csiq_CanadianSolarEMEAGmbHMember_637236753750613075" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753750613075" xlink:to="csiq_CanadianSolarEMEAGmbHMember_637236753750613075" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarManufacturingVietnamCo.LtdMember" xlink:label="csiq_CanadianSolarManufacturingVietnamCo.LtdMember_637236753750613075" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753750613075" xlink:to="csiq_CanadianSolarManufacturingVietnamCo.LtdMember_637236753750613075" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarInternationalLtdMember" xlink:label="csiq_CanadianSolarInternationalLtdMember_637236753750613075" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753750613075" xlink:to="csiq_CanadianSolarInternationalLtdMember_637236753750613075" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" xlink:label="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_637236753750623014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753750613075" xlink:to="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_637236753750623014" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="us-gaap_IncomeTaxContingencyLineItems_637236753750623014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyTable_637236753750603016" xlink:to="us-gaap_IncomeTaxContingencyLineItems_637236753750623014" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_637236753750623014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_637236753750623014" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_637236753750623014" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncomeTaxesForeignCorporateTaxRate" xlink:label="csiq_IncomeTaxesForeignCorporateTaxRate_637236753750623014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_637236753750623014" xlink:to="csiq_IncomeTaxesForeignCorporateTaxRate_637236753750623014" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions" xlink:label="csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions_637236753750623014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_637236753750623014" xlink:to="csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions_637236753750623014" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption" xlink:label="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption_637236753750623014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_637236753750623014" xlink:to="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption_637236753750623014" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_637236753750623014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_637236753750623014" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_637236753750623014" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:label="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_637236753750623014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_637236753750623014" xlink:to="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_637236753750623014" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits_637236753750633014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_637236753750623014" xlink:to="us-gaap_UnrecognizedTaxBenefits_637236753750633014" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_637236753750633014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_637236753750623014" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_637236753750633014" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_637236753750633014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_637236753750623014" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_637236753750633014" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation_637236753750633014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_637236753750623014" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation_637236753750633014" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation_637236753750633014" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_637236753750623014" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation_637236753750633014" order="5" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits_6372367537506330141" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_637236753750623014" xlink:to="us-gaap_UnrecognizedTaxBenefits_6372367537506330141" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="extended" xlink:title="41803 - Disclosure - INCOME TAXES - Deferred tax assets and liabilities (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_637236753750643018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_StatementTable_637236753750643018" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis_637236753750643018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_637236753750643018" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis_637236753750643018" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_637236753750643018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis_637236753750643018" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_637236753750643018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_637236753750643018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_637236753750643018" xlink:to="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_637236753750643018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_637236753750643018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_637236753750643018" xlink:to="us-gaap_StatementLineItems_637236753750643018" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_637236753750643018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_637236753750643018" xlink:to="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_637236753750643018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsGrossAbstract" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract_637236753750643018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_637236753750643018" xlink:to="us-gaap_DeferredTaxAssetsGrossAbstract_637236753750643018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_637236753750643018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_637236753750643018" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_637236753750643018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_637236753750643018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_637236753750643018" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_637236753750643018" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory_637236753750643018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_637236753750643018" xlink:to="us-gaap_DeferredTaxAssetsInventory_637236753750643018" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DeferredTaxAssetsFutureDeductibleExpenses" xlink:label="csiq_DeferredTaxAssetsFutureDeductibleExpenses_637236753750643018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_637236753750643018" xlink:to="csiq_DeferredTaxAssetsFutureDeductibleExpenses_637236753750643018" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_637236753750643018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_637236753750643018" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_637236753750643018" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_637236753750653022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_637236753750643018" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_637236753750653022" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" xlink:label="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_637236753750653022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_637236753750643018" xlink:to="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_637236753750653022" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_637236753750653022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_637236753750643018" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_637236753750653022" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:label="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_637236753750653022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_637236753750643018" xlink:to="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_637236753750653022" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DeferredTaxAssetsInterestLimitation" xlink:label="csiq_DeferredTaxAssetsInterestLimitation_637236753750653022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_637236753750643018" xlink:to="csiq_DeferredTaxAssetsInterestLimitation_637236753750653022" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther_637236753750653022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_637236753750643018" xlink:to="us-gaap_DeferredTaxAssetsOther_637236753750653022" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross_637236753750653022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_637236753750643018" xlink:to="us-gaap_DeferredTaxAssetsGross_637236753750653022" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_637236753750653022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_637236753750643018" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_637236753750653022" order="13" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet_637236753750653022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_637236753750643018" xlink:to="us-gaap_DeferredTaxAssetsNet_637236753750653022" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract_637236753750653022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_637236753750643018" xlink:to="us-gaap_DeferredTaxLiabilitiesNetAbstract_637236753750653022" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:label="us-gaap_DeferredTaxLiabilitiesDerivatives_637236753750653022" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_637236753750653022" xlink:to="us-gaap_DeferredTaxLiabilitiesDerivatives_637236753750653022" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_637236753750663071" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_637236753750653022" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_637236753750663071" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DeferredTaxLiabilitiesDeferredProfitOfProjects" xlink:label="csiq_DeferredTaxLiabilitiesDeferredProfitOfProjects_637236753750663071" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_637236753750653022" xlink:to="csiq_DeferredTaxLiabilitiesDeferredProfitOfProjects_637236753750663071" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DeferredTaxLiabilitiesInsuranceRecoverable" xlink:label="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_637236753750663071" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_637236753750653022" xlink:to="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_637236753750663071" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" xlink:label="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains_637236753750663071" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_637236753750653022" xlink:to="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains_637236753750663071" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_637236753750663071" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_637236753750653022" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_637236753750663071" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_637236753750663071" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_637236753750653022" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_637236753750663071" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilitiesAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract_637236753750663071" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_637236753750643018" xlink:to="us-gaap_DeferredTaxLiabilitiesAbstract_637236753750663071" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_637236753750663071" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract_637236753750663071" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_637236753750663071" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_637236753750673013" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract_637236753750663071" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_637236753750673013" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_637236753750673013" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract_637236753750663071" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet_637236753750673013" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards_637236753750673013" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_637236753750643018" xlink:to="us-gaap_OperatingLossCarryforwards_637236753750673013" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OperatingLossCarryforwardsSubjectToExpiration" xlink:label="csiq_OperatingLossCarryforwardsSubjectToExpiration_637236753750673013" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_637236753750643018" xlink:to="csiq_OperatingLossCarryforwardsSubjectToExpiration_637236753750673013" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="us-gaap_ValuationAllowancesAndReservesBalance_637236753750673013" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_637236753750643018" xlink:to="us-gaap_ValuationAllowancesAndReservesBalance_637236753750673013" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails" xlink:type="extended" xlink:title="41804 - Disclosure - INCOME TAXES - Reconciliation (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncomeTaxesTable" xlink:label="csiq_IncomeTaxesTable_637236753750683097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="csiq_IncomeTaxesTable_637236753750683097" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_637236753750683097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxesTable_637236753750683097" xlink:to="srt_RangeAxis_637236753750683097" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember_637236753750683097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_637236753750683097" xlink:to="srt_RangeMember_637236753750683097" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_637236753750683097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_637236753750683097" xlink:to="srt_MinimumMember_637236753750683097" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_637236753750683097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_637236753750683097" xlink:to="srt_MaximumMember_637236753750683097" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncomeTaxesLineItems" xlink:label="csiq_IncomeTaxesLineItems_637236753750683097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxesTable_637236753750683097" xlink:to="csiq_IncomeTaxesLineItems_637236753750683097" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_637236753750683097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxesLineItems_637236753750683097" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_637236753750683097" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_637236753750683097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_637236753750683097" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_637236753750683097" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_637236753750683097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_637236753750683097" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_637236753750683097" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_637236753750683097" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_637236753750683097" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_637236753750683097" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays_637236753750693033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_637236753750683097" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays_637236753750693033" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_637236753750693033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_637236753750683097" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_637236753750693033" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_637236753750693033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_637236753750683097" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_637236753750693033" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_637236753750693033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_637236753750683097" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_637236753750693033" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_637236753750693033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_637236753750683097" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_637236753750693033" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="7" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_637236753750693033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_637236753750683097" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_637236753750693033" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:label="csiq_IncomeTaxAdditionalDisclosureAbstract_637236753750693033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxesLineItems_637236753750683097" xlink:to="csiq_IncomeTaxAdditionalDisclosureAbstract_637236753750693033" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" xlink:label="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities_637236753750693033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract_637236753750693033" xlink:to="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities_637236753750693033" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries_637236753750693033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract_637236753750693033" xlink:to="us-gaap_UndistributedEarningsOfForeignSubsidiaries_637236753750693033" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities" xlink:label="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities_637236753750693033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract_637236753750693033" xlink:to="csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities_637236753750693033" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_637236753750703018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract_637236753750693033" xlink:to="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_637236753750703018" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_WithholdingTaxRate" xlink:label="csiq_WithholdingTaxRate_637236753750703018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract_637236753750693033" xlink:to="csiq_WithholdingTaxRate_637236753750703018" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PreferentialWithholdingTaxRate" xlink:label="csiq_PreferentialWithholdingTaxRate_637236753750703018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract_637236753750693033" xlink:to="csiq_PreferentialWithholdingTaxRate_637236753750703018" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncomeTaxHolidayAbstract" xlink:label="csiq_IncomeTaxHolidayAbstract_637236753750703018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxesLineItems_637236753750683097" xlink:to="csiq_IncomeTaxHolidayAbstract_637236753750703018" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxHolidayAggregateDollarAmount" xlink:label="us-gaap_IncomeTaxHolidayAggregateDollarAmount_637236753750703018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxHolidayAbstract_637236753750703018" xlink:to="us-gaap_IncomeTaxHolidayAggregateDollarAmount_637236753750703018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic_637236753750703018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxHolidayAbstract_637236753750703018" xlink:to="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic_637236753750703018" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted_637236753750703018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxHolidayAbstract_637236753750703018" xlink:to="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted_637236753750703018" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails" xlink:type="extended" xlink:title="41805 - Disclosure - INCOME TAXES - Movement of the valuation allowance (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureTable_637236753750713018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureTable_637236753750713018" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis_637236753750713018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureTable_637236753750713018" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis_637236753750713018" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_637236753750713018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis_637236753750713018" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_637236753750713018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_637236753750713018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_637236753750713018" xlink:to="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_637236753750713018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureLineItems_637236753750713018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureTable_637236753750713018" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureLineItems_637236753750713018" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:label="us-gaap_MovementInValuationAllowancesAndReservesRollForward_637236753750713018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureLineItems_637236753750713018" xlink:to="us-gaap_MovementInValuationAllowancesAndReservesRollForward_637236753750713018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_637236753750713018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_637236753750713018" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_637236753750713018" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" xlink:label="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet_637236753750713018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_637236753750713018" xlink:to="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet_637236753750713018" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ValuationAllowancesAndReservesForeignExchangeEffect" xlink:label="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_637236753750713018" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_637236753750713018" xlink:to="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_637236753750713018" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_6372367537507130181" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_637236753750713018" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_6372367537507130181" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails" xlink:type="extended" xlink:title="41901 - Disclosure - EARNINGS PER SHARE (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_637236753750723023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_637236753750723023" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_637236753750723023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_637236753750723023" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_637236753750723023" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_637236753750723023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_637236753750723023" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_637236753750723023" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_StockOptionsAndRestrictedStockUnitsMember" xlink:label="csiq_StockOptionsAndRestrictedStockUnitsMember_637236753750723023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain_637236753750723023" xlink:to="csiq_StockOptionsAndRestrictedStockUnitsMember_637236753750723023" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_637236753750723023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_637236753750723023" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_637236753750723023" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:label="us-gaap_EarningsPerShareBasicAndDilutedAbstract_637236753750723023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_637236753750723023" xlink:to="us-gaap_EarningsPerShareBasicAndDilutedAbstract_637236753750723023" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_637236753750723023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareBasicAndDilutedAbstract_637236753750723023" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_637236753750723023" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" xlink:label="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther_637236753750723023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareBasicAndDilutedAbstract_637236753750723023" xlink:to="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther_637236753750723023" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted_637236753750723023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareBasicAndDilutedAbstract_637236753750723023" xlink:to="us-gaap_NetIncomeLossAttributableToParentDiluted_637236753750723023" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="7" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_637236753750723023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareBasicAndDilutedAbstract_637236753750723023" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_637236753750723023" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_637236753750723023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareBasicAndDilutedAbstract_637236753750723023" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_637236753750723023" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" xlink:label="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities_637236753750723023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareBasicAndDilutedAbstract_637236753750723023" xlink:to="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities_637236753750723023" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_637236753750723023" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareBasicAndDilutedAbstract_637236753750723023" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_637236753750723023" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic_637236753750733024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareBasicAndDilutedAbstract_637236753750723023" xlink:to="us-gaap_EarningsPerShareBasic_637236753750733024" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted_637236753750733024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareBasicAndDilutedAbstract_637236753750723023" xlink:to="us-gaap_EarningsPerShareDiluted_637236753750733024" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_637236753750733024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_637236753750723023" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_637236753750733024" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails" xlink:type="extended" xlink:title="42001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="RelatedPartyTransactionsAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_637236753750733024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RelatedPartyTransactionsAbstract" xlink:to="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_637236753750733024" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_637236753750733024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_637236753750733024" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_637236753750733024" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain_637236753750733024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_637236753750733024" xlink:to="us-gaap_RelatedPartyDomain_637236753750733024" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_RoserockMember" xlink:label="csiq_RoserockMember_637236753750733024" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_637236753750733024" xlink:to="csiq_RoserockMember_637236753750733024" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PilipinasNewtonEnergyCorpMember" xlink:label="csiq_PilipinasNewtonEnergyCorpMember_637236753750743025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_637236753750733024" xlink:to="csiq_PilipinasNewtonEnergyCorpMember_637236753750743025" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EtSolutionsSouthAfricaOnePtyMember" xlink:label="csiq_EtSolutionsSouthAfricaOnePtyMember_637236753750743025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_637236753750733024" xlink:to="csiq_EtSolutionsSouthAfricaOnePtyMember_637236753750743025" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarInfrastructureFundIncMember" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember_637236753750743025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_637236753750733024" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember_637236753750743025" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SuzhouIsilverMaterialsMember" xlink:label="csiq_SuzhouIsilverMaterialsMember_637236753750743025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_637236753750733024" xlink:to="csiq_SuzhouIsilverMaterialsMember_637236753750743025" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SuzhouKzoneEquipmentTechnologyMember" xlink:label="csiq_SuzhouKzoneEquipmentTechnologyMember_637236753750743025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_637236753750733024" xlink:to="csiq_SuzhouKzoneEquipmentTechnologyMember_637236753750743025" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ChiefExecutiveOfficerMember" xlink:label="srt_ChiefExecutiveOfficerMember_637236753750743025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_637236753750733024" xlink:to="srt_ChiefExecutiveOfficerMember_637236753750743025" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SuzhouGaochuangteNewEnergyCoLtdMember" xlink:label="csiq_SuzhouGaochuangteNewEnergyCoLtdMember_637236753750743025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_637236753750733024" xlink:to="csiq_SuzhouGaochuangteNewEnergyCoLtdMember_637236753750743025" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember" xlink:label="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_637236753750743025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_637236753750733024" xlink:to="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_637236753750743025" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis_637236753750743025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_637236753750733024" xlink:to="us-gaap_LineOfCreditFacilityAxis_637236753750743025" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain_637236753750743025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis_637236753750743025" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain_637236753750743025" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ChineseCommercialBanksMember" xlink:label="csiq_ChineseCommercialBanksMember_637236753750743025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain_637236753750743025" xlink:to="csiq_ChineseCommercialBanksMember_637236753750743025" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis_637236753750743025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_637236753750733024" xlink:to="us-gaap_IncomeStatementLocationAxis_637236753750743025" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain_637236753750743025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis_637236753750743025" xlink:to="us-gaap_IncomeStatementLocationDomain_637236753750743025" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SalesMember" xlink:label="us-gaap_SalesMember_637236753750753017" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain_637236753750743025" xlink:to="us-gaap_SalesMember_637236753750753017" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherOperatingIncomeExpenseMember" xlink:label="us-gaap_OtherOperatingIncomeExpenseMember_637236753750753017" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain_637236753750743025" xlink:to="us-gaap_OtherOperatingIncomeExpenseMember_637236753750753017" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartyTransactionAxis" xlink:label="us-gaap_RelatedPartyTransactionAxis_637236753750753017" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_637236753750733024" xlink:to="us-gaap_RelatedPartyTransactionAxis_637236753750753017" order="4" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="us-gaap_RelatedPartyTransactionDomain_637236753750753017" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionAxis_637236753750753017" xlink:to="us-gaap_RelatedPartyTransactionDomain_637236753750753017" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AssetManagementServiceMember" xlink:label="csiq_AssetManagementServiceMember_637236753750753017" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionDomain_637236753750753017" xlink:to="csiq_AssetManagementServiceMember_637236753750753017" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OMServiceMember" xlink:label="csiq_OMServiceMember_637236753750753017" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionDomain_637236753750753017" xlink:to="csiq_OMServiceMember_637236753750753017" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_637236753750823029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_637236753750733024" xlink:to="us-gaap_AwardTypeAxis_637236753750823029" order="5" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_637236753750823029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_637236753750823029" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_637236753750823029" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_637236753750823029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_637236753750823029" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_637236753750823029" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="us-gaap_RelatedPartyTransactionLineItems_637236753750823029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_637236753750733024" xlink:to="us-gaap_RelatedPartyTransactionLineItems_637236753750823029" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DueFromRelatedPartiesCurrent" xlink:label="us-gaap_DueFromRelatedPartiesCurrent_637236753750823029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_637236753750823029" xlink:to="us-gaap_DueFromRelatedPartiesCurrent_637236753750823029" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableRelatedParties" xlink:label="us-gaap_AccountsReceivableRelatedParties_637236753750823029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_637236753750823029" xlink:to="us-gaap_AccountsReceivableRelatedParties_637236753750823029" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CashReceivableRelatedPartiesCurrent" xlink:label="csiq_CashReceivableRelatedPartiesCurrent_637236753750823029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_637236753750823029" xlink:to="csiq_CashReceivableRelatedPartiesCurrent_637236753750823029" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableRelatedPartiesCurrent" xlink:label="us-gaap_AccountsReceivableRelatedPartiesCurrent_637236753750823029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_637236753750823029" xlink:to="us-gaap_AccountsReceivableRelatedPartiesCurrent_637236753750823029" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_637236753750833031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_637236753750823029" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage_637236753750833031" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DueToRelatedPartiesCurrent" xlink:label="us-gaap_DueToRelatedPartiesCurrent_637236753750833031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_637236753750823029" xlink:to="us-gaap_DueToRelatedPartiesCurrent_637236753750833031" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableRelatedPartiesCurrentAndNoncurrent" xlink:label="us-gaap_AccountsPayableRelatedPartiesCurrentAndNoncurrent_637236753750833031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_637236753750823029" xlink:to="us-gaap_AccountsPayableRelatedPartiesCurrentAndNoncurrent_637236753750833031" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EquipmentPurchasesPayableRelatedPartiesCurrent" xlink:label="csiq_EquipmentPurchasesPayableRelatedPartiesCurrent_637236753750833031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_637236753750823029" xlink:to="csiq_EquipmentPurchasesPayableRelatedPartiesCurrent_637236753750833031" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LineOfCreditFacilityMaturityTerm" xlink:label="csiq_LineOfCreditFacilityMaturityTerm_637236753750833031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_637236753750823029" xlink:to="csiq_LineOfCreditFacilityMaturityTerm_637236753750833031" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_637236753750833031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_637236753750823029" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_637236753750833031" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit_637236753750843031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_637236753750823029" xlink:to="us-gaap_LineOfCredit_637236753750843031" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/positiveLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_637236753750843031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_637236753750823029" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_637236753750843031" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold" xlink:label="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold_637236753750843031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_637236753750823029" xlink:to="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold_637236753750843031" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PurchaseOfUnitsPercentage" xlink:label="csiq_PurchaseOfUnitsPercentage_637236753750843031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_637236753750823029" xlink:to="csiq_PurchaseOfUnitsPercentage_637236753750843031" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromRelatedParties" xlink:label="us-gaap_RevenueFromRelatedParties_637236753750843031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_637236753750823029" xlink:to="us-gaap_RevenueFromRelatedParties_637236753750843031" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ServiceRevenueFromRelatedParty" xlink:label="csiq_ServiceRevenueFromRelatedParty_637236753750843031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_637236753750823029" xlink:to="csiq_ServiceRevenueFromRelatedParty_637236753750843031" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" xlink:label="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty_637236753750843031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_637236753750823029" xlink:to="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty_637236753750843031" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" xlink:label="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction_637236753750853066" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_637236753750823029" xlink:to="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction_637236753750853066" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostsAndExpensesRelatedParty" xlink:label="us-gaap_CostsAndExpensesRelatedParty_637236753750853066" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_637236753750823029" xlink:to="us-gaap_CostsAndExpensesRelatedParty_637236753750853066" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails" xlink:type="extended" xlink:title="42101 - Disclosure - COMMITMENTS AND CONTINGENCIES - Commitments (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_635950298350555031" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable_637236753750863164" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_635950298350555031" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable_637236753750863164" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_637236753750863164" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable_637236753750863164" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_637236753750863164" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_637236753750863164" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_637236753750863164" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_637236753750863164" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PropertyAndEquipmentPurchaseCommitmentMember" xlink:label="csiq_PropertyAndEquipmentPurchaseCommitmentMember_637236753750863164" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_637236753750863164" xlink:to="csiq_PropertyAndEquipmentPurchaseCommitmentMember_637236753750863164" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarPowerSystemCommitmentsMember" xlink:label="csiq_SolarPowerSystemCommitmentsMember_637236753750863164" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_637236753750863164" xlink:to="csiq_SolarPowerSystemCommitmentsMember_637236753750863164" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_637236753750863164" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable_637236753750863164" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_637236753750863164" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xlink:label="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_637236753750863164" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_637236753750863164" xlink:to="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_637236753750863164" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseObligationDueInNextTwelveMonths" xlink:label="us-gaap_PurchaseObligationDueInNextTwelveMonths_637236753750863164" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_637236753750863164" xlink:to="us-gaap_PurchaseObligationDueInNextTwelveMonths_637236753750863164" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseObligationDueInSecondYear" xlink:label="us-gaap_PurchaseObligationDueInSecondYear_637236753750863164" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_637236753750863164" xlink:to="us-gaap_PurchaseObligationDueInSecondYear_637236753750863164" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PurchaseObligation" xlink:label="us-gaap_PurchaseObligation_637236753750873037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_637236753750863164" xlink:to="us-gaap_PurchaseObligation_637236753750873037" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" xlink:type="extended" xlink:title="42102 - Disclosure - COMMITMENTS AND CONTINGENCIES - Contingencies (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="CommitmentsAndContingenciesDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingenciesTable" xlink:label="us-gaap_LossContingenciesTable_637236753750873037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_LossContingenciesTable_637236753750873037" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis_637236753750873037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable_637236753750873037" xlink:to="srt_LitigationCaseAxis_637236753750873037" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain_637236753750873037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseAxis_637236753750873037" xlink:to="srt_LitigationCaseTypeDomain_637236753750873037" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ClassActionLawsuitsFiledInNewYorkMember" xlink:label="csiq_ClassActionLawsuitsFiledInNewYorkMember_637236753750873037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_637236753750873037" xlink:to="csiq_ClassActionLawsuitsFiledInNewYorkMember_637236753750873037" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_USCountervailingAndAntiDumpingDutiesMember" xlink:label="csiq_USCountervailingAndAntiDumpingDutiesMember_637236753750873037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_637236753750873037" xlink:to="csiq_USCountervailingAndAntiDumpingDutiesMember_637236753750873037" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_FirstAdministrativeReviewOfSolarTwoMember" xlink:label="csiq_FirstAdministrativeReviewOfSolarTwoMember_637236753750873037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_USCountervailingAndAntiDumpingDutiesMember_637236753750873037" xlink:to="csiq_FirstAdministrativeReviewOfSolarTwoMember_637236753750873037" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingenciesLineItems" xlink:label="us-gaap_LossContingenciesLineItems_637236753750873037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable_637236753750873037" xlink:to="us-gaap_LossContingenciesLineItems_637236753750873037" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NumberOfSubpoenasReceived" xlink:label="csiq_NumberOfSubpoenasReceived_637236753750873037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_637236753750873037" xlink:to="csiq_NumberOfSubpoenasReceived_637236753750873037" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LossContingencyNewClaimsFiledNumber" xlink:label="us-gaap_LossContingencyNewClaimsFiledNumber_637236753750873037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_637236753750873037" xlink:to="us-gaap_LossContingencyNewClaimsFiledNumber_637236753750873037" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PeriodOfSunsetReviews" xlink:label="csiq_PeriodOfSunsetReviews_637236753750883039" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_637236753750873037" xlink:to="csiq_PeriodOfSunsetReviews_637236753750883039" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_LossContingencyProvisionReversed" xlink:label="csiq_LossContingencyProvisionReversed_637236753750883039" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_637236753750873037" xlink:to="csiq_LossContingencyProvisionReversed_637236753750883039" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails" xlink:type="extended" xlink:title="42201 - Disclosure - SEGMENT INFORMATION (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_637236753750883039" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_637236753750883039" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_637236753750883039" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_637236753750883039" xlink:to="srt_ConsolidationItemsAxis_637236753750883039" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_637236753750883039" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_637236753750883039" xlink:to="srt_ConsolidationItemsDomain_637236753750883039" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember_637236753750883039" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_637236753750883039" xlink:to="us-gaap_OperatingSegmentsMember_637236753750883039" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntersegmentEliminationMember" xlink:label="us-gaap_IntersegmentEliminationMember_637236753750883039" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_637236753750883039" xlink:to="us-gaap_IntersegmentEliminationMember_637236753750883039" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_637236753750883039" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_637236753750883039" xlink:to="us-gaap_StatementBusinessSegmentsAxis_637236753750883039" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_637236753750893034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_637236753750883039" xlink:to="us-gaap_SegmentDomain_637236753750893034" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ModuleSegmentMember" xlink:label="csiq_ModuleSegmentMember_637236753750893034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_637236753750893034" xlink:to="csiq_ModuleSegmentMember_637236753750893034" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EnergySegmentMember" xlink:label="csiq_EnergySegmentMember_637236753750893034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_637236753750893034" xlink:to="csiq_EnergySegmentMember_637236753750893034" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems_637236753750893034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_637236753750883039" xlink:to="us-gaap_SegmentReportingInformationLineItems_637236753750893034" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments_637236753750893034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_637236753750893034" xlink:to="us-gaap_NumberOfReportableSegments_637236753750893034" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingInformationProfitLossAbstract" xlink:label="us-gaap_SegmentReportingInformationProfitLossAbstract_637236753750893034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_637236753750893034" xlink:to="us-gaap_SegmentReportingInformationProfitLossAbstract_637236753750893034" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_637236753750893034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract_637236753750893034" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_637236753750893034" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold_637236753750893034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract_637236753750893034" xlink:to="us-gaap_CostOfGoodsAndServicesSold_637236753750893034" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_637236753750893034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract_637236753750893034" xlink:to="us-gaap_GrossProfit_637236753750893034" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_637236753750893034" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract_637236753750893034" xlink:to="us-gaap_OperatingIncomeLoss_637236753750893034" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails" xlink:type="extended" xlink:title="42202 - Disclosure - SEGMENT INFORMATION - Different geographic locations (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_637236753750903035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_637236753750903035" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_637236753750903035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_637236753750903035" xlink:to="srt_StatementGeographicalAxis_637236753750903035" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_637236753750903035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis_637236753750903035" xlink:to="srt_SegmentGeographicalDomain_637236753750903035" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_EuropeMember" xlink:label="srt_EuropeMember_637236753750903035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_637236753750903035" xlink:to="srt_EuropeMember_637236753750903035" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_AU" xlink:label="country_AU_637236753750903035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_637236753750903035" xlink:to="country_AU_637236753750903035" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_DE" xlink:label="country_DE_637236753750903035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_637236753750903035" xlink:to="country_DE_637236753750903035" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_ZA" xlink:label="country_ZA_637236753750903035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_637236753750903035" xlink:to="country_ZA_637236753750903035" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_ES" xlink:label="country_ES_637236753750903035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_637236753750903035" xlink:to="country_ES_637236753750903035" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_NL" xlink:label="country_NL_637236753750903035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_637236753750903035" xlink:to="country_NL_637236753750903035" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_GB" xlink:label="country_GB_637236753750903035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_637236753750903035" xlink:to="country_GB_637236753750903035" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CZ" xlink:label="country_CZ_637236753750903035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_637236753750903035" xlink:to="country_CZ_637236753750903035" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherCountriesEuropeMember" xlink:label="csiq_OtherCountriesEuropeMember_637236753750903035" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_637236753750903035" xlink:to="csiq_OtherCountriesEuropeMember_637236753750903035" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AmericaMember" xlink:label="csiq_AmericaMember_637236753750913036" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_637236753750903035" xlink:to="csiq_AmericaMember_637236753750913036" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_US" xlink:label="country_US_637236753750913036" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_AmericaMember_637236753750913036" xlink:to="country_US_637236753750913036" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_BR" xlink:label="country_BR_637236753750913036" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_AmericaMember_637236753750913036" xlink:to="country_BR_637236753750913036" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CA" xlink:label="country_CA_637236753750913036" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_AmericaMember_637236753750913036" xlink:to="country_CA_637236753750913036" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_MX" xlink:label="country_MX_637236753750913036" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_AmericaMember_637236753750913036" xlink:to="country_MX_637236753750913036" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherCountriesAmericaMember" xlink:label="csiq_OtherCountriesAmericaMember_637236753750913036" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_AmericaMember_637236753750913036" xlink:to="csiq_OtherCountriesAmericaMember_637236753750913036" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_AsiaMember" xlink:label="srt_AsiaMember_637236753750913036" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_637236753750903035" xlink:to="srt_AsiaMember_637236753750913036" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_JP" xlink:label="country_JP_637236753750913036" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_637236753750913036" xlink:to="country_JP_637236753750913036" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CN" xlink:label="country_CN_637236753750913036" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_637236753750913036" xlink:to="country_CN_637236753750913036" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_KR" xlink:label="country_KR_637236753750913036" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_637236753750913036" xlink:to="country_KR_637236753750913036" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_IN" xlink:label="country_IN_637236753750923029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_637236753750913036" xlink:to="country_IN_637236753750923029" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_AE" xlink:label="country_AE_637236753750923029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_637236753750913036" xlink:to="country_AE_637236753750923029" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_VN" xlink:label="country_VN_637236753750923029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_637236753750913036" xlink:to="country_VN_637236753750923029" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_TH" xlink:label="country_TH_637236753750923029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_637236753750913036" xlink:to="country_TH_637236753750923029" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherCountriesAsiaMember" xlink:label="csiq_OtherCountriesAsiaMember_637236753750923029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_637236753750913036" xlink:to="csiq_OtherCountriesAsiaMember_637236753750923029" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_637236753750923029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_637236753750903035" xlink:to="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_637236753750923029" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_637236753750923029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_637236753750923029" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_637236753750923029" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets_637236753750923029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_637236753750923029" xlink:to="us-gaap_NoncurrentAssets_637236753750923029" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails" xlink:type="extended" xlink:title="42203 - Disclosure - SEGMENT INFORMATION - Each product or service (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_637236753750933139" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_637236753750933139" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_637236753750933139" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_637236753750933139" xlink:to="us-gaap_StatementBusinessSegmentsAxis_637236753750933139" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_637236753750933139" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_637236753750933139" xlink:to="us-gaap_SegmentDomain_637236753750933139" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ModuleSegmentMember" xlink:label="csiq_ModuleSegmentMember_637236753750933139" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_637236753750933139" xlink:to="csiq_ModuleSegmentMember_637236753750933139" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EnergySegmentMember" xlink:label="csiq_EnergySegmentMember_637236753750933139" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_637236753750933139" xlink:to="csiq_EnergySegmentMember_637236753750933139" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_637236753750933139" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_637236753750933139" xlink:to="srt_ProductOrServiceAxis_637236753750933139" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_637236753750933139" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_637236753750933139" xlink:to="srt_ProductsAndServicesDomain_637236753750933139" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarModulesAndOtherSolarPowerProductsMember" xlink:label="csiq_SolarModulesAndOtherSolarPowerProductsMember_637236753750933139" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_637236753750933139" xlink:to="csiq_SolarModulesAndOtherSolarPowerProductsMember_637236753750933139" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarSystemKitsProductMember" xlink:label="csiq_SolarSystemKitsProductMember_637236753750933139" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_637236753750933139" xlink:to="csiq_SolarSystemKitsProductMember_637236753750933139" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SolarPowerProjectsConstructionAndSaleMember" xlink:label="csiq_SolarPowerProjectsConstructionAndSaleMember_637236753750933139" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_637236753750933139" xlink:to="csiq_SolarPowerProjectsConstructionAndSaleMember_637236753750933139" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EPCServiceProductMember" xlink:label="csiq_EPCServiceProductMember_637236753750943029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_637236753750933139" xlink:to="csiq_EPCServiceProductMember_637236753750943029" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ElectricityIncomeMember" xlink:label="csiq_ElectricityIncomeMember_637236753750943029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_637236753750933139" xlink:to="csiq_ElectricityIncomeMember_637236753750943029" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OAndMServicesProductMember" xlink:label="csiq_OAndMServicesProductMember_637236753750943029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_637236753750933139" xlink:to="csiq_OAndMServicesProductMember_637236753750943029" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherProductMaterialsMember" xlink:label="csiq_OtherProductMaterialsMember_637236753750943029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_637236753750933139" xlink:to="csiq_OtherProductMaterialsMember_637236753750943029" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_OtherProductEpcAndDevelopmentServicesMember" xlink:label="csiq_OtherProductEpcAndDevelopmentServicesMember_637236753750943029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_637236753750933139" xlink:to="csiq_OtherProductEpcAndDevelopmentServicesMember_637236753750943029" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_637236753750943029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_637236753750933139" xlink:to="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_637236753750943029" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_637236753750943029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_637236753750943029" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_637236753750943029" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails" xlink:type="extended" xlink:title="42301 - Disclosure - MAJOR CUSTOMERS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_MajorCustomersDisclosureAbstract" xlink:label="MajorCustomersDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable_637236753750953037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="MajorCustomersDisclosureAbstract" xlink:to="us-gaap_ConcentrationRiskTable_637236753750953037" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_637236753750953037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_637236753750953037" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_637236753750953037" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_637236753750953037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis_637236753750953037" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_637236753750953037" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember_637236753750953037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_637236753750953037" xlink:to="us-gaap_SalesRevenueNetMember_637236753750953037" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember_637236753750953037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_637236753750953037" xlink:to="us-gaap_AccountsReceivableMember_637236753750953037" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_637236753750953037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_637236753750953037" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_637236753750953037" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_637236753750953037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis_637236753750953037" xlink:to="us-gaap_ConcentrationRiskTypeDomain_637236753750953037" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember_637236753750953037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTypeDomain_637236753750953037" xlink:to="us-gaap_CustomerConcentrationRiskMember_637236753750953037" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditConcentrationRiskMember" xlink:label="us-gaap_CreditConcentrationRiskMember_637236753750953037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTypeDomain_637236753750953037" xlink:to="us-gaap_CreditConcentrationRiskMember_637236753750953037" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis_637236753750953037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_637236753750953037" xlink:to="srt_MajorCustomersAxis_637236753750953037" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_637236753750953037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis_637236753750953037" xlink:to="srt_NameOfMajorCustomerDomain_637236753750953037" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CompanyAMember" xlink:label="csiq_CompanyAMember_637236753750953037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_637236753750953037" xlink:to="csiq_CompanyAMember_637236753750953037" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CustomerOneMember" xlink:label="csiq_CustomerOneMember_637236753750953037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_637236753750953037" xlink:to="csiq_CustomerOneMember_637236753750953037" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CustomerTwoMember" xlink:label="csiq_CustomerTwoMember_637236753750953037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_637236753750953037" xlink:to="csiq_CustomerTwoMember_637236753750953037" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CustomerThreeMember" xlink:label="csiq_CustomerThreeMember_637236753750953037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_637236753750953037" xlink:to="csiq_CustomerThreeMember_637236753750953037" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:label="us-gaap_EntityWideRevenueMajorCustomerLineItems_637236753750953037" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_637236753750953037" xlink:to="us-gaap_EntityWideRevenueMajorCustomerLineItems_637236753750953037" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues_637236753750963025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EntityWideRevenueMajorCustomerLineItems_637236753750953037" xlink:to="us-gaap_Revenues_637236753750963025" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_NumberOfCustomers" xlink:label="csiq_NumberOfCustomers_637236753750963025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EntityWideRevenueMajorCustomerLineItems_637236753750953037" xlink:to="csiq_NumberOfCustomers_637236753750963025" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1_637236753750963025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EntityWideRevenueMajorCustomerLineItems_637236753750953037" xlink:to="us-gaap_ConcentrationRiskPercentage1_637236753750963025" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableNet" xlink:label="us-gaap_AccountsReceivableNet_637236753750963025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EntityWideRevenueMajorCustomerLineItems_637236753750953037" xlink:to="us-gaap_AccountsReceivableNet_637236753750963025" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails" xlink:type="extended" xlink:title="42401 - Disclosure - EMPLOYEE BENEFIT PLANS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="CompensationAndRetirementDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_637236753750963025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_StatementTable_637236753750963025" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_637236753750963025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_637236753750963025" xlink:to="srt_RangeAxis_637236753750963025" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember_637236753750963025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_637236753750963025" xlink:to="srt_RangeMember_637236753750963025" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_637236753750963025" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_637236753750963025" xlink:to="srt_MinimumMember_637236753750963025" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_637236753750973118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_637236753750963025" xlink:to="srt_MaximumMember_637236753750973118" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_637236753750973118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_637236753750963025" xlink:to="us-gaap_StatementLineItems_637236753750973118" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_637236753750973118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_637236753750973118" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_637236753750973118" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DefinedContributionPlanCostRecognized" xlink:label="us-gaap_DefinedContributionPlanCostRecognized_637236753750973118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_637236753750973118" xlink:to="us-gaap_DefinedContributionPlanCostRecognized_637236753750973118" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits_637236753750973118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_637236753750973118" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits_637236753750973118" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds_637236753750973118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_637236753750973118" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds_637236753750973118" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits_637236753750973118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_637236753750973118" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits_637236753750973118" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits_637236753750973118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_637236753750973118" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits_637236753750973118" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_DefinedContributionPlanEmployerContributionAmount" xlink:label="csiq_DefinedContributionPlanEmployerContributionAmount_637236753750973118" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_637236753750973118" xlink:to="csiq_DefinedContributionPlanEmployerContributionAmount_637236753750973118" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails" xlink:type="extended" xlink:title="42501 - Disclosure - SHARE-BASED COMPENSATION - Options to Employees (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_637236753750983042" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_637236753750983042" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_637236753750983042" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_637236753750983042" xlink:to="us-gaap_AwardTypeAxis_637236753750983042" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_637236753750983042" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_637236753750983042" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_637236753750983042" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember_637236753750983042" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_637236753750983042" xlink:to="us-gaap_EmployeeStockOptionMember_637236753750983042" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GranteeStatusAxis" xlink:label="us-gaap_GranteeStatusAxis_637236753750983042" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_637236753750983042" xlink:to="us-gaap_GranteeStatusAxis_637236753750983042" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GranteeStatusDomain" xlink:label="us-gaap_GranteeStatusDomain_637236753750983042" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GranteeStatusAxis_637236753750983042" xlink:to="us-gaap_GranteeStatusDomain_637236753750983042" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:label="us-gaap_ShareBasedPaymentArrangementEmployeeMember_637236753750983042" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GranteeStatusDomain_637236753750983042" xlink:to="us-gaap_ShareBasedPaymentArrangementEmployeeMember_637236753750983042" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753750983042" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_637236753750983042" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753750983042" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_637236753750983042" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753750983042" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_637236753750983042" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_637236753750983042" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753750983042" xlink:to="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_637236753750983042" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_637236753750983042" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753750983042" xlink:to="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_637236753750983042" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate_637236753750983042" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753750983042" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate_637236753750983042" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm_637236753750983042" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753750983042" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm_637236753750983042" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_637236753750993030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753750983042" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_637236753750993030" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_637236753750993030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753750983042" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_637236753750993030" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_637236753750993030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753750983042" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_637236753750993030" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_637236753750993030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753750983042" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_637236753750993030" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_637236753751003282" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753750983042" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_637236753751003282" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_637236753751003282" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753750983042" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_637236753751003282" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_637236753751003282" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753750983042" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_637236753751003282" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract_637236753751003282" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753750983042" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract_637236753751003282" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_637236753751003282" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract_637236753751003282" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_637236753751003282" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_637236753751003282" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753750983042" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_637236753751003282" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_637236753751003282" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_637236753751003282" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_637236753751003282" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_637236753751003282" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_637236753751003282" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_637236753751003282" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_6372367537510032821" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_637236753751003282" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_6372367537510032821" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_637236753751013031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753750983042" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_637236753751013031" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_637236753751013031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_637236753751013031" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_637236753751013031" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_637236753751013031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_637236753751013031" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_637236753751013031" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_6372367537510130311" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_637236753751013031" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_6372367537510130311" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardWeightedAverageRemainingContractualTermAbstract" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardWeightedAverageRemainingContractualTermAbstract_637236753751013031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753750983042" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardWeightedAverageRemainingContractualTermAbstract_637236753751013031" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_637236753751013031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardWeightedAverageRemainingContractualTermAbstract_637236753751013031" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_637236753751013031" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardAggregateIntrinsicValueAbstract" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardAggregateIntrinsicValueAbstract_637236753751013031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753750983042" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardAggregateIntrinsicValueAbstract_637236753751013031" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_637236753751023033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardAggregateIntrinsicValueAbstract_637236753751013031" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_637236753751023033" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_637236753751023033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardAggregateIntrinsicValueAbstract_637236753751013031" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_637236753751023033" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails" xlink:type="extended" xlink:title="42502 - Disclosure - SHARE-BASED COMPENSATION - RSUs to Employees (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_637236753751023033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_637236753751023033" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_637236753751023033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_637236753751023033" xlink:to="us-gaap_AwardTypeAxis_637236753751023033" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_637236753751023033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_637236753751023033" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_637236753751023033" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_637236753751033043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_637236753751023033" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_637236753751033043" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_637236753751033043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_637236753751023033" xlink:to="srt_RangeAxis_637236753751033043" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember" xlink:label="srt_RangeMember_637236753751033043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_637236753751033043" xlink:to="srt_RangeMember_637236753751033043" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_637236753751033043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_637236753751033043" xlink:to="srt_MinimumMember_637236753751033043" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_637236753751033043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_637236753751033043" xlink:to="srt_MaximumMember_637236753751033043" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753751033043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_637236753751023033" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753751033043" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_637236753751033043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753751033043" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_637236753751033043" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_637236753751033043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753751033043" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_637236753751033043" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" xlink:label="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions_637236753751033043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753751033043" xlink:to="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions_637236753751033043" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_637236753751033043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753751033043" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_637236753751033043" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_637236753751033043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753751033043" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_637236753751033043" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_637236753751033043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753751033043" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_637236753751033043" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_637236753751033043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753751033043" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_637236753751033043" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_637236753751043030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_637236753751033043" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_637236753751043030" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_637236753751043030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_637236753751033043" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_637236753751043030" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_637236753751043030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_637236753751033043" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_637236753751043030" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="8" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_637236753751043030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_637236753751033043" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_637236753751043030" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_6372367537510430301" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_637236753751033043" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_6372367537510430301" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_637236753751043030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_637236753751033043" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_637236753751043030" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_637236753751043030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_637236753751043030" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_637236753751043030" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_637236753751043030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_637236753751043030" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_637236753751043030" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_637236753751043030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_637236753751043030" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_637236753751043030" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_637236753751043030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_637236753751043030" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_637236753751043030" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_637236753751053031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_637236753751043030" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_637236753751053031" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_637236753751053031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_637236753751043030" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_637236753751053031" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSubsequentEventsDetails" xlink:type="extended" xlink:title="42601 - Disclosure - SUBSEQUENT EVENTS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="SubsequentEventsAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTable" xlink:label="us-gaap_SubsequentEventTable_637236753751053031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventTable_637236753751053031" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis_637236753751053031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTable_637236753751053031" xlink:to="us-gaap_SubsequentEventTypeAxis_637236753751053031" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain_637236753751053031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis_637236753751053031" xlink:to="us-gaap_SubsequentEventTypeDomain_637236753751053031" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember_637236753751053031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeDomain_637236753751053031" xlink:to="us-gaap_SubsequentEventMember_637236753751053031" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareRepurchaseProgramAxis" xlink:label="us-gaap_ShareRepurchaseProgramAxis_637236753751053031" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTable_637236753751053031" xlink:to="us-gaap_ShareRepurchaseProgramAxis_637236753751053031" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="us-gaap_ShareRepurchaseProgramDomain_637236753751063044" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareRepurchaseProgramAxis_637236753751053031" xlink:to="us-gaap_ShareRepurchaseProgramDomain_637236753751063044" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepurchaseAgreementsMember" xlink:label="us-gaap_RepurchaseAgreementsMember_637236753751063044" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareRepurchaseProgramDomain_637236753751063044" xlink:to="us-gaap_RepurchaseAgreementsMember_637236753751063044" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventLineItems" xlink:label="us-gaap_SubsequentEventLineItems_637236753751063044" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTable_637236753751053031" xlink:to="us-gaap_SubsequentEventLineItems_637236753751063044" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_637236753751063044" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventLineItems_637236753751063044" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_637236753751063044" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="us-gaap_StockRepurchasedDuringPeriodValue_637236753751063044" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventLineItems_637236753751063044" xlink:to="us-gaap_StockRepurchasedDuringPeriodValue_637236753751063044" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/netLabel" priority="6" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIDetails" xlink:type="extended" xlink:title="42701 - Disclosure - Financial Statement Schedule I (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract_636806382097483475" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xlink:label="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_637236753751063044" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract_636806382097483475" xlink:to="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_637236753751063044" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xlink:label="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_637236753751063044" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract_636806382097483475" xlink:to="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_637236753751063044" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails" xlink:type="extended" xlink:title="42702 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable_637236753751073046" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable_637236753751073046" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_637236753751073046" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_637236753751073046" xlink:to="srt_ConsolidatedEntitiesAxis_637236753751073046" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_637236753751073046" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_637236753751073046" xlink:to="srt_ConsolidatedEntitiesDomain_637236753751073046" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember_637236753751073046" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_637236753751073046" xlink:to="srt_ParentCompanyMember_637236753751073046" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_637236753751073046" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_637236753751073046" xlink:to="srt_ConsolidationItemsAxis_637236753751073046" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_637236753751073046" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_637236753751073046" xlink:to="srt_ConsolidationItemsDomain_637236753751073046" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember_637236753751073046" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_637236753751073046" xlink:to="srt_ReportableLegalEntitiesMember_637236753751073046" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751073046" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_637236753751073046" xlink:to="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751073046" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract_637236753751073046" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751073046" xlink:to="us-gaap_AssetsAbstract_637236753751073046" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract_637236753751073046" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637236753751073046" xlink:to="us-gaap_AssetsCurrentAbstract_637236753751073046" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_637236753751073046" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_637236753751073046" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_637236753751073046" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RestrictedCashAndCashEquivalents" xlink:label="us-gaap_RestrictedCashAndCashEquivalents_637236753751073046" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_637236753751073046" xlink:to="us-gaap_RestrictedCashAndCashEquivalents_637236753751073046" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="8" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_637236753751073046" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_637236753751073046" xlink:to="us-gaap_AccountsReceivableNetCurrent_637236753751073046" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/positiveLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DueFromRelatedPartiesCurrent" xlink:label="us-gaap_DueFromRelatedPartiesCurrent_637236753751083040" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_637236753751073046" xlink:to="us-gaap_DueFromRelatedPartiesCurrent_637236753751083040" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/positiveLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_637236753751083040" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_637236753751073046" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_637236753751083040" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_637236753751083040" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_637236753751073046" xlink:to="us-gaap_AssetsCurrent_637236753751083040" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_InvestmentInSubsidiaries" xlink:label="csiq_InvestmentInSubsidiaries_637236753751083040" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637236753751073046" xlink:to="csiq_InvestmentInSubsidiaries_637236753751083040" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_InvestmentInAffiliates" xlink:label="csiq_InvestmentInAffiliates_637236753751083040" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637236753751073046" xlink:to="csiq_InvestmentInAffiliates_637236753751083040" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_637236753751083040" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637236753751073046" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_637236753751083040" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_637236753751083040" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637236753751073046" xlink:to="us-gaap_OtherAssetsNoncurrent_637236753751083040" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets_637236753751083040" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_637236753751073046" xlink:to="us-gaap_Assets_637236753751083040" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637236753751083040" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751073046" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637236753751083040" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract_637236753751083040" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637236753751083040" xlink:to="us-gaap_LiabilitiesCurrentAbstract_637236753751083040" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="us-gaap_ConvertibleNotesPayableCurrent_637236753751093029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_637236753751083040" xlink:to="us-gaap_ConvertibleNotesPayableCurrent_637236753751093029" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableTradeCurrent" xlink:label="us-gaap_AccountsPayableTradeCurrent_637236753751093029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_637236753751083040" xlink:to="us-gaap_AccountsPayableTradeCurrent_637236753751093029" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DueToRelatedPartiesCurrent" xlink:label="us-gaap_DueToRelatedPartiesCurrent_637236753751093029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_637236753751083040" xlink:to="us-gaap_DueToRelatedPartiesCurrent_637236753751093029" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DerivativeLiabilitiesCurrent" xlink:label="us-gaap_DerivativeLiabilitiesCurrent_637236753751093029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_637236753751083040" xlink:to="us-gaap_DerivativeLiabilitiesCurrent_637236753751093029" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent_637236753751093029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_637236753751083040" xlink:to="us-gaap_OtherLiabilitiesCurrent_637236753751093029" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_637236753751093029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_637236753751083040" xlink:to="us-gaap_LiabilitiesCurrent_637236753751093029" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans_637236753751093029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637236753751083040" xlink:to="us-gaap_LongTermNotesAndLoans_637236753751093029" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_637236753751093029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637236753751083040" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_637236753751093029" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_637236753751093029" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637236753751083040" xlink:to="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_637236753751093029" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_637236753751103033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_637236753751083040" xlink:to="us-gaap_Liabilities_637236753751103033" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637236753751103033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751073046" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637236753751103033" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue_637236753751103033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637236753751103033" xlink:to="us-gaap_CommonStockValue_637236753751103033" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue_637236753751103033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637236753751103033" xlink:to="us-gaap_TreasuryStockValue_637236753751103033" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_637236753751103033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637236753751103033" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_637236753751103033" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_637236753751103033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637236753751103033" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_637236753751103033" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_637236753751103033" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637236753751103033" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_637236753751103033" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_637236753751113030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_637236753751103033" xlink:to="us-gaap_StockholdersEquity_637236753751113030" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_637236753751113030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751073046" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_637236753751113030" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails" xlink:type="extended" xlink:title="42703 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable_637236753751113030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable_637236753751113030" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_637236753751113030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_637236753751113030" xlink:to="srt_ConsolidationItemsAxis_637236753751113030" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_637236753751113030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_637236753751113030" xlink:to="srt_ConsolidationItemsDomain_637236753751113030" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember_637236753751113030" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_637236753751113030" xlink:to="srt_ReportableLegalEntitiesMember_637236753751113030" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_637236753751123045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_637236753751113030" xlink:to="srt_ConsolidatedEntitiesAxis_637236753751123045" order="2" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_637236753751123045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_637236753751123045" xlink:to="srt_ConsolidatedEntitiesDomain_637236753751123045" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember_637236753751123045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_637236753751123045" xlink:to="srt_ParentCompanyMember_637236753751123045" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751123045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_637236753751113030" xlink:to="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751123045" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_637236753751123045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751123045" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_637236753751123045" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_637236753751123045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751123045" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_637236753751123045" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued_637236753751123045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751123045" xlink:to="us-gaap_CommonStockSharesIssued_637236753751123045" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding_637236753751123045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751123045" xlink:to="us-gaap_CommonStockSharesOutstanding_637236753751123045" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" xlink:type="extended" xlink:title="42704 - Disclosure - Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable_637236753751123045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable_637236753751123045" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_637236753751123045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_637236753751123045" xlink:to="srt_ConsolidationItemsAxis_637236753751123045" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_637236753751133043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_637236753751123045" xlink:to="srt_ConsolidationItemsDomain_637236753751133043" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember_637236753751133043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_637236753751133043" xlink:to="srt_ReportableLegalEntitiesMember_637236753751133043" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_637236753751133043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_637236753751123045" xlink:to="srt_ConsolidatedEntitiesAxis_637236753751133043" order="2" use="optional" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_637236753751133043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_637236753751133043" xlink:to="srt_ConsolidatedEntitiesDomain_637236753751133043" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember_637236753751133043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_637236753751133043" xlink:to="srt_ParentCompanyMember_637236753751133043" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751133043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_637236753751123045" xlink:to="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751133043" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_637236753751133043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751133043" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_637236753751133043" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold_637236753751133043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751133043" xlink:to="us-gaap_CostOfGoodsAndServicesSold_637236753751133043" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_637236753751133043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751133043" xlink:to="us-gaap_GrossProfit_637236753751133043" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract_637236753751133043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751133043" xlink:to="us-gaap_OperatingExpensesAbstract_637236753751133043" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SellingExpense" xlink:label="us-gaap_SellingExpense_637236753751133043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_637236753751133043" xlink:to="us-gaap_SellingExpense_637236753751133043" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense_637236753751133043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_637236753751133043" xlink:to="us-gaap_GeneralAndAdministrativeExpense_637236753751133043" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense_637236753751143048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_637236753751133043" xlink:to="us-gaap_ResearchAndDevelopmentExpense_637236753751143048" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_637236753751143048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_637236753751133043" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet_637236753751143048" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses_637236753751143048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751133043" xlink:to="us-gaap_OperatingExpenses_637236753751143048" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_637236753751143048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751133043" xlink:to="us-gaap_OperatingIncomeLoss_637236753751143048" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_637236753751143048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751133043" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract_637236753751143048" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense_637236753751143048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_637236753751143048" xlink:to="us-gaap_InterestExpense_637236753751143048" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest_637236753751143048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_637236753751143048" xlink:to="us-gaap_InvestmentIncomeInterest_637236753751143048" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_637236753751143048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_637236753751143048" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_637236753751143048" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/positiveLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_637236753751143048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_637236753751143048" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_637236753751143048" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainLossOnInvestments" xlink:label="us-gaap_GainLossOnInvestments_637236753751153132" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_637236753751143048" xlink:to="us-gaap_GainLossOnInvestments_637236753751153132" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense_637236753751153132" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_637236753751143048" xlink:to="us-gaap_NonoperatingIncomeExpense_637236753751153132" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_637236753751153132" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751133043" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_637236753751153132" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_637236753751163883" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751133043" xlink:to="us-gaap_IncomeTaxExpenseBenefit_637236753751163883" order="9" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EquityIncomeLossFromSubsidiaries" xlink:label="csiq_EquityIncomeLossFromSubsidiaries_637236753751163883" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751133043" xlink:to="csiq_EquityIncomeLossFromSubsidiaries_637236753751163883" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_637236753751163883" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751133043" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_637236753751163883" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_637236753751173052" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751133043" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_637236753751173052" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails" xlink:type="extended" xlink:title="42705 - Disclosure - Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable_637236753751173052" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable_637236753751173052" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_637236753751173052" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_637236753751173052" xlink:to="srt_ConsolidationItemsAxis_637236753751173052" order="1" use="optional" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_637236753751173052" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_637236753751173052" xlink:to="srt_ConsolidationItemsDomain_637236753751173052" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember_637236753751173052" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_637236753751173052" xlink:to="srt_ReportableLegalEntitiesMember_637236753751173052" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_637236753751173052" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_637236753751173052" xlink:to="srt_ConsolidatedEntitiesAxis_637236753751173052" order="2" use="optional" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_637236753751183058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_637236753751173052" xlink:to="srt_ConsolidatedEntitiesDomain_637236753751183058" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember_637236753751183058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_637236753751183058" xlink:to="srt_ParentCompanyMember_637236753751183058" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751183058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_637236753751173052" xlink:to="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751183058" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_637236753751183058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751183058" xlink:to="us-gaap_ProfitLoss_637236753751183058" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_637236753751183058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751183058" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_637236753751183058" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_637236753751183058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_637236753751183058" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_637236753751183058" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_637236753751183058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751183058" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_637236753751183058" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" xlink:type="extended" xlink:title="42706 - Disclosure - Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable_637236753751183058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable_637236753751183058" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_637236753751183058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_637236753751183058" xlink:to="srt_ConsolidatedEntitiesAxis_637236753751183058" order="1" use="optional" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_637236753751193058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_637236753751183058" xlink:to="srt_ConsolidatedEntitiesDomain_637236753751193058" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember_637236753751193058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_637236753751193058" xlink:to="srt_ParentCompanyMember_637236753751193058" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_637236753751193058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_637236753751183058" xlink:to="srt_ConsolidationItemsAxis_637236753751193058" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_637236753751193058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_637236753751193058" xlink:to="srt_ConsolidationItemsDomain_637236753751193058" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember_637236753751193058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_637236753751193058" xlink:to="srt_ReportableLegalEntitiesMember_637236753751193058" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751193058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_637236753751183058" xlink:to="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751193058" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_637236753751193058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751193058" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_637236753751193058" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_637236753751193058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_637236753751193058" xlink:to="us-gaap_ProfitLoss_637236753751193058" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637236753751193058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_637236753751193058" xlink:to="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637236753751193058" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_637236753751193058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637236753751193058" xlink:to="us-gaap_DepreciationDepletionAndAmortization_637236753751193058" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainOrLossOnSaleOfStockInSubsidiary" xlink:label="us-gaap_GainOrLossOnSaleOfStockInSubsidiary_637236753751209278" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637236753751193058" xlink:to="us-gaap_GainOrLossOnSaleOfStockInSubsidiary_637236753751209278" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="8" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ImpairmentOfInvestments" xlink:label="us-gaap_ImpairmentOfInvestments_637236753751209278" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637236753751193058" xlink:to="us-gaap_ImpairmentOfInvestments_637236753751209278" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="7" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_637236753751209278" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637236753751193058" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_637236753751209278" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_637236753751209278" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637236753751193058" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_637236753751209278" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EquityIncomeLossFromSubsidiaries" xlink:label="csiq_EquityIncomeLossFromSubsidiaries_637236753751213045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637236753751193058" xlink:to="csiq_EquityIncomeLossFromSubsidiaries_637236753751213045" order="6" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_637236753751213045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637236753751193058" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_637236753751213045" order="7" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_637236753751213045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_637236753751193058" xlink:to="us-gaap_ShareBasedCompensation_637236753751213045" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753751213045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_637236753751193058" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753751213045" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_637236753751213045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753751213045" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_637236753751213045" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_637236753751213045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753751213045" xlink:to="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_637236753751213045" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInAdvanceToSuppliers" xlink:label="csiq_IncreaseDecreaseInAdvanceToSuppliers_637236753751213045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753751213045" xlink:to="csiq_IncreaseDecreaseInAdvanceToSuppliers_637236753751213045" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_637236753751213045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753751213045" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_637236753751213045" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_637236753751213045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753751213045" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_637236753751213045" order="5" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade_637236753751213045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753751213045" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableTrade_637236753751213045" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_637236753751223045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753751213045" xlink:to="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_637236753751223045" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_637236753751223045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_637236753751213045" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_637236753751223045" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_637236753751223045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_637236753751193058" xlink:to="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_637236753751223045" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_637236753751223045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_637236753751193058" xlink:to="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_637236753751223045" order="5" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_637236753751223045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_637236753751193058" xlink:to="us-gaap_GainLossOnSaleOfDerivatives_637236753751223045" order="6" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753751223045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_637236753751193058" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_637236753751223045" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_637236753751223045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751193058" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_637236753751223045" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PaymentsToAcquireSubsidiaries" xlink:label="csiq_PaymentsToAcquireSubsidiaries_637236753751223045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_637236753751223045" xlink:to="csiq_PaymentsToAcquireSubsidiaries_637236753751223045" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PaymentsToAcquireAffiliates" xlink:label="csiq_PaymentsToAcquireAffiliates_637236753751233041" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_637236753751223045" xlink:to="csiq_PaymentsToAcquireAffiliates_637236753751233041" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" xlink:label="us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries_637236753751233041" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_637236753751223045" xlink:to="us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries_637236753751233041" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_637236753751233041" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_637236753751223045" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_637236753751233041" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PaymentsForProceedsFromLoansToSubsidiaries" xlink:label="csiq_PaymentsForProceedsFromLoansToSubsidiaries_637236753751233041" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_637236753751223045" xlink:to="csiq_PaymentsForProceedsFromLoansToSubsidiaries_637236753751233041" order="5" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentOfNotesReceivableFromRelatedParties" xlink:label="us-gaap_RepaymentOfNotesReceivableFromRelatedParties_637236753751233041" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_637236753751223045" xlink:to="us-gaap_RepaymentOfNotesReceivableFromRelatedParties_637236753751233041" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_637236753751233041" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_637236753751223045" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_637236753751233041" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_637236753751243038" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751193058" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_637236753751243038" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentsOfNotesPayable" xlink:label="us-gaap_RepaymentsOfNotesPayable_637236753751243038" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_637236753751243038" xlink:to="us-gaap_RepaymentsOfNotesPayable_637236753751243038" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromRepaymentsOfNotesPayable" xlink:label="us-gaap_ProceedsFromRepaymentsOfNotesPayable_637236753751243038" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_637236753751243038" xlink:to="us-gaap_ProceedsFromRepaymentsOfNotesPayable_637236753751243038" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RepaymentsOfConvertibleDebt" xlink:label="us-gaap_RepaymentsOfConvertibleDebt_637236753751243038" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_637236753751243038" xlink:to="us-gaap_RepaymentsOfConvertibleDebt_637236753751243038" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsForRepurchaseOfConvertiblePreferredStock" xlink:label="us-gaap_PaymentsForRepurchaseOfConvertiblePreferredStock_637236753751243038" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_637236753751243038" xlink:to="us-gaap_PaymentsForRepurchaseOfConvertiblePreferredStock_637236753751243038" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_637236753751243038" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_637236753751243038" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_637236753751243038" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_637236753751254068" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_637236753751243038" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_637236753751254068" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_637236753751254068" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751193058" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_637236753751254068" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_637236753751254068" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751193058" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_637236753751254068" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_637236753751254068" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751193058" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_637236753751254068" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6372367537512540681" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751193058" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6372367537512540681" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_637236753751263051" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_637236753751193058" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_637236753751263051" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet_637236753751263051" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_637236753751263051" xlink:to="us-gaap_InterestPaidNet_637236753751263051" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet_637236753751263051" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_637236753751263051" xlink:to="us-gaap_IncomeTaxesPaidNet_637236753751263051" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails" xlink:type="extended" xlink:title="42801 - Disclosure - Appendix 1 - Major Subsidiaries of CSI (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_MajorSubsidiariesDisclosuresAbstract" xlink:label="csiq_MajorSubsidiariesDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesTable" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesTable_637236753751283058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_MajorSubsidiariesDisclosuresAbstract" xlink:to="us-gaap_InvestmentsInAndAdvancesToAffiliatesTable_637236753751283058" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_637236753751283058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesTable_637236753751283058" xlink:to="dei_LegalEntityAxis_637236753751283058" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_637236753751283058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_637236753751283058" xlink:to="dei_EntityDomain_637236753751283058" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CSISolartronicsChangshuCoLtdMember" xlink:label="csiq_CSISolartronicsChangshuCoLtdMember_637236753751283058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CSISolartronicsChangshuCoLtdMember_637236753751283058" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CSISolarTechnologiesIncMember" xlink:label="csiq_CSISolarTechnologiesIncMember_637236753751283058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CSISolarTechnologiesIncMember_637236753751283058" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiNewEnergyHoldingCo.LtdMember" xlink:label="csiq_CsiNewEnergyHoldingCo.LtdMember_637236753751283058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CsiNewEnergyHoldingCo.LtdMember_637236753751283058" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarManufacturingLuoyangIncMember" xlink:label="csiq_CanadianSolarManufacturingLuoyangIncMember_637236753751283058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarManufacturingLuoyangIncMember_637236753751283058" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarManufacturingChangshuInc.Member" xlink:label="csiq_CanadianSolarManufacturingChangshuInc.Member_637236753751283058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarManufacturingChangshuInc.Member_637236753751283058" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiCellsCo.Ltd.Member" xlink:label="csiq_CsiCellsCo.Ltd.Member_637236753751283058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CsiCellsCo.Ltd.Member_637236753751283058" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarUSAIncMember" xlink:label="csiq_CanadianSolarUSAIncMember_637236753751283058" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarUSAIncMember_637236753751283058" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarJapanKKMember" xlink:label="csiq_CanadianSolarJapanKKMember_637236753751293060" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarJapanKKMember_637236753751293060" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarSolutionsIncMember" xlink:label="csiq_CanadianSolarSolutionsIncMember_637236753751293060" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarSolutionsIncMember_637236753751293060" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiSolarPowerChinaInc.Member" xlink:label="csiq_CsiSolarPowerChinaInc.Member_637236753751293060" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CsiSolarPowerChinaInc.Member_637236753751293060" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarEMEAGmbHMember" xlink:label="csiq_CanadianSolarEMEAGmbHMember_637236753751293060" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarEMEAGmbHMember_637236753751293060" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarAustraliaPtyLtdMember" xlink:label="csiq_CanadianSolarAustraliaPtyLtdMember_637236753751293060" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarAustraliaPtyLtdMember_637236753751293060" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarInternationalProjectHoldingLimitedMember" xlink:label="csiq_CanadianSolarInternationalProjectHoldingLimitedMember_637236753751293060" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarInternationalProjectHoldingLimitedMember_637236753751293060" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarOAndMOntarioIncMember" xlink:label="csiq_CanadianSolarOAndMOntarioIncMember_637236753751293060" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarOAndMOntarioIncMember_637236753751293060" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember" xlink:label="csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember_637236753751293060" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember_637236753751293060" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarSouthEastAsiaPteLtdMember" xlink:label="csiq_CanadianSolarSouthEastAsiaPteLtdMember_637236753751293060" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarSouthEastAsiaPteLtdMember_637236753751293060" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarSouthAfricaPtyLtdMember" xlink:label="csiq_CanadianSolarSouthAfricaPtyLtdMember_637236753751293060" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarSouthAfricaPtyLtdMember_637236753751293060" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember" xlink:label="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_637236753751303041" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_637236753751303041" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarConstructionUsaLLCMember" xlink:label="csiq_CanadianSolarConstructionUsaLLCMember_637236753751303041" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarConstructionUsaLLCMember_637236753751303041" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarProjectKKMember" xlink:label="csiq_CanadianSolarProjectKKMember_637236753751303041" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarProjectKKMember_637236753751303041" order="20" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiGclSolarManufacturingYanchengCo.Ltd.Member" xlink:label="csiq_CsiGclSolarManufacturingYanchengCo.Ltd.Member_637236753751303041" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CsiGclSolarManufacturingYanchengCo.Ltd.Member_637236753751303041" order="21" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarUkLtdMember" xlink:label="csiq_CanadianSolarUkLtdMember_637236753751303041" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarUkLtdMember_637236753751303041" order="22" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarUkProjectsLtdMember" xlink:label="csiq_CanadianSolarUkProjectsLtdMember_637236753751313064" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarUkProjectsLtdMember_637236753751313064" order="23" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember" xlink:label="csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember_637236753751313064" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember_637236753751313064" order="24" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ChangshuTlianCo.Ltd.Member" xlink:label="csiq_ChangshuTlianCo.Ltd.Member_637236753751313064" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_ChangshuTlianCo.Ltd.Member_637236753751313064" order="25" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_RecurrentEnergyGroupInc.Member" xlink:label="csiq_RecurrentEnergyGroupInc.Member_637236753751313064" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_RecurrentEnergyGroupInc.Member_637236753751313064" order="26" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_RecurrentEnergyLlcMember" xlink:label="csiq_RecurrentEnergyLlcMember_637236753751313064" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_RecurrentEnergyLlcMember_637236753751313064" order="27" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_PtCanadianSolarIndonesiaMember" xlink:label="csiq_PtCanadianSolarIndonesiaMember_637236753751313064" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_PtCanadianSolarIndonesiaMember_637236753751313064" order="28" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarManufacturingVietnamCo.LtdMember" xlink:label="csiq_CanadianSolarManufacturingVietnamCo.LtdMember_637236753751313064" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarManufacturingVietnamCo.LtdMember_637236753751313064" order="29" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarEnergyPrivateLimitedMember" xlink:label="csiq_CanadianSolarEnergyPrivateLimitedMember_637236753751323047" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarEnergyPrivateLimitedMember_637236753751323047" order="30" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarAustralia1PtyLtdMember" xlink:label="csiq_CanadianSolarAustralia1PtyLtdMember_637236753751323047" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarAustralia1PtyLtdMember_637236753751323047" order="31" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarEnergyHoldingCompanyLimitedMember" xlink:label="csiq_CanadianSolarEnergyHoldingCompanyLimitedMember_637236753751323047" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarEnergyHoldingCompanyLimitedMember_637236753751323047" order="32" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" xlink:label="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_637236753751323047" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_637236753751323047" order="33" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarSunenergySuzhouCo.Ltd.Member" xlink:label="csiq_CanadianSolarSunenergySuzhouCo.Ltd.Member_637236753751323047" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarSunenergySuzhouCo.Ltd.Member_637236753751323047" order="34" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member" xlink:label="csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member_637236753751323047" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member_637236753751323047" order="35" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member" xlink:label="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_637236753751333043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_637236753751333043" order="36" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember" xlink:label="csiq_SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember_637236753751333043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember_637236753751333043" order="37" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiCellsYanchangCoLtdMember" xlink:label="csiq_CsiCellsYanchangCoLtdMember_637236753751333043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CsiCellsYanchangCoLtdMember_637236753751333043" order="38" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiModulesDafengCoLtdMember" xlink:label="csiq_CsiModulesDafengCoLtdMember_637236753751333043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CsiModulesDafengCoLtdMember_637236753751333043" order="39" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarMiddleEastDmccMember" xlink:label="csiq_CanadianSolarMiddleEastDmccMember_637236753751333043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarMiddleEastDmccMember_637236753751333043" order="40" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiInvestmentManagementSuzhouCoLtdMember" xlink:label="csiq_CsiInvestmentManagementSuzhouCoLtdMember_637236753751333043" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CsiInvestmentManagementSuzhouCoLtdMember_637236753751333043" order="41" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarConstructionAustraliaPtyLtdMember" xlink:label="csiq_CanadianSolarConstructionAustraliaPtyLtdMember_637236753751343044" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarConstructionAustraliaPtyLtdMember_637236753751343044" order="42" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsukEnergySystemsConstructionAndGenerationJscMember" xlink:label="csiq_CsukEnergySystemsConstructionAndGenerationJscMember_637236753751343044" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CsukEnergySystemsConstructionAndGenerationJscMember_637236753751343044" order="43" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiModulesJiaxingCoLtdMember" xlink:label="csiq_CsiModulesJiaxingCoLtdMember_637236753751343044" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CsiModulesJiaxingCoLtdMember_637236753751343044" order="44" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiWaferLuoyangCoLtdMember" xlink:label="csiq_CsiWaferLuoyangCoLtdMember_637236753751343044" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CsiWaferLuoyangCoLtdMember_637236753751343044" order="45" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarManufacturingTaiwanCoLtdMember" xlink:label="csiq_CanadianSolarManufacturingTaiwanCoLtdMember_637236753751343044" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarManufacturingTaiwanCoLtdMember_637236753751343044" order="46" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarArgentinaInvestmentHoldingLtdMember" xlink:label="csiq_CanadianSolarArgentinaInvestmentHoldingLtdMember_637236753751343044" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarArgentinaInvestmentHoldingLtdMember_637236753751343044" order="47" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember" xlink:label="csiq_ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember_637236753751353048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember_637236753751353048" order="48" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember" xlink:label="csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember_637236753751353048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember_637236753751353048" order="49" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member" xlink:label="csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member_637236753751353048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member_637236753751353048" order="50" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarSsesCanadaInc.Member" xlink:label="csiq_CanadianSolarSsesCanadaInc.Member_637236753751353048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarSsesCanadaInc.Member_637236753751353048" order="51" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarSsesUkLtdMember" xlink:label="csiq_CanadianSolarSsesUkLtdMember_637236753751353048" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_637236753751283058" xlink:to="csiq_CanadianSolarSsesUkLtdMember_637236753751353048" order="52" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis_637236753751363044" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesTable_637236753751283058" xlink:to="srt_CounterpartyNameAxis_637236753751363044" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_637236753751363044" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis_637236753751363044" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain_637236753751363044" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiCellsCo.Ltd.Member" xlink:label="csiq_CsiCellsCo.Ltd.Member_637236753751363044" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_637236753751363044" xlink:to="csiq_CsiCellsCo.Ltd.Member_637236753751363044" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CanadianSolarManufacturingChangshuInc.Member" xlink:label="csiq_CanadianSolarManufacturingChangshuInc.Member_637236753751363044" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_637236753751363044" xlink:to="csiq_CanadianSolarManufacturingChangshuInc.Member_637236753751363044" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_CsiSolarPowerChinaInc.Member" xlink:label="csiq_CsiSolarPowerChinaInc.Member_637236753751363044" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_637236753751363044" xlink:to="csiq_CsiSolarPowerChinaInc.Member_637236753751363044" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems_637236753751373045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesTable_637236753751283058" xlink:to="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems_637236753751373045" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" xlink:label="us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions_637236753751373045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems_637236753751373045" xlink:to="us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions_637236753751373045" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20191231.xsd#csiq_EquityInterestHeldAsGeneralPartner" xlink:label="csiq_EquityInterestHeldAsGeneralPartner_637236753751373045" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems_637236753751373045" xlink:to="csiq_EquityInterestHeldAsGeneralPartner_637236753751373045" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R69.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6929604256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ALLOWANCE FOR DOUBTFUL ACCOUNTS (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, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward', window );"><strong>Movement of allowances</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="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Beginning of the year</a></td>
<td class="nump">$ 32,733<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="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Closing balance</a></td>
<td class="nump">29,545<span></span>
</td>
<td class="nump">$ 32,733<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="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember', window );">Allowances for accounts receivable, trade</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="top.Show.showAR( this, 'defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward', window );"><strong>Movement of allowances</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="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Beginning of the year</a></td>
<td class="nump">32,733<span></span>
</td>
<td class="nump">32,941<span></span>
</td>
<td class="nump">$ 26,119<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="top.Show.showAR( this, 'defref_csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet', window );">Allowances made (reversed) during the year, net</a></td>
<td class="num">(1,386)<span></span>
</td>
<td class="nump">869<span></span>
</td>
<td class="nump">5,345<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesDeductions', window );">Accounts written-off against allowances</a></td>
<td class="num">(309)<span></span>
</td>
<td class="num">(297)<span></span>
</td>
<td class="num">(174)<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="top.Show.showAR( this, 'defref_csiq_ValuationAllowancesAndReservesForeignExchangeEffect', window );">Foreign exchange effect</a></td>
<td class="num">(1,493)<span></span>
</td>
<td class="num">(780)<span></span>
</td>
<td class="nump">1,651<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Closing balance</a></td>
<td class="nump">29,545<span></span>
</td>
<td class="nump">32,733<span></span>
</td>
<td class="nump">32,941<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForAdvancesToSuppliersMember', window );">Allowances for advances to suppliers</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="top.Show.showAR( this, 'defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward', window );"><strong>Movement of allowances</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Beginning of the year</a></td>
<td class="nump">20,926<span></span>
</td>
<td class="nump">18,762<span></span>
</td>
<td class="nump">19,527<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="top.Show.showAR( this, 'defref_csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet', window );">Allowances made (reversed) during the year, net</a></td>
<td class="nump">738<span></span>
</td>
<td class="nump">2,287<span></span>
</td>
<td class="num">(833)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesDeductions', window );">Accounts written-off against allowances</a></td>
<td class="num">(1,452)<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="top.Show.showAR( this, 'defref_csiq_ValuationAllowancesAndReservesForeignExchangeEffect', window );">Foreign exchange effect</a></td>
<td class="nump">69<span></span>
</td>
<td class="num">(123)<span></span>
</td>
<td class="nump">68<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Closing balance</a></td>
<td class="nump">20,281<span></span>
</td>
<td class="nump">20,926<span></span>
</td>
<td class="nump">18,762<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForOtherReceivablesMember', window );">Allowances for other receivables</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="top.Show.showAR( this, 'defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward', window );"><strong>Movement of allowances</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="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Beginning of the year</a></td>
<td class="nump">9,704<span></span>
</td>
<td class="nump">10,349<span></span>
</td>
<td class="nump">9,251<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="top.Show.showAR( this, 'defref_csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet', window );">Allowances made (reversed) during the year, net</a></td>
<td class="nump">1,919<span></span>
</td>
<td class="num">(175)<span></span>
</td>
<td class="nump">549<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="top.Show.showAR( this, 'defref_csiq_ValuationAllowancesAndReservesForeignExchangeEffect', window );">Foreign exchange effect</a></td>
<td class="num">(192)<span></span>
</td>
<td class="num">(470)<span></span>
</td>
<td class="nump">549<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Closing balance</a></td>
<td class="nump">$ 11,431<span></span>
</td>
<td class="nump">$ 9,704<span></span>
</td>
<td class="nump">$ 10,349<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of allowances and reserves, the valuation and qualifying accounts that are either netted against the cost of an asset (in order to value it at its carrying value) or that reflect a liability established to represent expected future costs which have been charged to costs and expenses net of the total of recoveries of amounts due the Entity that had previously been written off as uncollectible using allowances (the valuation accounts that are netted against the cost of an asset to value it at its carrying value) and total of reestablishments of reserves (liabilities established to represent expected future costs) that had previously been utilized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ValuationAllowancesAndReservesForeignExchangeEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of the foreign exchange effects in a given period to allowances or reserves.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ValuationAllowancesAndReservesForeignExchangeEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=118936363&amp;loc=d3e5074-111524<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118955202&amp;loc=SL82895884-210446<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MovementInValuationAllowancesAndReservesRollForward</td>
</tr>
<tr>
<td style="padding-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_ValuationAllowancesAndReservesBalance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of valuation and qualifying accounts and reserves.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09)<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesBalance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ValuationAllowancesAndReservesDeductions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in valuation and qualifying accounts and reserves.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09)<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesDeductions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForAdvancesToSuppliersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForAdvancesToSuppliersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForOtherReceivablesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForOtherReceivablesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>15
<FILENAME>R99.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6841933440">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>RESTRICTED NET ASSETS (Details)<br> $ in Millions</strong></div></th>
<th class="th">
<div>Dec. 31, 2019 </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="top.Show.showAR( this, 'defref_us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract', window );"><strong>RESTRICTED NET ASSETS</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="top.Show.showAR( this, 'defref_csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage', window );">Minimum percentage of the profit after tax to be appropriated to the general reserve</a></td>
<td class="nump">10.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="top.Show.showAR( this, 'defref_us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries', window );">Restricted net assets</a></td>
<td class="nump">$ 497.2<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the minimum percentage of after tax profit required to be appropriated to the general reserve under PRC GAAP.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of restricted net assets of consolidated and unconsolidated subsidiaries as of the end of the most recently completed fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(e)(3)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract</td>
</tr>
<tr>
<td style="padding-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>16
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6827480992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Asset retirement obligation (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, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ImpairmentOfInvestments', window );">Impairment of long-lived assets</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 5,738<span></span>
</td>
<td class="nump">$ 3,686<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetImpairmentCharges', window );">Impairment loss of property, plant and equipment</a></td>
<td class="nump">21,866<span></span>
</td>
<td class="nump">30,968<span></span>
</td>
<td class="nump">$ 11,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="top.Show.showAR( this, 'defref_us-gaap_AssetRetirementObligation', window );">Asset retirement obligation</a></td>
<td class="nump">$ 26<span></span>
</td>
<td class="nump">$ 43<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_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_AssetImpairmentCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109226348&amp;loc=d3e2420-110228<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetImpairmentCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetRetirementObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying amount of a liability for an asset retirement obligation. An asset retirement obligation is a legal obligation associated with the disposal or retirement of a tangible long-lived asset that results from the acquisition, construction or development, or the normal operations of a long-lived asset, except for certain obligations of lessees.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 410<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6392692&amp;loc=d3e7535-110849<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetRetirementObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ImpairmentOfInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount by which the fair value of an investment is less than the amortized cost basis or carrying amount of that investment at the balance sheet date and the decline in fair value is deemed to be other than temporary, before considering whether or not such amount is recognized in earnings or other comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8A<br> -URI http://asc.fasb.org/extlink&amp;oid=118954083&amp;loc=SL6284422-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>17
<FILENAME>R91.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6830213952">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASE - Total leases - Gross difference (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>LEASE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_LesseeLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="nump">$ 82,851<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="top.Show.showAR( this, 'defref_csiq_LesseeLiabilityUndiscountedExcessAmount', window );">Less: imputed interest</a></td>
<td class="nump">4,292<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="top.Show.showAR( this, 'defref_csiq_LeaseLiability', window );">NPV for future minimum lease payments</a></td>
<td class="nump">$ 78,559<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_LeasesFutureMinimumLeasePaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 127,348<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="top.Show.showAR( this, 'defref_csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments', window );">Less: imputed interest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,024<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="top.Show.showAR( this, 'defref_csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments', window );">NPV for future minimum lease payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 71,802<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_LeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Lease Liability</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LeasesFutureMinimumLeasePaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of minimum lease payments for leases.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeasesFutureMinimumLeasePaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount necessary to reduce net minimum lease payments to present value for leases.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of minimum lease payments for leases net of executory costs, including amounts paid by the lessee to the lessor for insurance, maintenance and taxes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LesseeLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Lessee, Liability, Payments, Due</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LesseeLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LesseeLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Lessee, Liability, Undiscounted Excess Amount</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LesseeLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>18
<FILENAME>R95.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6829285568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BORROWINGS - Long term (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, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>BORROWINGS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_LongTermBorrowingsOnProjectAssetsCurrent', window );">Long-term borrowings on project assets - current</a></td>
<td class="nump">$ 286,173<span></span>
</td>
<td class="nump">$ 265,770<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermNotesAndLoans', window );">Long-term borrowings</a></td>
<td class="nump">619,477<span></span>
</td>
<td class="nump">393,614<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtCurrent', window );">Long-term, current portion</a></td>
<td class="nump">$ 114,089<span></span>
</td>
<td class="nump">$ 171,051<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtWeightedAverageInterestRateOverTime', window );">Average interest rate on long-term borrowings (as a percent)</a></td>
<td class="nump">8.28%<span></span>
</td>
<td class="nump">0.95%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtByMaturityAbstract', window );"><strong>Future principal repayment on the long-term borrowings loans</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths', window );">2020</a></td>
<td class="nump">$ 400,262<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo', window );">2021</a></td>
<td class="nump">245,927<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree', window );">2022</a></td>
<td class="nump">276,675<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour', window );">2023</a></td>
<td class="nump">40,679<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive', window );">2024</a></td>
<td class="nump">15,158<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive', window );">Thereafter</a></td>
<td class="nump">41,038<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Total</a></td>
<td class="nump">1,019,739<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LoansPayableCurrent', window );">Less: future principal repayment related to long-term borrowings, current portion</a></td>
<td class="num">(400,262)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermNotesAndLoans', window );">Total long-term portion</a></td>
<td class="nump">$ 619,477<span></span>
</td>
<td class="nump">$ 393,614<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_LongTermBorrowingsOnProjectAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount represents long-borrowings associated with certain solar power projects that are expected to be sold within one year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LongTermBorrowingsOnProjectAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_LoansPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of portion of long-term loans payable due within one year or the operating cycle if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LoansPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=109500613&amp;loc=SL6031897-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtByMaturityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtByMaturityAbstract</td>
</tr>
<tr>
<td style="padding-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_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirements, and other securities issued that are redeemable by holder at fixed or determinable prices and dates maturing after the fifth 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04.(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e24072-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6802200&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirements, and other securities issued that are redeemable by holder at fixed or determinable prices and dates maturing in the next 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04.(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e24072-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6802200&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirements, and other securities issued that are redeemable by holder at fixed or determinable prices and dates maturing in the fifth 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04.(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e24072-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6802200&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirements, and other securities issued that are redeemable by holder at fixed or determinable prices and dates maturing in the fourth 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04.(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e24072-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6802200&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirements, and other securities issued that are redeemable by holder at fixed or determinable prices and dates maturing in the third 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04.(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e24072-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6802200&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt payable, sinking fund requirements, and other securities issued that are redeemable by holder at fixed or determinable prices and dates maturing in the 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04.(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e24072-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6802200&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LongTermDebtWeightedAverageInterestRateOverTime">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average interest rate of long-term debt outstanding calculated over time.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtWeightedAverageInterestRateOverTime</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_LongTermNotesAndLoans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of all notes and loans payable (with maturities initially due after one year or beyond the operating cycle if longer), excluding current portion.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermNotesAndLoans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>19
<FILENAME>R65.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6736960704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Shipping and handling costs, Research and development (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, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SellingExpense', window );">Selling expenses</a></td>
<td class="nump">$ 180,326<span></span>
</td>
<td class="nump">$ 165,402<span></span>
</td>
<td class="nump">$ 156,032<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development expenses</a></td>
<td class="nump">47,045<span></span>
</td>
<td class="nump">44,193<span></span>
</td>
<td class="nump">28,777<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ShippingAndHandlingMember', window );">Shipping and Handling</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="top.Show.showAR( this, 'defref_us-gaap_SellingExpense', window );">Selling expenses</a></td>
<td class="nump">$ 88,079<span></span>
</td>
<td class="nump">$ 69,855<span></span>
</td>
<td class="nump">$ 79,853<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_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_SellingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Expenses recognized in the period that are directly related to the selling and distribution of products or services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProductOrServiceAxis=us-gaap_ShippingAndHandlingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ShippingAndHandlingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6842038448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>FAIR VALUE MEASUREMENT (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>FAIR VALUE MEASUREMENT</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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock', window );">Schedule of fair value of derivative instruments on the consolidated balance sheets</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:66.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of&#160;Derivative&#160;Assets</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Foreign exchange forward contracts</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,166</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,097</p></td></tr><tr><td style="vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Foreign exchange option contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 450</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Interest rate swap</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 594</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative assets &#8212; non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,216</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative assets &#8212; non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:31.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,977</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,547</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:71.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of&#160;Derivative&#160;Liabilities</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Foreign exchange forward contracts</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,480</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,127</p></td></tr><tr><td style="vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Foreign exchange option contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 218</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Interest rate swap</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 329</p></td></tr><tr><td style="vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,841</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,698</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,322</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock', window );">Schedule of effect of derivative instruments on consolidated statements of operations</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount&#160;of&#160;Gain&#160;(Loss)</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Recognized&#160;in&#160;Statements</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Location&#160;of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">of&#160;Operations</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gain&#160;(Loss)&#160;Recognized</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">in&#160;Statements&#160;of&#160;Operations</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Foreign exchange forward contracts</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (2,638)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (16,414)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (20,249)</p></td></tr><tr><td style="vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Foreign exchange option contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (2,023)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (1,022)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Warrants</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 711</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,655</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (793)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (947)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (272)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (19,230)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (22,218)</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4E<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=SL5624181-113959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=SL5618551-113959<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=SL5624171-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4B<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=SL5624163-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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>21
<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>22
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6841440928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROJECT ASSETS (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_ProjectAssetsAbstract', window );"><strong>PROJECT ASSETS</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="top.Show.showAR( this, 'defref_csiq_ScheduleOfProjectAssetsTableTextBlock', window );">Schedule of project assets</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Project assets &#8212; Acquisition cost</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,635</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,158</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Project assets &#8212; EPC and other cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,234,128</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,031,976</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,285,763</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,087,134</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 933,563</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 604,083</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Non-current portion</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 352,200</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 483,051</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ProjectAssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ScheduleOfProjectAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of components of project assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ScheduleOfProjectAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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>23
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp7008987408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SHORT-TERM NOTES PAYABLE<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesPayableAbstract', window );"><strong>SHORT-TERM NOTES PAYABLE</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="top.Show.showAR( this, 'defref_csiq_ShortTermNotesPayableTextBlock', window );">SHORT-TERM NOTES PAYABLE</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">14.&#160;SHORT-TERM NOTES PAYABLE</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The Company enters into arrangements with banks whereby the banks issue notes to the Company&#8217;s vendors, which effectively serve to extend the payment date of the associated accounts payable. Vendors may present the notes for payment to a bank, including the bank issuing the note, prior to the stated maturity date, but generally at a discount from the face amount of the note. The Company is generally required to deposit restricted cash balances with the issuing bank, which are utilized to immediately repay the bank upon the banks&#8217; settlement of the notes. Given the purpose of these arrangements is to extend the payment dates of accounts payable, the Company has recorded such amounts as short-term notes payable. As payments by the bank are immediately repaid by the Company's restricted cash balances and other deposits with the same bank, the notes payable does not represent cash borrowings from the bank. As of December 31, 2018 and 2019, short-term notes payable was $369,722 and $544,991, 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_csiq_ShortTermNotesPayableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for information about the notes issued by banks to vendors of the company, which effectively serve to extend the payment date of the associated accounts payables of the company.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ShortTermNotesPayableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_NotesPayableAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesPayableAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6841895008">
<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, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">INCOME TAXES</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Income tax expenses</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The provision for income taxes is comprised of the following:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:35.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Income before income taxes</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (30,524)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,570</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (61,880)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">United States</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (33,205)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 61,377</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,319</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">PRC including Hong Kong and Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 173,266</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 178,050</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 204,632</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Japan</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,164</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,555</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,335</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,233</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,848</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,215</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 143,934</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 304,400</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 208,621</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Current tax</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 346</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,846)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (3,420)</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (54,482)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (14,786)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (4,803)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">PRC including Hong Kong and Taiwan</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (7,383)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,285</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,622</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,266</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,325</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,229</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (8,008)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,397</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,057</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (38,261)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,375</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56,685</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Deferred tax</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (6,464)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,117</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (6,558)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">United States</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 67,426</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,696</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (2,412)</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">PRC including Hong Kong and Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,452</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,653</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (5,333)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Japan</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (4,499)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (3,381)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (2,953)</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (703)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (491)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,637</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 79,212</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,594</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (14,619)</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (6,118)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,271</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (9,978)</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,944</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,910</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (7,215)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">PRC including Hong Kong and Taiwan</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,069</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,938</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,289</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,767</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,944</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,276</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (8,711)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,906</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,694</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,951</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 61,969</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,066</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company mainly operates in Canada, PRC, Japan, Germany, the United&#160;States, Hong&#160;Kong, Thailand and Vietnam.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Canada</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The Company was incorporated in Ontario, Canada and is subject to both federal and Ontario provincial corporate income taxes at a rate of 26.5% for the years ended December 31, 2017, 2018 and 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar Solutions&#160;Inc. was incorporated in Ontario, Canada and is subject to both federal and Ontario provincial corporate income taxes at a rate of 25% for all years ended December 31, 2017, 2018 and 2019. </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">United&#160;States</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Canadian Solar (USA)&#160;Inc. was incorporated in Delaware, USA and is subject to federal and state corporate income taxes at a rate of 38.61%, 24.82% and 22.89% for the years ended December 31, 2017, 2018 and 2019, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Recurrent Energy Group Inc. was incorporated in Delaware, USA and is subject to federal and state corporate income taxes at a rate of 38.32%, 25.32% and 27.89% for the years ended December 31, 2017, 2018 and 2019, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Japan</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar Japan K.K. was incorporated in Japan and is subject to Japanese corporate income taxes at a normal statutory rate of approximately 32.02%, 32.02% and 31.78% for the years ended December 31, 2017, 2018 and 2019, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Germany</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar EMEA&#160;GmbH was incorporated in Munich, Germany and is subject to German corporate income tax at a rate of approximately 33% for the years ended December 31, 2017, 2018 and 2019, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Vietnam</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar Manufacturing Vietnam Co., Ltd was incorporated in Vietnam on June 25, 2015 and is subject to Vietnamese corporate income taxes at a normal statutory rate of 10%. The Company enjoyed full tax exemption from 2016 to 2019 and will use a reduced statutory rate of 5% from 2020 to 2028.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Thailand</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar Manufacturing (Thailand) Co.,Ltd. was incorporated in Thailand in November 20, 2015 and is subject to Thailand corporate income taxes at a normal statutory rate of 20%. The Company currently has two Board of Investment certificates for full tax exemption which have different effective years. The licenses both started from year 2017, one of which will expire in year 2022 and the other in year 2025.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Hong Kong</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Canadian Solar International&#160;Ltd. was incorporated in Hong Kong, China, and is subject to Hong Kong profits tax at a rate of 16.5% for the years ended December 31, 2017, 2018 and 2019, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">PRC</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The other major operating subsidiaries, including CSI Solartronics (Changshu)&#160;Co.,&#160;Ltd., CSI Solar Technologies&#160;Inc., CSI Cells&#160;Co.,&#160;Ltd., Canadian Solar Manufacturing (Luoyang)&#160;Inc., CSI Solar Power Group Co., Ltd. (formerly &#8220;CSI Solar Power (China)&#160;Inc.&#8221;) and Canadian Solar Manufacturing (Changshu)&#160;Inc., and Suzhou Sanysolar Materials Technology Co., Ltd. were governed by the PRC Enterprise Income Tax Law (&#8220;EIT&#160;Law&#8221;).</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">CSI Solartronics (Changshu) Co., Ltd., CSI Solar Technologies Inc., Canadian Solar Manufacturing (Luoyang) Inc., CSI Solar Power Group Co., Ltd. (formerly &#8220;CSI Solar Power (China) Inc.&#8221;) are all subject to the enterprise income tax rate of 25% for the years ended December 31, 2017, 2018 and 2019. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Certain of the Company's PRC subsidiaries, such as CSI New Energy Holding and CSI Luoyang Manufacturing, were once HNTEs and enjoyed preferential enterprise income tax rates. These benefits have, however, expired. In 2019, Suzhou Sanysolar, CSI Cells, CSI Changshu Manufacturing, Changshu Tegu, Suzhou Gaochuangte New Energy Development, Canadian Solar Sunenergy (Suzhou) and Changshu Tlian enjoyed preferential enterprise income tax rates.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Reconciliation between the provision for income tax computed by applying Canadian federal and provincial statutory tax rates to income before income taxes and the actual provision and benefit for income taxes is as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:28.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Combined federal and provincial income tax rate</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of permanent difference</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (18)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (11)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of different tax rate on earnings in other jurisdictions</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (7)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of tax holiday</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (4)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Unrecognized tax provision</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Change in valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (6)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of change in tax rate</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (5)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The aggregate amount and per share effect of tax holiday are as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">U.S.&#160;Dollars,&#160;except</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">per&#160;share&#160;data)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">The aggregate amount</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,850</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,089</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,956</p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Per share &#8212; basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.05</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.05</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.13</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Per share &#8212; diluted</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.05</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.05</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.13</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Deferred tax assets and liabilities</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 11pt 0pt;">The components of the deferred tax assets and liabilities are presented as&#160;follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:2pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Deferred tax assets:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accrued warranty costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,424</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,326</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Bad debt allowance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,324</p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Inventory write-down</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,723</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,128</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Future deductible expenses</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,973</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,731</p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Depreciation and impairment difference of property, plant and equipment and solar power systems</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,647</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,380</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accrued liabilities related to antidumping, countervailing and other duty costs and true-up charges</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,341</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 496</p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Deferred tax assets relating to sales of solar power systems</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 481</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,927</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net operating losses carry-forward</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 90,536</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 112,710</p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Unrealized foreign exchange loss and capital loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,471</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,064</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest limitation</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,520</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,767</p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,947</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,415</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total deferred tax assets, gross</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 202,082</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 222,268</p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (76,522)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (70,627)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total deferred tax assets, net of valuation allowance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 125,560</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 151,641</p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Deferred tax liabilities:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Derivative assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,697</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 217</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Depreciation difference of property, plant and equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,212</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,789</p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Deferred profit of projects</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,108</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Insurance recoverable</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,838</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,771</p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Unrealized foreign exchange gain</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,803</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,984</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Others</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,513</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,380</p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,171</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 54,141</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net deferred tax assets </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 85,389</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 97,500</p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Analysis as:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Deferred tax assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 121,087</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 153,963</p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (35,698)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (56,463)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net deferred tax assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 85,389</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 97,500</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:2pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In accordance with the EIT Law, dividends, which arise from profits of foreign invested enterprises in PRC earned after January 1, 2008, are subject to a 10% withholding income tax. Under applicable accounting principles, a deferred tax liability should be recorded for taxable temporary difference attributable to excess of financial reporting basis over tax basis in the investment in a foreign subsidiary. However, a deferred tax liability is not recognized if the basis difference is not expected to reverse in the foreseeable future and is expected to be permanent in duration. As of December 31, 2019, all of the undistributed earnings of approximately $625.9 million attributable to the Company&#8217;s PRC subsidiaries and affiliates are considered to be permanently reinvested, and <span style="-sec-ix-hidden:Hidden__5mLaVFunU6MP9XF7ElhkQ"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;white-space:pre-wrap;">no</span></span><span style="white-space:pre-wrap;"> provision for PRC withholding income tax on dividend has been made thereon accordingly. Upon distribution of those earnings generated after January 1, 2008, in the form of dividends or otherwise, the Company would be subject to the then applicable PRC tax laws and regulations. Distributions of earnings generated before January 1, 2008 are exempt from PRC dividend withholding tax. The amounts of unrecognized deferred tax liabilities for these earnings are in the range of $31.3 million to $62.6 million, as the withholding tax rate of the profit distribution will be 5% or 10% depends on whether the immediate offshore companies can enjoy the preferential withholding tax rate of 5%.</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Valuation allowance</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Movement of the valuation allowance is as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Beginning balance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 71,469</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 65,399</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 76,522</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Additions (Reversals)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (5,361)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,051</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (6,156)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (709)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 72</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 261</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Ending balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 65,399</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 76,522</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 70,627</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2019, the Company has accumulated net operating losses of $670,541 of which $186,360 will expire between 2020 and 2039, and the remaining can be carried forward and back.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company considers positive and negative evidences to determine whether some portion or all of the deferred tax assets will not be realized. This assessment considers, among other matters, the nature, frequency and severity of recent losses, forecasts of future profitability, the duration of statutory carry-forward periods, the Company&#8217;s experience with tax attributes expiring unused and tax planning alternatives. The Company has considered the following possible sources of taxable income when assessing the realization of deferred tax&#160;assets:</p><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Tax planning strategies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Future reversals of existing taxable temporary differences;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Further taxable income exclusive of reversing temporary differences and carry-forwards;</span></td></tr></table><div style="margin-top:6pt;"/><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18.&#160;INCOME TAXES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;padding-bottom:12pt;text-indent:18pt;margin:0pt;">The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during the periods in which those temporary differences become deductible for tax purposes. As a result, the Company has recognized a valuation allowance of $76,522 and $70,627 as at December 31, 2018 and 2019, respectively.</p><p style="background-color:#ffffff;font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Uncertain tax positions</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company makes an assessment of the level of authority for each of its uncertain tax positions (including the potential application of interest and penalties) based on their technical merits, and has measured the unrecognized benefits associated with such tax positions. This liability is recorded as liability for uncertain tax positions in the consolidated balance sheets. In accordance with its policies, the Company accrues and classifies interest and penalties associated with such unrecognized tax benefits as a component of its income tax provision. The amount of interest and penalties accrued as of December 31, 2018 and 2019 was $4,398 and $4,795, respectively. The Company does not anticipate any significant changes to its liability for unrecognized tax positions within the next 12&#160;months.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table illustrates the movement and balance of the Company&#8217;s liability for uncertain tax positions (excluding interest and penalties) for the years ended December 31, 2017, 2018 and 2019, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Beginning balance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,684</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,181</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,730</p></td></tr><tr><td style="vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Addition for tax positions related to the current year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,376</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,806</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Reductions for tax positions from prior years/Statute of limitations expirations</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,094)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (5,720)</p></td></tr><tr><td style="vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 215</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (257)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 536</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Ending balance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,181</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,730</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,557</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company is subject to taxation in various jurisdictions where it operates, mainly including Canada, China and the United States. Generally, the Company&#8217;s taxation years from 2014 to 2019 are open for reassessment to the Canadian tax authorities. The Company is subject to taxation in the United States and various state jurisdictions. The Company is not currently under examination by the federal or state tax authorities. The Company's income tax returns for 2015 through 2019 remain open to examination by the U.S. tax authorities.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">According to the PRC Tax Administration and Collection Law, the statute of limitations is three years if the underpayment of income taxes has resulted from the computational errors of the taxpayer. The statute of limitations could be extended to five years under special circumstances. For income tax adjustments relating to transfer pricing matters, the statute of limitations is ten years. Therefore, the Company&#8217;s Chinese subsidiaries might be subject to reexamination by the Chinese tax authorities on non-transfer pricing matters for taxation years up to 2014 retrospectively, and on transfer pricing matters for taxation years up to 2009 retrospectively. There is no statute of limitations in case of tax evasion in China.</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI http://asc.fasb.org/topic&amp;trid=2144680<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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>25
<FILENAME>R112.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6831850976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENT INFORMATION - Each product or service (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, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenues generated from each product</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="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net revenues</a></td>
<td class="nump">$ 3,200,583<span></span>
</td>
<td class="nump">$ 3,744,512<span></span>
</td>
<td class="nump">$ 3,390,393<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=csiq_ModuleSegmentMember', window );">MSS | Solar modules and other solar power products</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="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenues generated from each product</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="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net revenues</a></td>
<td class="nump">2,055,249<span></span>
</td>
<td class="nump">1,930,701<span></span>
</td>
<td class="nump">2,551,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="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=csiq_ModuleSegmentMember', window );">MSS | Solar system kits</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="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenues generated from each product</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="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net revenues</a></td>
<td class="nump">116,449<span></span>
</td>
<td class="nump">93,253<span></span>
</td>
<td class="nump">84,598<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=csiq_ModuleSegmentMember', window );">MSS | EPC services</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="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenues generated from each product</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="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net revenues</a></td>
<td class="nump">223,423<span></span>
</td>
<td class="nump">62,408<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="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=csiq_ModuleSegmentMember', window );">MSS | O&amp;M services</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="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenues generated from each product</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="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net revenues</a></td>
<td class="nump">19,405<span></span>
</td>
<td class="nump">10,767<span></span>
</td>
<td class="nump">6,938<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=csiq_ModuleSegmentMember', window );">MSS | Others ( materials)</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="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenues generated from each product</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="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net revenues</a></td>
<td class="nump">66,612<span></span>
</td>
<td class="nump">71,789<span></span>
</td>
<td class="nump">69,878<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=csiq_EnergySegmentMember', window );">Energy | Solar power projects</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="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenues generated from each product</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="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net revenues</a></td>
<td class="nump">668,476<span></span>
</td>
<td class="nump">1,542,906<span></span>
</td>
<td class="nump">632,256<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=csiq_EnergySegmentMember', window );">Energy | Electricity</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="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenues generated from each product</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="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net revenues</a></td>
<td class="nump">5,866<span></span>
</td>
<td class="nump">8,735<span></span>
</td>
<td class="nump">29,236<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=csiq_EnergySegmentMember', window );">Energy | Others (EPC and development services)</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="top.Show.showAR( this, 'defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems', window );"><strong>Revenues generated from each product</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="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net revenues</a></td>
<td class="nump">$ 45,103<span></span>
</td>
<td class="nump">$ 23,953<span></span>
</td>
<td class="nump">$ 15,978<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_EntityWideInformationRevenueFromExternalCustomerLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems</td>
</tr>
<tr>
<td style="padding-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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130545-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130543-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=csiq_ModuleSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_ModuleSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_SolarModulesAndOtherSolarPowerProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_SolarModulesAndOtherSolarPowerProductsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_SolarSystemKitsProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_SolarSystemKitsProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_EPCServiceProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_EPCServiceProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_OAndMServicesProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_OAndMServicesProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_OtherProductMaterialsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_OtherProductMaterialsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_EnergySegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_EnergySegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_SolarPowerProjectsConstructionAndSaleMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_SolarPowerProjectsConstructionAndSaleMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_ElectricityIncomeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_ElectricityIncomeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_OtherProductEpcAndDevelopmentServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_OtherProductEpcAndDevelopmentServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>26
<FILENAME>R116.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6828183472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SHARE-BASED COMPENSATION - RSUs to Employees (Details) - RSUs - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>SHARE-BASED COMPENSATION</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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Shares granted to employees</a></td>
<td class="nump">706,637<span></span>
</td>
<td class="nump">759,702<span></span>
</td>
<td class="nump">1,033,001<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="top.Show.showAR( this, 'defref_csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions', window );">Total compensation cost at the date of grant</a></td>
<td class="nump">$ 12,200<span></span>
</td>
<td class="nump">$ 10,200<span></span>
</td>
<td class="nump">$ 13,300<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Total recognized compensation cost</a></td>
<td class="nump">10,682<span></span>
</td>
<td class="nump">$ 10,258<span></span>
</td>
<td class="nump">$ 9,314<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions', window );">Total unrecognized share-based compensation costs</a></td>
<td class="nump">$ 20,507<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="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Weighted-average period of recognition of compensation expense</a></td>
<td class="text">2 years 3 months 7 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Number of Shares</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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Unvested at the beginning of the period (in shares)</a></td>
<td class="nump">1,781,271<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="nump">706,637<span></span>
</td>
<td class="nump">759,702<span></span>
</td>
<td class="nump">1,033,001<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares)</a></td>
<td class="num">(696,853)<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Forfeited (in shares)</a></td>
<td class="num">(131,288)<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Unvested at the end of the period (in shares)</a></td>
<td class="nump">1,659,767<span></span>
</td>
<td class="nump">1,781,271<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted Average Grant-Date Fair Value</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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Unvested at the beginning of the period (in dollars per share)</a></td>
<td class="nump">$ 14.18<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in dollars per share)</a></td>
<td class="nump">18.05<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Vested (in dollars per share)</a></td>
<td class="nump">15.40<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Forfeited (in dollars per share)</a></td>
<td class="nump">15.01<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Unvested at the end of the period (in dollars per share)</a></td>
<td class="nump">$ 15.26<span></span>
</td>
<td class="nump">$ 14.18<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue', window );">Total fair value of shares vested</a></td>
<td class="nump">$ 10,733<span></span>
</td>
<td class="nump">$ 10,242<span></span>
</td>
<td class="nump">$ 12,091<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>SHARE-BASED COMPENSATION</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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">1 year<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="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>SHARE-BASED COMPENSATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period</a></td>
<td class="text">4 years<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_csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total compensation cost of unvested share-based awards, other than options, awarded to employees as compensation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5047-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=115993241&amp;loc=d3e301413-122809<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R107.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6932981760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>RELATED PARTY BALANCES AND TRANSACTIONS (Details)<br> &#165; in Thousands, &#165; in Thousands, R in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="10">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>JPY (&#165;) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>USD ($) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>CNY (&#165;) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>ZAR (R) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>JPY (&#165;) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>USD ($) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>CNY (&#165;) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </div>
<div>JPY (&#165;) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </div>
<div>USD ($) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </div>
<div>CNY (&#165;) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Sep. 30, 2017 </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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_DueFromRelatedPartiesCurrent', window );">Amount due from related party</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 31,232<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 16,740<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableRelatedParties', window );">Trade receivable from affiliate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">13,930<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_DueToRelatedPartiesCurrent', window );">Amounts due to related parties</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,077<span></span>
</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">16,847<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 99,470<span></span>
</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">$ 119,825<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 168,465<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">RSUs</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares) | shares</a></td>
<td class="nump">706,637<span></span>
</td>
<td class="nump">706,637<span></span>
</td>
<td class="nump">706,637<span></span>
</td>
<td class="nump">706,637<span></span>
</td>
<td class="nump">759,702<span></span>
</td>
<td class="nump">759,702<span></span>
</td>
<td class="nump">759,702<span></span>
</td>
<td class="nump">1,033,001<span></span>
</td>
<td class="nump">1,033,001<span></span>
</td>
<td class="nump">1,033,001<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_RoserockMember', window );">Roserock</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Membership interests owned (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">49.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>
<td class="text">&#160;<span></span>
</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">49.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_PilipinasNewtonEnergyCorpMember', window );">Pilipinas Newton Energy Corp</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_csiq_CashReceivableRelatedPartiesCurrent', window );">Cash funding from affiliate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 16<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Membership interests owned (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">40.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>
<td class="text">&#160;<span></span>
</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">40.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_EtSolutionsSouthAfricaOnePtyMember', window );">ET Solutions South Africa 1 Pty</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_DueFromRelatedPartiesCurrent', window );">Amount due from related party</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableRelatedPartiesCurrent', window );">Receivables from affiliate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 17,284<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Membership interests owned (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">49.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>
<td class="text">&#160;<span></span>
</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">49.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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 40,970<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">R 586,832<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,859<span></span>
</td>
<td class="nump">&#165; 45,407<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</a></td>
<td class="nump">49.00%<span></span>
</td>
<td class="nump">49.00%<span></span>
</td>
<td class="nump">49.00%<span></span>
</td>
<td class="nump">49.00%<span></span>
</td>
<td class="nump">49.00%<span></span>
</td>
<td class="nump">49.00%<span></span>
</td>
<td class="nump">49.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>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_CanadianSolarInfrastructureFundIncMember', window );">Canadian Solar Infrastructure Fund, Inc</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold', window );">Number of solar power plants sold | item</a></td>
<td class="nump">3<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="nump">5<span></span>
</td>
<td class="nump">5<span></span>
</td>
<td class="nump">5<span></span>
</td>
<td class="nump">13<span></span>
</td>
<td class="nump">13<span></span>
</td>
<td class="nump">13<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_csiq_PurchaseOfUnitsPercentage', window );">Percent of units purchased</a></td>
<td class="nump">14.66%<span></span>
</td>
<td class="nump">14.66%<span></span>
</td>
<td class="nump">14.66%<span></span>
</td>
<td class="nump">14.66%<span></span>
</td>
<td class="nump">14.66%<span></span>
</td>
<td class="nump">14.66%<span></span>
</td>
<td class="nump">14.66%<span></span>
</td>
<td class="nump">14.66%<span></span>
</td>
<td class="nump">14.66%<span></span>
</td>
<td class="nump">14.66%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_CanadianSolarInfrastructureFundIncMember', window );">Canadian Solar Infrastructure Fund, Inc | Asset management service</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableRelatedPartiesCurrentAndNoncurrent', window );">Trade payable to affiliate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_csiq_ServiceRevenueFromRelatedParty', window );">Revenue from providing development services</a></td>
<td class="nump">&#165; 281,094<span></span>
</td>
<td class="nump">2,573<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 247,341<span></span>
</td>
<td class="nump">$ 2,210<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 303,772<span></span>
</td>
<td class="nump">$ 2,699<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_CanadianSolarInfrastructureFundIncMember', window );">Canadian Solar Infrastructure Fund, Inc | O &amp; M Service</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_csiq_ServiceRevenueFromRelatedParty', window );">Revenue from providing development services</a></td>
<td class="nump">223,598<span></span>
</td>
<td class="nump">2,052<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">122,529<span></span>
</td>
<td class="nump">1,105<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">32,119<span></span>
</td>
<td class="nump">285<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_CanadianSolarInfrastructureFundIncMember', window );">Canadian Solar Infrastructure Fund, Inc | 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromRelatedParties', window );">Revenue from sale of solar products</a></td>
<td class="nump">&#165; 5,889,000<span></span>
</td>
<td class="nump">$ 53,874<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,276,404<span></span>
</td>
<td class="nump">109,597<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,426,754<span></span>
</td>
<td class="nump">163,155<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_CanadianSolarInfrastructureFundIncMember', window );">Canadian Solar Infrastructure Fund, Inc | Other operating income or expense</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromRelatedParties', window );">Revenue from sale of solar products</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="nump">&#165; 89,238<span></span>
</td>
<td class="nump">$ 836<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 3,148,648<span></span>
</td>
<td class="nump">$ 27,879<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SuzhouIsilverMaterialsMember', window );">Suzhou iSilver Materials Co</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Membership interests owned (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15.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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15.00%<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableRelatedPartiesCurrentAndNoncurrent', window );">Trade payable to affiliate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7,884<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_csiq_PurchaseOfUnitsPercentage', window );">Percent of units purchased</a></td>
<td class="nump">14.63%<span></span>
</td>
<td class="nump">14.63%<span></span>
</td>
<td class="nump">14.63%<span></span>
</td>
<td class="nump">14.63%<span></span>
</td>
<td class="nump">14.63%<span></span>
</td>
<td class="nump">14.63%<span></span>
</td>
<td class="nump">14.63%<span></span>
</td>
<td class="nump">14.63%<span></span>
</td>
<td class="nump">14.63%<span></span>
</td>
<td class="nump">14.63%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty', window );">Purchase from related party</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 50,359<span></span>
</td>
<td class="nump">&#165; 350,590<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 74,490<span></span>
</td>
<td class="nump">&#165; 512,154<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 49,113<span></span>
</td>
<td class="nump">&#165; 331,958<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SuzhouKzoneEquipmentTechnologyMember', window );">Suzhou Kzone Equipment 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Membership interests owned (as a percent)</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">32.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="top.Show.showAR( this, 'defref_csiq_EquipmentPurchasesPayableRelatedPartiesCurrent', window );">Payable for equipment purchase</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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,138<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="top.Show.showAR( this, 'defref_csiq_PurchaseOfUnitsPercentage', window );">Percent of units purchased</a></td>
<td class="nump">32.00%<span></span>
</td>
<td class="nump">32.00%<span></span>
</td>
<td class="nump">32.00%<span></span>
</td>
<td class="nump">32.00%<span></span>
</td>
<td class="nump">32.00%<span></span>
</td>
<td class="nump">32.00%<span></span>
</td>
<td class="nump">32.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>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty', window );">Purchase from related party</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 8,787<span></span>
</td>
<td class="nump">&#165; 61,174<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,056<span></span>
</td>
<td class="nump">&#165; 41,635<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=srt_ChiefExecutiveOfficerMember', window );">Dr. Shawn Qu | RSUs</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares) | shares</a></td>
<td class="nump">26,691<span></span>
</td>
<td class="nump">26,691<span></span>
</td>
<td class="nump">26,691<span></span>
</td>
<td class="nump">26,691<span></span>
</td>
<td class="nump">83,805<span></span>
</td>
<td class="nump">83,805<span></span>
</td>
<td class="nump">83,805<span></span>
</td>
<td class="nump">77,289<span></span>
</td>
<td class="nump">77,289<span></span>
</td>
<td class="nump">77,289<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=srt_ChiefExecutiveOfficerMember', window );">Dr. Shawn Qu | Chinese Commercial Banks</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_csiq_LineOfCreditFacilityMaturityTerm', window );">Maturity term of credit facility</a></td>
<td class="text">1 year<span></span>
</td>
<td class="text">1 year<span></span>
</td>
<td class="text">1 year<span></span>
</td>
<td class="text">1 year<span></span>
</td>
<td class="text">1 year<span></span>
</td>
<td class="text">1 year<span></span>
</td>
<td class="text">1 year<span></span>
</td>
<td class="text">1 year<span></span>
</td>
<td class="text">1 year<span></span>
</td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 204,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="nump">$ 185,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 206,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 1,420,000<span></span>
</td>
<td class="nump">&#165; 1,270,000<span></span>
</td>
<td class="nump">&#165; 1,346,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="top.Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Amounts drawn down</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 82,937<span></span>
</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">$ 155,956<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">135,225<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SuzhouGaochuangteNewEnergyCoLtdMember', window );">Gaochuangte</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromRelatedParties', window );">Revenue from sale of solar products</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">$ 1,648<span></span>
</td>
<td class="nump">&#165; 11,352<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction', window );">Percentage of ownership after sale transaction</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="nump">80.00%<span></span>
</td>
<td class="nump">80.00%<span></span>
</td>
<td class="nump">80.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="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostsAndExpensesRelatedParty', window );">Purchase cost incurred from related party</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">$ 6,430<span></span>
</td>
<td class="nump">&#165; 44,271<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember', window );">Luoyang Jiwa New Material Technology Co., Ltd [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionLineItems', window );"><strong>RELATED PARTY BALANCES AND TRANSACTIONS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Membership interests owned (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">25.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableRelatedPartiesCurrentAndNoncurrent', window );">Trade payable to affiliate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 55<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of interests in solar power plants sold during the year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_CashReceivableRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amounts due from parties associated with the reporting entity as cash funded, due within 1 year (or 1 business cycle).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_CashReceivableRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_EquipmentPurchasesPayableRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount for equipment purchases payable to related parties. 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_EquipmentPurchasesPayableRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LineOfCreditFacilityMaturityTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the maturity period of credit facility.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LineOfCreditFacilityMaturityTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_PurchaseOfUnitsPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage of units purchased.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PurchaseOfUnitsPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_ServiceRevenueFromRelatedParty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue from providing services earned from transactions between (a) a parent company and its subsidiaries; (b) subsidiaries of a common parent; (c) an entity and trusts for the benefit of employees, for example, but not limited to, pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; (d) an entity and its principal, owners, management, or members of their immediate families; and (e) affiliates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ServiceRevenueFromRelatedParty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccountsPayableRelatedPartiesCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount for accounts payable to related parties.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(k)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableRelatedPartiesCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccountsReceivableRelatedParties">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For an unclassified balance sheet, amount of receivables arising from transactions with related parties.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39622-107864<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39603-107864<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableRelatedParties</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccountsReceivableRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of receivables arising from transactions with related parties due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(k)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.3(a)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39622-107864<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39603-107864<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CostsAndExpensesRelatedParty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Costs of sales and operating expenses for the period incurred from transactions with related parties.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostsAndExpensesRelatedParty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DueFromRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of receivables to be collected from related parties where one party can exercise control or significant influence over another party; including affiliates, owners or officers and their immediate families, pension trusts, and so forth, at the financial statement date. which are usually due within one year (or one business cycle).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DueFromRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DueToRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of obligations due all related parties. For classified balance sheets, represents the current portion of such liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(k)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DueToRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_EquityMethodInvestmentOwnershipPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentOwnershipPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_LineOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionLineItems</td>
</tr>
<tr>
<td style="padding-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_RelatedPartyTransactionPurchasesFromRelatedParty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Purchases during the period (excluding transactions that are eliminated in consolidated or combined financial statements) with related party.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RevenueFromRelatedParties">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue, fees and commissions earned from transactions between (a) a parent company and its subsidiaries; (b) subsidiaries of a common parent; (c) an entity and trusts for the benefit of employees, for example, but not limited to, pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; (d) an entity and its principal, owners, management, or members of their immediate families; and (e) affiliates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07.1(c))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637345&amp;loc=SL114874292-224272<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1(e))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromRelatedParties</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_SaleOfStockPercentageOfOwnershipAfterTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of subsidiary's or equity investee's stock owned by parent company after stock transaction.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=csiq_RoserockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_RelatedPartyTransactionsByRelatedPartyAxis=csiq_RoserockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_RelatedPartyTransactionsByRelatedPartyAxis=csiq_PilipinasNewtonEnergyCorpMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_RelatedPartyTransactionsByRelatedPartyAxis=csiq_PilipinasNewtonEnergyCorpMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_RelatedPartyTransactionsByRelatedPartyAxis=csiq_EtSolutionsSouthAfricaOnePtyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_RelatedPartyTransactionsByRelatedPartyAxis=csiq_EtSolutionsSouthAfricaOnePtyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_RelatedPartyTransactionsByRelatedPartyAxis=csiq_CanadianSolarInfrastructureFundIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_RelatedPartyTransactionsByRelatedPartyAxis=csiq_CanadianSolarInfrastructureFundIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_RelatedPartyTransactionAxis=csiq_AssetManagementServiceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_AssetManagementServiceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_RelatedPartyTransactionAxis=csiq_OMServiceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_OMServiceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_SalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_OtherOperatingIncomeExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_OtherOperatingIncomeExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SuzhouIsilverMaterialsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SuzhouIsilverMaterialsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SuzhouKzoneEquipmentTechnologyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SuzhouKzoneEquipmentTechnologyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_RelatedPartyTransactionsByRelatedPartyAxis=srt_ChiefExecutiveOfficerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_RelatedPartyTransactionsByRelatedPartyAxis=srt_ChiefExecutiveOfficerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityAxis=csiq_ChineseCommercialBanksMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityAxis=csiq_ChineseCommercialBanksMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SuzhouGaochuangteNewEnergyCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_RelatedPartyTransactionsByRelatedPartyAxis=csiq_SuzhouGaochuangteNewEnergyCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_RelatedPartyTransactionsByRelatedPartyAxis=csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_RelatedPartyTransactionsByRelatedPartyAxis=csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>29
<FILENAME>R103.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6931126128">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>INCOME TAXES - Deferred tax assets and liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGrossAbstract', window );"><strong>Deferred tax 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="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves', window );">Accrued warranty costs</a></td>
<td class="nump">$ 8,326<span></span>
</td>
<td class="nump">$ 9,424<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="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts', window );">Bad debt allowance</a></td>
<td class="nump">10,324<span></span>
</td>
<td class="nump">7,019<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="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsInventory', window );">Inventory write-down</a></td>
<td class="nump">1,128<span></span>
</td>
<td class="nump">1,723<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="top.Show.showAR( this, 'defref_csiq_DeferredTaxAssetsFutureDeductibleExpenses', window );">Future deductible expenses</a></td>
<td class="nump">20,731<span></span>
</td>
<td class="nump">26,973<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="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment', window );">Depreciation and impairment difference of property, plant and equipment and solar power systems</a></td>
<td class="nump">23,380<span></span>
</td>
<td class="nump">19,647<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="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities', window );">Accrued liabilities related to antidumping, countervailing and other duty costs and true-up charges</a></td>
<td class="nump">496<span></span>
</td>
<td class="nump">9,341<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="top.Show.showAR( this, 'defref_csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets', window );">Deferred tax assets relating to sales of solar power systems</a></td>
<td class="nump">8,927<span></span>
</td>
<td class="nump">481<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="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards', window );">Net operating losses carry-forward</a></td>
<td class="nump">112,710<span></span>
</td>
<td class="nump">90,536<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="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses', window );">Unrealized foreign exchange loss and capital loss</a></td>
<td class="nump">7,064<span></span>
</td>
<td class="nump">9,471<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="top.Show.showAR( this, 'defref_csiq_DeferredTaxAssetsInterestLimitation', window );">Interest limitation</a></td>
<td class="nump">2,767<span></span>
</td>
<td class="nump">13,520<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="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOther', window );">Others</a></td>
<td class="nump">26,415<span></span>
</td>
<td class="nump">13,947<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGross', window );">Total deferred tax assets, gross</a></td>
<td class="nump">222,268<span></span>
</td>
<td class="nump">202,082<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="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Valuation allowance</a></td>
<td class="num">(70,627)<span></span>
</td>
<td class="num">(76,522)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNet', window );">Total deferred tax assets, net of valuation allowance</a></td>
<td class="nump">151,641<span></span>
</td>
<td class="nump">125,560<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="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesNetAbstract', window );"><strong>Deferred tax 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="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesDerivatives', window );">Derivative assets</a></td>
<td class="nump">217<span></span>
</td>
<td class="nump">2,697<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="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment', window );">Depreciation difference of property, plant and equipment</a></td>
<td class="nump">18,789<span></span>
</td>
<td class="nump">1,212<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="top.Show.showAR( this, 'defref_csiq_DeferredTaxLiabilitiesDeferredProfitOfProjects', window );">Deferred profit of projects</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,108<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="top.Show.showAR( this, 'defref_csiq_DeferredTaxLiabilitiesInsuranceRecoverable', window );">Insurance recoverable</a></td>
<td class="nump">15,771<span></span>
</td>
<td class="nump">14,838<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="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains', window );">Unrealized FX gain</a></td>
<td class="nump">10,984<span></span>
</td>
<td class="nump">4,803<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="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesOther', window );">Others</a></td>
<td class="nump">8,380<span></span>
</td>
<td class="nump">12,513<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilities', window );">Total deferred tax liabilities</a></td>
<td class="nump">54,141<span></span>
</td>
<td class="nump">40,171<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="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesAbstract', window );"><strong>Analysis as:</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="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax assets</a></td>
<td class="nump">153,963<span></span>
</td>
<td class="nump">121,087<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="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred tax liabilities</a></td>
<td class="num">(56,463)<span></span>
</td>
<td class="num">(35,698)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsLiabilitiesNet', window );">Net deferred tax assets</a></td>
<td class="nump">97,500<span></span>
</td>
<td class="nump">85,389<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="top.Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Accumulated net operating losses</a></td>
<td class="nump">670,541<span></span>
</td>
<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="top.Show.showAR( this, 'defref_csiq_OperatingLossCarryforwardsSubjectToExpiration', window );">Accumulated net operating losses subject to expiration between 2020 and 2038</a></td>
<td class="nump">186,360<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember', window );">Allowance</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="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGrossAbstract', window );"><strong>Deferred tax 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="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Valuation allowance</a></td>
<td class="num">$ (70,627)<span></span>
</td>
<td class="num">$ (76,522)<span></span>
</td>
<td class="num">$ (65,399)<span></span>
</td>
<td class="num">$ (71,469)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_DeferredTaxAssetsFutureDeductibleExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowances, of deferred tax asset attributable to future deductible expenses.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DeferredTaxAssetsFutureDeductibleExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_DeferredTaxAssetsInterestLimitation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as interest limitation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DeferredTaxAssetsInterestLimitation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from the sale of project assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_DeferredTaxLiabilitiesDeferredProfitOfProjects">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from deferred profit of projects.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DeferredTaxLiabilitiesDeferredProfitOfProjects</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_DeferredTaxLiabilitiesInsuranceRecoverable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from insurance recoverable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DeferredTaxLiabilitiesInsuranceRecoverable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_OperatingLossCarryforwardsSubjectToExpiration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of operating loss carryforwards available to reduce future taxable income, which are subject to expiration dates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_OperatingLossCarryforwardsSubjectToExpiration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(15)(b)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=116821951&amp;loc=d3e31931-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsGrossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsGrossAbstract</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxAssetsInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=117330534&amp;loc=d3e28680-109314<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b),(c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_DeferredTaxAssetsOperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=117330534&amp;loc=d3e28680-109314<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=117330534&amp;loc=d3e28680-109314<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from property, plant, and equipment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=117330534&amp;loc=d3e28680-109314<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from the allowance for doubtful accounts.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=117330534&amp;loc=d3e28680-109314<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from warranty reserves.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=117330534&amp;loc=d3e28680-109314<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsUnrealizedCurrencyLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from unrealized losses on foreign currency transactions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=117330534&amp;loc=d3e28680-109314<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_us-gaap_DeferredTaxLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxLiabilitiesDerivatives">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from derivatives.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesDerivatives</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxLiabilitiesNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesNetAbstract</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxLiabilitiesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=117330534&amp;loc=d3e28680-109314<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxLiabilitiesPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=117330534&amp;loc=d3e28680-109314<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from unrealized gains on foreign currency transactions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32632-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32621-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=117330534&amp;loc=d3e28680-109314<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32559-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6842042800">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Additional Information - Financial Statement Schedule I<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract', window );"><strong>Additional Information - Financial Statement Schedule I</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="top.Show.showAR( this, 'defref_us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock', window );">Additional Information - Financial Statement Schedule I</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Additional Information &#8212; Financial Statement Schedule&#160;I</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Canadian Solar&#160;Inc.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Schedule&#160;I has been provided pursuant to the requirements of Rule&#160;12-04(a) and&#160;4-08(e)(3) of Regulation&#160;S-X, which require condensed financial information as to financial position, changes in financial position and results of operations of a parent company as of the same dates and for the same periods for which audited consolidated financial statements have been presented as the restricted net assets of Canadian Solar&#160;Inc.&#8217;s consolidated and unconsolidated subsidiaries not available for distribution to Canadian Solar&#160;Inc. as of December 31, 2019 of $497.2 million, exceeded the 25%&#160;threshold.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The condensed financial information has been prepared using the same accounting policies as set out in the consolidated financial statements, except that the equity method has been used to account for investments in subsidiaries.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FINANCIAL INFORMATION OF PARENT COMPANY</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">BALANCE SHEETS</b></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars,&#160;except </b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">share</b><b style="font-family:'Calibri';font-weight:bold;">&#160;</b><b style="font-weight:bold;">data)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">ASSETS</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Current assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Cash and cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,097</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,362</p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Restricted cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 950</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accounts receivable trade, net of allowance for doubtful accounts of $3,462 and $3,379 as of December&#160;31, 2018 and 2019, respectively</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,476</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Amounts due from subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 279,039</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 341,557</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Prepaid expenses and other current assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,222</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,846</p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 314,834</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 353,715</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Investments in subsidiaries</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,154,004</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,383,935</p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Investments in affiliates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,483</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Deferred tax assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,208</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,657</p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other non-current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,068</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69,070</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">TOTAL ASSETS</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,565,114</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,832,860</p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">LIABILITIES AND EQUITY</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Current liabilities:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 127,428</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accounts payable</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,903</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3</p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Amounts due to related parties</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 154,765</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 340,502</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Derivative liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,879</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,713</p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,255</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,531</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total current liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 298,230</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 353,749</p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,000</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Deferred tax liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,779</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,936</p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Liability for uncertain tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,633</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,041</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">TOTAL LIABILITIES</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 339,642</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 439,726</p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Equity:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Common shares &#8212; <span style="-sec-ix-hidden:Hidden_284MyGL-aE6ozlnSTlAw9w"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">no</span></span> par value: unlimited authorized shares, 59,180,624 and 59,371,684 shares <span style="-sec-ix-hidden:Hidden_ffv6suZ42EGOZd8DQLEmVA"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">issued</span></span> and <span style="-sec-ix-hidden:Hidden_bDjIoFvvgEKgVvWhVd5AnA"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">outstanding</span></span> at December&#160;31, 2018 and 2019, respectively</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 702,931</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 703,806</p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Treasury stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (11,845)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Additional paid-in capital</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,675</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,179</p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Retained earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 622,015</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 793,601</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Accumulated other comprehensive loss</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (110,149)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (109,607)</p></td></tr><tr><td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">TOTAL EQUITY</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,225,472</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,393,134</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">TOTAL LIABILITIES AND EQUITY</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,565,114</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,832,860</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FINANCIAL INFORMATION OF PARENT COMPANY</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">STATEMENTS OF OPERATIONS</b></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:30.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:30.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,011</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 86,755</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,351</p></td></tr><tr><td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,542</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53,926</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,188</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,469</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,829</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 163</p></td></tr><tr><td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Operating expenses:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Selling expenses</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,221</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,518</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,727</p></td></tr><tr><td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">General and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,390</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,970</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,093</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Research and development expenses</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 645</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 795</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 462</p></td></tr><tr><td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other operating loss, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,173</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 77</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total operating expenses</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,429</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,360</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,282</p></td></tr><tr><td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Income (loss) from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (16,960)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,469</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (31,119)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other income (expenses):</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (20,078)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (9,170)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (3,005)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest income</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,191</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,370</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,272</p></td></tr><tr><td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Loss on change in fair value of derivatives, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (7,134)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (2,671)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (5,193)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign exchange gain (loss)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (18,110)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,255</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (11,318)</p></td></tr><tr><td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Investment loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (11,944)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (116,879)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Other income (expenses), net:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (15,075)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,784</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (111,123)</p></td></tr><tr><td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Income (loss) before income taxes and equity in earnings (loss) of subsidiaries and unconsolidated investees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (32,035)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53,253</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (142,242)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Income tax (expense) benefit</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,686</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (12,133)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,230</p></td></tr><tr><td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Equity in earnings of subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 130,048</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 195,950</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 308,597</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Equity in loss of unconsolidated investees</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (127)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 99,572</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 237,070</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 171,585</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FINANCIAL INFORMATION OF PARENT COMPANY</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">STATEMENTS OF COMPREHENSIVE INCOME (LOSS)</b></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.</b><b style="font-family:'Calibri';font-weight:bold;">&#160;</b><b style="font-weight:bold;">Dollars)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net income</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 99,572</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 237,070</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 171,585</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other comprehensive income (loss) (net of tax of nil):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Foreign currency translation adjustment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,780</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (56,115)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 542</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Comprehensive income </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 137,352</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 180,955</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 172,127</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">FINANCIAL INFORMATION OF PARENT COMPANY</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"><b style="font-weight:bold;">STATEMENTS OF CASH FLOWS</b></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Operating activities:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 99,572</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 237,070</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 171,585</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Adjustments to reconcile net income to net cash provided by (used in) operating activities:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 154</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Loss on disposal of subsidiaries</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,559</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 116,879</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Impairment loss of investment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,686</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Loss on change in fair value of derivatives</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,134</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,671</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,193</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Allowance for doubtful accounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,666</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (212)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (83)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Equity in earnings of subsidiaries</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (130,048)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (195,950)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (308,597)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Equity in loss of unconsolidated investees</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 127</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Share-based compensation</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,314</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,259</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,682</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Changes in operating assets and liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Accounts receivable trade</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (6,739)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (5,089)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,563</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Amounts due from subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,539</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (184,755)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (43,630)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Advances to suppliers</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (60)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (5,715)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (2,749)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,449</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Other non-current assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,016</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (149)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (1,158)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,900</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (3,900)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Amounts due to related parties</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,399</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,598</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 183,675</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Other liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,436</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (25,958)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,193</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Liability for uncertain tax positions</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 833</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,008</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 408</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Deferred taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (6,106)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,230</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (1,292)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;">Net settlement of derivatives</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (6,358)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,450</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (11,125)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Net cash provided by (used in) operating activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 114,288</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (108,595)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 136,996</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Investing activities:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Investments in subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (64,185)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (1,051)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (36,146)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Investments in affiliates</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (2,483)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Proceeds from disposal of subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 61,749</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Purchase of property, plant and equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (26)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Funding of loans to subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (74,458)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (94,000)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (40,601)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Repayment of loans from subsidiaries </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 375,635</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,809</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Net cash provided by (used in) investing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (76,920)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 280,584</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (66,420)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Financing activities:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Repayment of short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (49,000)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (151,000)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Proceeds from long-term borrowings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,000</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Repayment of convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (127,500)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Payments for repurchase of treasury stock</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (11,845)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;">Proceeds from exercise of stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 879</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 769</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 875</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Net cash used in financing activities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (48,121)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (150,231)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (88,470)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Effect of exchange rate changes</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,362</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (29,618)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,110</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Net decrease in cash and cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (4,391)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (7,860)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (6,784)</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Cash and cash equivalents at the beginning of the year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,348</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,957</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,097</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Cash and cash equivalents at the end of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,957</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,097</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,313</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Supplemental disclosure of cash flow information:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Interest paid (net of amounts capitalized)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,375</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,154</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,644</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract</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:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for condensed financial information, including the financial position, cash flows, and the results of operations of the registrant (parent company) as of the same dates or for the same periods for which audited consolidated financial statements are being presented. Alternatively, the details of this disclosure can be reported by the specific parent company taxonomy elements, indicating the appropriate date and period contexts in an instance document.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e24072-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=d3e5283-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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>32
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6592007024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>MAJOR CUSTOMERS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_MajorCustomersDisclosureAbstract', window );"><strong>MAJOR CUSTOMERS</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="top.Show.showAR( this, 'defref_csiq_MajorCustomersDisclosureTextBlock', window );">MAJOR CUSTOMERS</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">23.&#160;MAJOR CUSTOMERS</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Details of customers accounting for 10% or more of total net revenues are as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:38.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Company A</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 718,341</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">23.&#160;MAJOR CUSTOMERS (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The accounts receivable from three customers with the largest receivable balances represents 17%, 5% and 4% of the balance of the account at December 31, 2019, and 12%, 5% and 5% of the balance of the account at December 31, 2018, respectively. The balance from the customer with the largest receivable balance is $59,224 and $74,376 as of December 31, 2018 and 2019, 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_csiq_MajorCustomersDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_MajorCustomersDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_MajorCustomersDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of major customers from which the entity receives substantial of its revenue. Due to the competitive nature of the industry in which the entity belongs, the entity may not believe that the loss of any particular customer would have material adverse impact on the entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_MajorCustomersDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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>33
<FILENAME>R120.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6829898992">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_CondensedFinancialStatementsCaptionsLineItems', window );"><strong>Condensed Financial Statements</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="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Accounts receivable trade, allowance</a></td>
<td class="nump">$ 29,545<span></span>
</td>
<td class="nump">$ 32,733<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common share, par value (in dollars per share)</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common shares, shares issued (in shares)</a></td>
<td class="nump">59,371,684<span></span>
</td>
<td class="nump">59,180,624<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common shares, shares outstanding (in shares)</a></td>
<td class="nump">59,371,684<span></span>
</td>
<td class="nump">59,180,624<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember', window );">Reportable Legal Entities [Member] | Parent 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="top.Show.showAR( this, 'defref_srt_CondensedFinancialStatementsCaptionsLineItems', window );"><strong>Condensed Financial Statements</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="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Accounts receivable trade, allowance</a></td>
<td class="nump">$ 3,379<span></span>
</td>
<td class="nump">$ 3,462<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common share, par value (in dollars per share)</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common shares, shares issued (in shares)</a></td>
<td class="nump">59,371,684<span></span>
</td>
<td class="nump">59,180,624<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common shares, shares outstanding (in shares)</a></td>
<td class="nump">59,371,684<span></span>
</td>
<td class="nump">59,180,624<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CondensedFinancialStatementsCaptionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_CondensedFinancialStatementsCaptionsLineItems</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:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=118936363&amp;loc=d3e5074-111524<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118955202&amp;loc=SL82895884-210446<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_srt_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ParentCompanyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ParentCompanyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R124.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6855086688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Appendix 1 - Major Subsidiaries of CSI (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_CounterpartyNameAxis=csiq_CsiCellsCo.Ltd.Member', window );">CSI Cells Co., Ltd.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">52.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_EquityInterestHeldAsGeneralPartner', window );">Interest held as general partner</a></td>
<td class="nump">0.17%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_CounterpartyNameAxis=csiq_CanadianSolarManufacturingChangshuInc.Member', window );">Canadian Solar Manufacturing (Changshu) Inc.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">20.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="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CSISolartronicsChangshuCoLtdMember', window );">CSI Solartronics (Changshu) Co., Ltd</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CSISolarTechnologiesIncMember', window );">CSI Solar Technologies Inc.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CsiNewEnergyHoldingCo.LtdMember', window );">CSI New Energy Holding Co., Ltd.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarManufacturingLuoyangIncMember', window );">Canadian Solar Manufacturing (Luoyang) Inc.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarManufacturingChangshuInc.Member', window );">Canadian Solar Manufacturing (Changshu) Inc.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CsiCellsCo.Ltd.Member', window );">CSI Cells Co., Ltd.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarUSAIncMember', window );">Canadian Solar (USA) Inc.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarJapanKKMember', window );">Canadian Solar Japan K.K.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarSolutionsIncMember', window );">Canadian Solar Solutions Inc.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CsiSolarPowerChinaInc.Member', window );">CSI Solar Power Group Co., Ltd. (formerly named/known as "CSI Solar Power (China) Inc.")</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_EquityInterestHeldAsGeneralPartner', window );">Interest held as general partner</a></td>
<td class="nump">0.067%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CsiSolarPowerChinaInc.Member', window );">CSI Solar Power Group Co., Ltd. (formerly named/known as "CSI Solar Power (China) Inc.") | CSI Cells Co., Ltd.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">37.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="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarEMEAGmbHMember', window );">Canadian Solar EMEA GmbH</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarAustraliaPtyLtdMember', window );">Canadian Solar (Australia) Pty Limited</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarInternationalProjectHoldingLimitedMember', window );">Canadian Solar International Limited</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarOAndMOntarioIncMember', window );">Canadian Solar O and M (Ontario) Inc.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember', window );">Suzhou Sanysolar Materials Technology Co., Ltd.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">99.73%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarSouthEastAsiaPteLtdMember', window );">Canadian Solar South East Asia Pte. Ltd.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarSouthAfricaPtyLtdMember', window );">Canadian Solar South Africa Pty., Ltd.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember', window );">Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarConstructionUsaLLCMember', window );">Canadian Solar Construction (USA) LLC</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarProjectKKMember', window );">Canadian Solar Project K.K.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CsiGclSolarManufacturingYanchengCo.Ltd.Member', window );">CSI&amp;GCL Solar Manufacturing (Yancheng) Inc.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarUkLtdMember', window );">Canadian Solar UK Ltd.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarUkProjectsLtdMember', window );">Canadian Solar UK Projects Ltd.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember', window );">Changsu Tegu New Material Technology Co., Ltd.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_ChangshuTlianCo.Ltd.Member', window );">Changshu Tlian Co., Ltd.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_RecurrentEnergyGroupInc.Member', window );">Recurrent Energy Group Inc.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_RecurrentEnergyLlcMember', window );">Recurrent Energy, LLC</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_PtCanadianSolarIndonesiaMember', window );">PT. Canadian Solar Indonesia</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">67.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="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarManufacturingVietnamCo.LtdMember', window );">Canadian Solar Manufacturing Vietnam Co., Ltd</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarEnergyPrivateLimitedMember', window );">Canadian Solar Energy Private Limited</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarAustralia1PtyLtdMember', window );">Canadian Solar MSS (Australia) Pty Ltd (formerly named/known as "Canadian Solar Australia 1 Pty Ltd.")</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarEnergyHoldingCompanyLimitedMember', window );">Canadian Solar Energy Holding Company Limited</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarManufacturingThailandCo.Ltd.Member', window );">Canadian Solar Manufacturing (Thailand) Co., Ltd.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">99.99992%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarSunenergySuzhouCo.Ltd.Member', window );">Canadian Solar Sunenergy (Suzhou) Co., Ltd.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member', window );">Canadian Solar Energy Holding Singapore Pte. Ltd.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member', window );">Canadian Solar Sunenergy (Baotou) Co., Ltd.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember', window );">Suzhou Gaochuangte New Energy Development Co., Ltd.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">90.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="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CsiCellsYanchangCoLtdMember', window );">CSI Cells (Yanchang) Co., Ltd.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">48.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="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CsiModulesDafengCoLtdMember', window );">CSI Modules (DaFeng) Co., Ltd. | Canadian Solar Manufacturing (Changshu) Inc.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">3.12%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CsiModulesDafengCoLtdMember', window );">CSI Modules (DaFeng) Co., Ltd. | CSI Solar Power Group Co., Ltd. (formerly named/known as "CSI Solar Power (China) Inc.")</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">96.88%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarMiddleEastDmccMember', window );">Canadian Solar Middle East DMCC</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CsiInvestmentManagementSuzhouCoLtdMember', window );">CSI Investment Management (SuZhou) Co., Ltd.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarConstructionAustraliaPtyLtdMember', window );">Canadian Solar Construction (Australia) Pty Ltd</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CsukEnergySystemsConstructionAndGenerationJscMember', window );">CSUK Energy Systems Construction and Generation JSC</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CsiModulesJiaxingCoLtdMember', window );">CSI Modules (JiaXing) Co., Ltd.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CsiWaferLuoyangCoLtdMember', window );">CSI Wafer (LuoYang) Co., Ltd.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarManufacturingTaiwanCoLtdMember', window );">Canadian Solar Manufacturing Taiwan Co., Ltd.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarArgentinaInvestmentHoldingLtdMember', window );">Canadian Solar Argentina Investment Holding Ltd</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember', window );">Changshu Xingu Photovoltaic Material Technology Co., Ltd.</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember', window );">Canadian Solar New Energy Holding Company Limited [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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member', window );">Canadian Solar Energy Holding Singapore Pte. Ltd. [Member]</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarSsesCanadaInc.Member', window );">Canadian Solar SSES (Canada) Inc. [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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LegalEntityAxis=csiq_CanadianSolarSsesUkLtdMember', window );">Canadian Solar SSES (UK) Ltd [Member]</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems', window );"><strong>Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Attributable Equity Interest Held (as a percent)</a></td>
<td class="nump">100.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_EquityInterestHeldAsGeneralPartner">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of equity interest held as general partner.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_EquityInterestHeldAsGeneralPartner</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_InvestmentsInAndAdvancesToAffiliatesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems</td>
</tr>
<tr>
<td style="padding-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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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_srt_CounterpartyNameAxis=csiq_CsiCellsCo.Ltd.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CounterpartyNameAxis=csiq_CsiCellsCo.Ltd.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CounterpartyNameAxis=csiq_CanadianSolarManufacturingChangshuInc.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CounterpartyNameAxis=csiq_CanadianSolarManufacturingChangshuInc.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CSISolartronicsChangshuCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CSISolartronicsChangshuCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CSISolarTechnologiesIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CSISolarTechnologiesIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CsiNewEnergyHoldingCo.LtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CsiNewEnergyHoldingCo.LtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarManufacturingLuoyangIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarManufacturingLuoyangIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarManufacturingChangshuInc.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarManufacturingChangshuInc.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CsiCellsCo.Ltd.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CsiCellsCo.Ltd.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarUSAIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarUSAIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarJapanKKMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarJapanKKMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarSolutionsIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarSolutionsIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CsiSolarPowerChinaInc.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CsiSolarPowerChinaInc.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarEMEAGmbHMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarEMEAGmbHMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarAustraliaPtyLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarAustraliaPtyLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarInternationalProjectHoldingLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarInternationalProjectHoldingLimitedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarOAndMOntarioIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarOAndMOntarioIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarSouthEastAsiaPteLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarSouthEastAsiaPteLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarSouthAfricaPtyLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarSouthAfricaPtyLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarConstructionUsaLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarConstructionUsaLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarProjectKKMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarProjectKKMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CsiGclSolarManufacturingYanchengCo.Ltd.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CsiGclSolarManufacturingYanchengCo.Ltd.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarUkLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarUkLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarUkProjectsLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarUkProjectsLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_ChangshuTlianCo.Ltd.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_ChangshuTlianCo.Ltd.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_RecurrentEnergyGroupInc.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_RecurrentEnergyGroupInc.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_RecurrentEnergyLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_RecurrentEnergyLlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_PtCanadianSolarIndonesiaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_PtCanadianSolarIndonesiaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarManufacturingVietnamCo.LtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarManufacturingVietnamCo.LtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarEnergyPrivateLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarEnergyPrivateLimitedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarAustralia1PtyLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarAustralia1PtyLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarEnergyHoldingCompanyLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarEnergyHoldingCompanyLimitedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarManufacturingThailandCo.Ltd.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarManufacturingThailandCo.Ltd.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarSunenergySuzhouCo.Ltd.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarSunenergySuzhouCo.Ltd.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CsiCellsYanchangCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CsiCellsYanchangCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CsiModulesDafengCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CsiModulesDafengCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CounterpartyNameAxis=csiq_CsiSolarPowerChinaInc.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CounterpartyNameAxis=csiq_CsiSolarPowerChinaInc.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarMiddleEastDmccMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarMiddleEastDmccMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CsiInvestmentManagementSuzhouCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CsiInvestmentManagementSuzhouCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarConstructionAustraliaPtyLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarConstructionAustraliaPtyLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CsukEnergySystemsConstructionAndGenerationJscMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CsukEnergySystemsConstructionAndGenerationJscMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CsiModulesJiaxingCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CsiModulesJiaxingCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CsiWaferLuoyangCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CsiWaferLuoyangCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarManufacturingTaiwanCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarManufacturingTaiwanCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarArgentinaInvestmentHoldingLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarArgentinaInvestmentHoldingLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarSsesCanadaInc.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarSsesCanadaInc.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarSsesUkLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarSsesUkLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp7009064576">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>VARIABLE INTEREST ENTITIES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract', window );"><strong>VARIABLE INTEREST ENTITIES</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="top.Show.showAR( this, 'defref_us-gaap_VariableInterestEntityDisclosureTextBlock', window );">VARIABLE INTEREST ENTITIES</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 5pt 0pt;"><b style="font-weight:bold;">10. VARIABLE INTEREST ENTITIES</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Since 2016, the Company, through its wholly owned subsidiary, CSE Japan Investment Company Limited, entered into silent partnership agreements with various Japan project companies, for the purpose of raising project finance bonds arranged by Goldman Sachs Japan Co., Ltd. Under the silent partnership agreements, the project entities are considered VIEs in which the Company has no equity interests, but is entitled to substantially all of the economic interests of the projects. In addition, the Company has the power to make decisions over the activities that most significantly impact the economic performance of the projects under the asset management agreement signed simultaneously between the project companies and Canadian Solar Project K.K, a subsidiary of the Group. As such, the Company concluded it was the primary beneficiary of the project companies and thus these project companies were accounted for as consolidated VIEs since their establishment.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2018 and 2019, the carrying amounts and classifications of the consolidated VIEs&#8217; major assets and liabilities with immaterial items combined, excluding intercompany balances which are eliminated upon consolidation, included in the Company&#8217;s consolidated balance sheet are as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Project assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 185,448</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 197,366</p></td></tr><tr><td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other assets</p></td><td style="vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,836</p></td><td style="vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,102</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 207,284</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 223,468</p></td></tr><tr><td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Short-term borrowings</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,160</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 139,708</p></td></tr><tr><td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 113,973</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,476</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,569</p></td></tr><tr><td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 182,609</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 206,277</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Net income and overall cash flow activities during the year are immaterial to the consolidated financial statements.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableInterestEntityDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for a variable interest entity (VIE), including but not limited to, judgments and assumptions in determining whether to consolidate and in identifying the primary beneficiary, gain (loss) recognized on the initial consolidation of the VIE, terms of arrangements, amounts and classification of the VIE's assets and liabilities, and the entity's maximum exposure to loss.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -URI http://asc.fasb.org/topic&amp;trid=2197479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableInterestEntityDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-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>36
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp7009042000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</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="top.Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock', window );">SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(a)&#160;&#160;&#160;Basis of presentation</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The consolidated financial statements of the Company have been prepared in accordance with U.S.&#160;generally accepted accounting principles (&#8220;U.S.&#160;GAAP&#8221;).</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(b)&#160;&#160;&#160;Basis of consolidation</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The consolidated financial statements include the financial statements of the Company and its subsidiaries in which it has a controlling financial interest or variable interest entities (&#8220;VIEs&#8221;) for which the Company is a primary beneficiary. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">A controlling financial interest is typically determined when a company holds a majority of the voting equity interest in an entity. All intercompany balances and transactions between the Company and its subsidiaries have been eliminated in consolidation.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company consolidates VIEs when the Company is the primary beneficiary. VIEs are entities that lack sufficient equity to finance their activities without additional financial support from other parties or whose equity holders, as a group, lack one or more of the following characteristics: (a) direct or indirect ability to make decisions; (b) obligation to absorb expected losses; or (c) right to receive expected residual returns. VIEs must be evaluated quantitatively and qualitatively to determine the primary beneficiary, which is the reporting entity that has (a) the power to direct activities of a VIE that most significantly impact the VIEs economic performance and (b) the obligation to absorb losses of the VIE that could potentially be significant to the VIE or the right to receive benefits from the VIE that could potentially be significant to the VIE. The primary beneficiary is required to consolidate the VIE for financial reporting purposes. A VIE can have only one primary beneficiary, but may not have a primary beneficiary if no party meets the criteria described above.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">When evaluating whether the Company is the primary beneficiary of a VIE, and must therefore consolidate the entity, the Company performs a qualitative analysis that considers the design of the VIE, the nature of its involvement and the variable interests held by other parties. If that evaluation is inconclusive as to which party absorbs a majority of the entity&#8217;s expected losses or residual returns, a quantitative analysis is performed to determine the primary beneficiary.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For the Company's consolidated VIEs, the Company has presented in note 10, to the extent material, the assets of its consolidated VIEs that can only be used to settle specific obligations of the consolidated VIE, and the liabilities of its consolidated VIEs for which creditors do not have recourse to its general assets outside of the consolidated VIE. All intercompany accounts and transactions between the Company and its consolidated VIEs have been eliminated in consolidation.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(c)&#160;&#160;&#160;Use of estimates</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The preparation of consolidated financial statements in conformity with U.S. GAAP requires the Company to make estimates and assumptions that affect reported amounts of assets and liabilities, disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates. Significant accounting estimates reflected in the Company&#8217;s consolidated financial statements include revenue recognition for sales of solar power projects, EPC and development services accounted for under a cost-based input method, allowance for doubtful accounts receivable and advances to suppliers, valuation of inventories and provision for firm purchase commitments, provision for contingent liability, impairment of long-lived assets and project assets, the estimated useful lives of long-lived assets, determination of assets retirement obligation (&#8220;ARO&#8221;), discount rates used to measure operating lease liabilities, accrual for warranty and the recognition of the benefit from the purchased warranty insurance, fair value estimate of financial instruments including warrants and other types of derivative, accrual for uncertain tax positions, valuation allowances for deferred tax assets, applying acquisition method of accounting to business acquisitions and the grant-date fair value of share-based compensation awards and related forfeiture rates.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(d)&#160;&#160;&#160;Cash and cash equivalents and restricted cash</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Cash and cash equivalents are stated at cost, which approximates fair value. Cash and cash equivalents consist of cash on hand and demand deposits, which are unrestricted as to withdrawal and use, and have original maturities of three months or less when&#160;acquired.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Restricted cash represents amounts held by banks, which are not available for the Company&#8217;s general use, as security for issuance of letters of credit, short-term notes payable and bank borrowings. Upon maturity of the letters of credit, repayment of short-term notes payable or bank borrowings, the deposits are released by the bank and become available for general use by the&#160;Company.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(e)&#160;&#160;&#160;Accounts receivable, unbilled</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Accounts receivable, unbilled represents a contract asset for revenue that has been recognized in advance of billing the customer. The Company uses a cost-based input method to recognize revenue from EPC and development services when all relevant revenue recognition criteria have been met. Under this accounting method, revenue may be recognized in advance of billing the customer, which results in the recording of accounts receivable, unbilled. Once the Company meets the billing criteria under such contract, the rights to consideration becomes unconditional, it bills the customer and reclassifies the unbilled balance to accounts receivable trade. Billing requirements vary by contract, but are generally structured around completion of certain construction milestones.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(f)&#160;&#160;&#160;&#160;Allowance for doubtful receivables</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company began purchasing insurance from China Export&#160;&amp; Credit Insurance Corporation ("Sinosure") since 2009 for certain of its accounts receivable trade in order to reduce its exposure to bad debt loss. The Company provides an allowance for accounts receivable trade using primarily a specific identification methodology. An allowance is recorded based on the likelihood of collection from the specific customer regardless whether such account is covered by Sinosure. At the time the claim is made to Sinosure, the Company records a receivable from Sinosure equal to the expected recovery up to the amount of the specific allowance. The Company had recorded a receivable from Sinosure in prepaid expenses and other current assets of $164 and $166 as of December 31, 2018 and 2019, respectively and a corresponding reduction in bad debt&#160;expense.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(g)&#160;&#160;&#160;Advances to suppliers</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company makes prepayments to certain suppliers and such amounts are recorded in advances to suppliers in the consolidated balance sheets. Advances to suppliers expected to be utilized within twelve months as of each balance sheet date are recorded as current assets and the portion expected to be utilized after twelve months are classified as non-current assets in the consolidated balance&#160;sheets.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(h)&#160;&#160;&#160;Inventories</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Inventories are stated at the lower of cost or net realizable value. Cost is determined by the weighted-average method. Cost of inventories consists of direct materials and, where applicable, direct labor costs, tolling costs and those overhead costs that have been incurred in bringing the inventories to their present location and condition.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Adjustments are recorded to write down the cost of obsolete and excess inventories to the estimated net realizable value based on historical and forecast demand. </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(i)&#160;&#160;&#160;&#160;Project assets</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="white-space:pre-wrap;">Project assets consist primarily of capitalized costs relating to solar power projects in various stages of development prior to the intended sale of the solar power projects to a third party. These costs include certain acquisition costs, land costs and costs for developing and constructing a solar power system. Development costs can include legal, consulting, permitting, and other similar costs. Construction costs can include execution of field construction, installation of solar equipment, solar modules and related equipment. Interest costs incurred on debt during the construction phase and all deferred financing costs amortized during the construction phase are also capitalized within project assets.  </span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="white-space:pre-wrap;">Solar power projects are preliminarily classified as project assets unless the Company has intention not to sell them to third parties. In that case, they will be classified as solar power systems on the balance sheet. During the development phase, solar power projects are accounted for in accordance with the recognition, initial measurement and subsequent measurement subtopics of ASC 970- 360, as they are considered in substance real estates. The costs to construct solar power projects are presented as operating activities or investing activities in the consolidated statement of cash flows, if they are related to project assets or solar power systems, respectively. While the solar power projects are in the development phase, they are generally classified as non-current assets, unless it is anticipated that the sale will occur within one year.  Appropriateness of the classification of the solar power projects is assessed based on the circumstances on each balance sheet date. Solar power projects that the Company intends to sell within one year, which meet the criteria of ASC 360, are classified as project assets-current. Solar power projects that the Company intends to hold and operate to generate electricity are still classified as solar power systems. </span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company reviews project assets for impairment whenever events or changes in circumstances indicate that the carrying amount may not be recoverable. The Company considers a project commercially viable or recoverable if it is anticipated to be sold for a profit once it is either fully developed or fully constructed. The Company considers a partially developed or partially constructed project commercially viable or recoverable if the anticipated selling price is higher than the carrying value of the related project assets. The Company examines a number of factors to determine if the project will be recoverable, the most notable of which include whether there are any changes in environmental, ecological, permitting, market pricing or regulatory conditions that impact the project. Such changes could cause the costs of the project to increase or the selling price of the project to decrease. If a project is not considered recoverable, the Company impairs the respective project assets and adjusts the carrying value to the estimated recoverable amount, with the resulting impairment recorded within operations.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Project assets are often held in separate legal entities which are formed for the special purpose of constructing the project assets, which the Company refers to as &#8220;project companies&#8221;. The Company consolidates project companies as described in note 2 (b) above. The cash paid to the non-controlling interest in connection with disposal of such project companies was recorded as a financing activity in the consolidated statement of cash flows.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">The Company does not depreciate the project assets. Any revenue generated from a solar power system connected to the grid would be considered incidental revenue and accounted for as a reduction of the capitalized project costs for development.  If circumstances change, and the Company will begin to operate the project assets for the purpose of generating income from the sale of electricity, the project assets will be reclassified to solar power systems.</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(j)&#160;&#160;&#160;&#160;Business combination</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Business combinations are recorded using the acquisition method of accounting and, accordingly, the acquired assets and liabilities are recorded at their fair market value at the date of acquisition. Any excess of acquisition cost over the fair value of the acquired assets and liabilities, including identifiable intangible assets, is recorded as goodwill. The Company charges acquisition related costs that are not part of the purchase price consideration to general and administrative expenses as they are incurred. These costs typically include transaction and integration costs, such as legal, accounting, and other professional fees. </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(k)&#160;&#160;&#160;Assets acquisition</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">When the Company acquires other entities, if the assets acquired and liabilities assumed do not constitute a business, the transaction is accounted for as an asset acquisition. Assets are recognized based on the cost, which generally includes the transaction costs of the asset acquisition, and no gain or loss is recognized unless the fair value of noncash assets given as consideration differs from the assets&#8217; carrying amounts on the Company&#8217;s books. If the consideration given is not in the form of cash (that is, in the form of noncash assets, liabilities incurred, or equity interests issued), measurement is based on either the cost to the acquiring entity or the fair value of the assets (or net assets) acquired, whichever is more clearly evident and, thus, more reliably measurable. The cost of a group of assets acquired in an asset acquisition is allocated to the individual assets acquired or liabilities assumed based on their relative fair value and does not give rise to goodwill.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(l)&#160;&#160;Property, plant and equipment</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Property, plant and equipment is recorded at cost less accumulated depreciation. The cost of property, plant and equipment comprises its purchase price and any directly attributable costs, including interest costs capitalized during the period the asset is brought to its working condition and location for its intended use. The Company expenses repair and maintenance costs as&#160;incurred.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Depreciation is computed on a straight-line basis over the following estimated useful&#160;lives:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Buildings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">20 years</p></td></tr><tr><td style="vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:48.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Over the shorter of the lease term or their estimated useful lives</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Machinery</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_wCQYZoz750uAEDFs_tX9Mg"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">5</span></span>-10 years</p></td></tr><tr><td style="vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Furniture, fixtures and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">5 years</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Motor vehicles</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">5 years</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Costs incurred in constructing new facilities, including progress payments, capitalized interests and other costs relating to the construction, are capitalized and transferred to property, plant and equipment on completion and depreciation commences from that&#160;time.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For property, plant and equipment that has been placed into service, but is subsequently idled temporarily, the Company continues to record depreciation expense during the idle period. The Company adjusts the estimated useful life of the idled assets if the estimated useful life has&#160;changed.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b><b style="font-weight:bold;"> </b></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(m)&#160;&#160;&#160;Solar power systems</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="white-space:pre-wrap;">Solar power systems are comprised of ground-mounted projects and roof top systems that the Company intends to hold for use. The solar power systems are stated at cost less accumulated depreciation.  The cost consists primarily of direct costs incurred in various stages of development prior to the commencement of operations. For a self-developed solar power system, the actual cost capitalized is the amount of the expenditure incurred for the application of the feed-in tariff (&#8216;&#8216;FIT&#8217;&#8217;) or other similar contracts, permits, consents, construction costs, interest costs capitalized, and other costs capitalized. For a solar power system acquired from third parties, the initial costs include the consideration transferred and certain direct acquisition costs.  Expenditures for major additions and improvements are capitalized and minor replacements, maintenance, and repairs are charged to expense as incurred. </span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">When solar power systems is retired, or otherwise disposed of, the cost and accumulated depreciation is removed from the balance sheets and any resulting gain or loss is included in the results of operations for the respective period. Depreciation is recognized using the straight-line method over the estimated useful lives of the solar power systems of <span style="-sec-ix-hidden:Hidden_9fnvDhRg006UIcqPOGt6AQ"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">20</span></span> to 25 years.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(n)&#160;&#160;&#160;Intangible assets</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Intangible assets primarily represent the technical know-how and computer software purchased from third parties. Intangible assets are recorded at fair value at the time of acquisition less accumulated amortization, if applicable. Amortization is recorded according to the following table on a straight-line basis for all intangible assets:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:49.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:48.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Technical know-how</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">10 years</p></td></tr><tr><td style="vertical-align:bottom;width:49.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Computer software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_DzwZBiVHl02oSzavGfXqEg"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">1</span></span>-10 years</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(o)&#160;&#160;&#160;Prepaid land use rights</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Prepaid land use rights, in substance right-of-use assets recorded according to ASC 842 from January 1, 2019, represent amounts paid for the use right of lands located in China (&#8220;PRC&#8221;) and Japan. Amounts are charged to earnings ratably over the lease periods of <span style="-sec-ix-hidden:Hidden_7NBhpV-8hEejJzqz3LlyIw"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">20</span></span> to 50 years.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(p)&#160;&#160;&#160;&#160;Investments in affiliates</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company uses the equity method of accounting for the investments. The Company records the equity method investments at historical cost and subsequently adjusts the carrying amount each period for share of the earnings or losses of the investee and other adjustments required by the equity method of accounting. Dividends received from the equity method investments are recorded as reductions in the cost of such investments. The amount associated with the share of earnings are considered as return of investment, and the rest received amount are considered as return on investment.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Investments are evaluated for impairment when facts or circumstances indicate that the fair value of the investment is less than its carrying value. An impairment is recognized when a decline in fair value is determined to be other-than-temporary. The Company reviews several factors to determine whether a loss is other-than-temporary. These factors include, but are not limited to, the: (i)&#160;nature of the investment; (ii)&#160;cause and duration of the impairment; (iii)&#160;extent to which fair value is less than cost; (iv)&#160;financial conditions and near term prospects of the affiliates; and (v)&#160;ability to hold the security for a period of time sufficient to allow for any anticipated recovery in fair value. During the years ended December 31, 2017, 2018 and 2019, the Company recorded $3,686, $5,738 and nil impairment charges on its investments, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(q)&#160;&#160;&#160;&#160;Impairment of long-lived assets</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company assesses the recoverability of the carrying value of long-lived assets when an indicator of impairment has been identified. The Company reviews the long-lived assets each reporting period to assess whether impairment indicators are present. For purposes of recognition and measurement of an impairment loss, a long-lived asset or assets is grouped with other assets and liabilities at the lowest level for which identifiable cash flows are largely independent of the cash flows of other assets and liabilities. For long-lived assets, when impairment indicators are present, the Company compares undiscounted future cash flows, including the eventual disposition of the asset group at market value, to the asset group&#8217;s carrying value to determine if the asset group is recoverable. Assessments also consider changes in asset group utilization, including the temporary idling of capacity and the expected timing of placing this capacity back into production. If the sum of the expected undiscounted cash flows is less than the carrying amount of the assets, the Company will recognize an impairment loss based on the fair value of the assets. The Company recorded impairment charges for long-lived assets of $11,626, $30,968 and $21,866 for the years ended December 31, 2017, 2018 and 2019, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(r)&#160;&#160;&#160;&#160;Interest capitalization</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company capitalizes interest costs as part of the historical costs of acquiring or constructing certain assets during the period of time required to get the assets ready for their intended use or sell the asset to a customer. The Company capitalizes interest costs to the extent that expenditures to acquire, construct, or develop an asset have occurred and interest costs have been incurred. Interest capitalized for property, plant and equipment, or solar power systems is depreciated over the estimated useful life of the related asset, as the qualifying asset is placed into service. The interest capitalized for project assets forms part of the cost of revenues when such project assets are sold and all revenue recognition criteria are met. Interest capitalization ceases once a project is substantially complete or no longer undergoing construction activities to prepare it for its intended use.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(s)&#160;&#160;&#160;Assets retirement obligation</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Certain jurisdictions in which the Company's project assets are located or certain land lease agreements require the removal of the solar power systems when the project is decommissioned. Assets retirement obligation (&#8220;ARO&#8221;) for the estimated costs of decommissioning associated with long-lived assets at a future date are accounted for in accordance with ASC 410-20, Asset Retirement Obligations (&#8220;ASC 410-20&#8221;). ASC 410-20 requires an entity to recognize the fair value of a liability for an ARO in the period in which it is incurred and a reasonable estimate of fair value can be made. Upon initial recognition of a liability for an ARO, the asset retirement cost is capitalized by increasing the carrying amount of the related long-lived asset by the same amount. Over time, the liability is accreted to its expected future value, while the capitalized cost is depreciated over the useful life of the related asset. The Company's ARO included in solar power systems were $43 and $26 as of December 31, 2018 and 2019, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(t)&#160;&#160;&#160;Leases</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Effective January 1, 2019, the Company adopted Accounting Standards Update ("ASU") No. 2016-02, Leases (Topic 842), as amended ("ASC 842") for its lease arrangements, which were recorded under ASC 840, Leases, before implementation. Upon adoption of ASC 842, the Company elected to use the remaining lease term as of January 1, 2019 in the estimation of the applicable discount rate for leases that were in place at adoption. For the initial measurement of the lease liability for leases commencing after January 1, 2019, the Company use the discount rate as of the commencement date of the lease, incorporating the entire lease term. The Company, as a lessee, has both finance and operating lease arrangements. Right-of-use ("ROU") assets and operating lease liabilities on the consolidated balance sheets include operating lease agreements. Finance lease agreements are recorded in property, plant and equipment, other payables and other non-current liabilities on the consolidated balance sheets. Lease liabilities that become due within one year of the balance sheet date are classified as current liabilities. The Company elected the practical expedient to combine the lease and related non-lease components for all existing leases.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company determines if an arrangement is a lease at inception. Leases are classified as operating or finance leases in accordance with the recognition criteria in ASC 842-20-25. At the commencement date of a lease, the Company determines the classification of the lease based on the relevant factors and presents and records a right-of- use ("ROU") asset and lease liability. ROU assets represent the right to use an underlying asset for the lease term and lease liabilities represent the obligation to make lease payments arising from the lease. ROU assets and lease liabilities are calculated as the present value of the lease payments not yet paid. Variable lease payments are excluded from the ROU asset and lease liability calculations and are recognized in the period which the obligations for those payments are incurred. Operating lease ROU assets also include any lease prepayments made, initial direct costs and deferred rent if any and exclude lease incentives. As the rate implicit in the Company&#8217;s operating leases is not typically readily available, the Company uses an incremental borrowing rate based on the information available at the lease commencement date in determining the present value of lease payments. Some of the Company&#8217;s lease agreements include options to extend or terminate the lease, which are not included in its minimum lease terms unless they are reasonably certain to be exercised. All operating lease expenses are fixed, which are accounted for on a straight-line basis over the lease term and that of finance lease include interest and amortization expenses incurred during the current year.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company's leases do not contain any material residual value guarantees or material restrictive covenants. Leases with an initial lease term of 12 months or less are not recorded on the consolidated balance sheet.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For finance leases, the amortization of the asset is recognized over the shorter of the lease term or useful life of the underlying asset within depreciation and amortization expense and other expenses from managed and franchised properties in consolidated statements of operations. The interest expense related to finance leases, including any variable lease payments, is recognized in interest expense in consolidated statements of operations.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company assesses ROU assets for impairment quarterly. When events or circumstances indicate the carrying value may not be recoverable, the Company evaluates the net book value of the asset for impairment by comparison to the projected undiscounted future cash flows. If the carrying value of the asset is determined to not be recoverable and is in excess of the estimated fair value, the Company recognizes an impairment charge in asset impairments on its consolidated statements of income.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(u)&#160;&#160;&#160;Contingencies</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Liabilities for loss contingencies arising from claims, assessments, litigation, fines, and penalties and other sources are recorded when it is probable that a liability has been incurred and the amount can be reasonably estimated. If a potential material loss contingency is not probable but is reasonably possible, or is probable but the amount cannot be estimated, then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, is disclosed. Legal costs incurred in connection with loss contingencies are expensed as&#160;incurred.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(v)&#160;&#160;Income taxes</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Deferred income taxes are recognized for temporary differences between the tax basis of assets and liabilities and their reported amounts in the financial statements, net tax loss carry-forwards and credits using the enacted tax rates expected to apply to taxable income in the periods in which the deferred tax liability or asset is expected to be settled or realized. Deferred tax assets are reduced by a valuation allowance when it is more likely than not that some portion or all of the deferred tax assets will not be realized. Current income taxes are provided for in accordance with the laws of the relevant taxing authorities.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Income tax expense includes (i) deferred tax expense, which generally represents the net change in the deferred tax asset or liability balance during the year plus any change in valuation allowances; (ii) current tax expense, which represents the amount of tax payable to or receivable from a taxing authority; and (iii) non-current tax expense, which represents the increases and decreases in amounts related to uncertain tax positions from prior periods and not settled with cash or other tax attributes. The Company only recognizes tax benefits related to uncertain tax positions when such positions are more likely than not of being sustained upon examination. For such positions, the amount of tax benefit that the Company recognizes is the largest amount of tax benefit that is more than fifty percent likely of being sustained upon the ultimate settlement of such uncertain tax position. The Company records penalties and interests associated with the uncertain tax positions as a component of income tax expense. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">The Company uses the flow-through method to account for investment tax credits earned on qualifying projects placed into service. Under this method the investment tax credits are recognized as a reduction to income tax expense in the year the credit arises.  The use of the flow-through method also results in a basis difference from the recognition of a deferred tax liability and an immediate income tax expense for reduced future tax depreciation of the related assets. Such basis differences are accounted for pursuant to the income statement method.</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(w)&#160;&#160;&#160;Revenue recognition</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company recognizes revenue when it satisfies a performance obligation by transferring a promised good or service to a customer.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Solar power products and materials</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Solar power products, including solar modules, other solar power products, solar system kits and materials related to solar power products are transferred at a point in time when the customer obtains control of the products, which is typically upon shipment or delivery depending on the contract terms. Revenues of solar product sales also include reimbursements received from customers for shipping and handling costs. Sales agreements typically contain the assurance-type customary product warranties but do not contain any post-shipment obligations nor any return or credit provisions, see note 2 (aa) for the Company&#8217;s accounting policy for warranty. </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company assessed whether it is probable that the Company will collect substantially all of the consideration to which it will be entitled in exchange for the products that will be transferred to the customer. As of December 31, 2018 and 2019, the Company had inventories of $9.0&#160;million and $7.7&#160;million, respectively, relating to sales to customers where revenues were not recognized because the collection of payment was determined to be not probable. The delivered products remain as inventories on consolidated balance sheets, regardless of whether the control has been transferred. If the collection of payment becomes probable in the future, the Company would then recognize revenue, adjust inventories and recognize cost of revenues. </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">O&amp;M services</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">O&amp;M services are transferred over time when customers receive and consume the benefits provided by the Company&#8217;s performance under the terms of service arrangements. Revenues from O&amp;M services are recognized overtime based on the work completed to date which does not require re-performances and the costs of O&amp;M services are expensed when incurred.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">EPC and development services</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">The Company recognizes revenue for sales of EPC and development services over time based on the estimated progress to completion using a cost-based input method. In applying the cost-based input method of revenue recognition, the Company use the actual costs incurred relative to the total estimated costs to determine the Company&#8217;s progress towards contract completion and to calculate the corresponding amount of revenue and gross profit to recognize. Cost-based input method of revenue recognition is considered a faithful depiction of the Company&#8217;s efforts to satisfy EPC and development services contracts and therefore reflect the transfer of goods or services to a customer under such contracts. Costs incurred towards contract completion may include costs associated with direct materials, labor, subcontractors, and other indirect costs related to contract performance. The cost-based input method of revenue recognition requires the Company  to make estimates of net contract revenues and costs to complete the Company&#8217;s projects. In making such estimates, significant judgment is required to evaluate assumptions related to the amount of net contract revenues, including the impact of any performance incentives, liquidated damages, and other payments to customers. Significant judgment is also required to evaluate assumptions related to the costs to complete the Company&#8217;s projects, including materials, labor, contingencies, and other system costs. If estimated total costs of any contract are greater than the estimated net revenues, of the contract, the Company recognizes the entire estimated loss in the period the loss becomes known. The cumulative effect of revisions to estimates related to net contract revenues and costs to complete contracts, including penalties, claims, change orders, performance incentives, anticipated losses, and others are recorded in the period in which revisions to estimates are identified and the amounts can be reasonably estimated. </span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Solar power projects</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Sales of solar power projects are recognized at a point in time when customers obtain control of solar power projects. For sales of solar power projects in which the company obtains an interest in the project sold to the customer, the Company recognizes all of the revenue for the consideration received, including the fair value of the non-controlling interest the Company obtained, and defer any profit associated with the interest obtained.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Electricity revenue</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Electricity revenue is generated primarily by the Company&#8217;s solar power plants under long-term PPAs and performance based energy incentives. For electricity sold under PPAs, the Company recognizes electricity revenue based on the price stated in the PPAs when electricity has been generated and transmitted to the grid. Performance-based energy incentives are awarded under certain state programs for the delivery of renewable electricity when the conditions attached to it have been met and there is reasonable assurance that the incentives will be received. During the years ended December 31, 2017, 2018 and 2019, the Company recognized performance-based energy incentives of $10.9 million, $4.7 million, and $3.9 million, respectively, related to electricity generated and recognized in revenue.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Disaggregation of Revenue</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The table represents a disaggregation of revenue from contracts with customers for the years ended December 31, 2017, 2018, and 2019. See Segment Information Note 22 for details of revenues generated from each product or service and revenues generated from different geographic locations.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table represents a disaggregation of revenue recognized at a point in time or over time:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">MSS:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue recognized at a point in time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,705,985</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,095,743</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,238,310</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue recognized over time</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,938</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,175</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 242,828</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Energy:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue recognized at a point in time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 633,195</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,542,906</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 668,476</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue recognized over time</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,275</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,688</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,969</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,390,393</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,744,512</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,200,583</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;text-decoration:underline;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The Company&#8217;s contract assets and liabilities are as follow:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:12.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,<br/>2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;width:12.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December31,<br/>2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fluctuation</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:40.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Contract Assets</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accounts receivables, unbilled</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,256</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,218</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Contract Liabilities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Advances from customers</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,024</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 134,806</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 95,782</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,381</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,917</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (30,464)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 90,405</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 155,723</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 65,318</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;text-decoration:underline;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For the year ended December 31, 2019, $62.0 million revenue is recognized from the beginning balance of contract liabilities as of January 1, 2019. Contract liabilities of $155.7 million as of December 31, 2019 are expected to be realized within one year.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Practical Expedients and Exemptions</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company applies the new revenue standard requirements to a portfolio of contracts (or performance obligations) with similar characteristics for transactions where it is expected that the effects on the financial statements of applying the revenue recognition guidance to the portfolio would not differ materially from applying this guidance to the individual contracts (or performance obligations) within that portfolio. Therefore, the Company has elected the portfolio approach in applying the new revenue guidance.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company has made an accounting policy election to not assess whether promised products are performance obligations if they are immaterial in the context of the contract with the customer. If the revenue related to a performance obligation that includes products that are immaterial in the context of the contract is recognized before those immaterial products are transferred to the customer, then the related costs to transfer those products are accrued.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company does not disclose the value of unsatisfied performance obligations for (i) contracts with an original expected length of one year or less and (ii) contracts for which the Company recognizes revenue at the amount to which it has the right to invoice for services performed.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company generally expenses incremental costs of obtaining a contract when incurred because the amortization period would be less than one year. The incremental costs are recorded in operating expense. Incremental costs of obtaining a contract with an amortization period more than one year are not material to the Company.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(x)&#160;&#160;&#160;Shipping and handling costs</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Payments received from customers for shipping and handling costs are included in net revenues. Shipping and handling costs relating to sales of $79,853, $69,855 and $88,079, are included in selling expenses for the years ended December 31, 2017, 2018 and 2019, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(y)&#160;&#160;&#160;&#160;Research and development</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Costs related to the design, development, testing and enhancement of products and silicon reclamation program are included in research and development expenses. Research and development costs are expensed when incurred and amounted to $28,777, $44,193 and $47,045 for the years ended December 31, 2017, 2018 and 2019, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(z)</span><b style="font-weight:bold;">&#160;</b><span style="font-style:italic;font-weight:bold;">Other operating income, net</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Other operating income, net primarily consists of gains or losses on disposal of solar power systems and property, plant and equipment, and government grants received, and compensation from business interruption insurance.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Government grants received by the Company consist of unrestricted and restricted grants and subsidies. Unrestricted grants that allowed the Company&#8217;s full discretion in utilizing the funds are recognized as other operating income upon receipt of cash and when all the conditions for their receipt have been satisfied. Restricted grants related to prepaid land use rights, property, plants and equipment and certain projects, are recorded as deferred subsidies in other non-current liabilities and are amortized on a straight-line basis over the term of related assets.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s other operating income, net:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net gain on disposal of solar power system</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (27,803)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (36,098)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,666)</p></td></tr><tr><td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net loss on disposal of property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,960</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,565</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,227</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Government grants</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (6,473)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (11,013)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (10,097)</p></td></tr><tr><td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Business interruption insurance compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (15,238)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (47,554)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (44,546)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (10,536)</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aa)&#160;Warranty cost</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Before June 2009, the Company typically sold its standard solar modules with a two-year guarantee for defects in materials and workmanship and a 10-year and 25-year warranty against declines of more than 10% and 20%, respectively, from the initial minimum power generation capacity at the time of delivery. In June 2009, the Company increased its guarantee for defects in materials and workmanship to six years. In August 2011, the Company increased its guarantee for defects in materials and workmanship to ten years.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2019, the Company increased its guarantee for defects in materials and workmanship up to twelve years and the Company warrant that, for a period of 25 years, its standard polycrystalline modules will maintain the following performance levels: (i) during the first year, the actual power output of the module will be no less than 97.5% of the labeled power output; (ii) from the second year to the 24th year, the actual annual power output decline of the module will be no more than 0.7%; and (iii) by the end of the 25th year, the actual power output of the module will be no less than 80.7% of the labeled power output.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company has lengthened the warranty against decline in performance for its bifacial module and double glass module products to 30 years.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For solar power projects built by the Company, the Company provides a limited workmanship or balance of system warranty against defects in engineering design, installation and construction under normal use, operation and service conditions for a period of up to ten years following the energizing of the solar power project. In resolving claims under the workmanship or balance of system warranty, the Company has the option of remedying through repair, refurbishment or replacement of equipment. The Company has entered into similar workmanship warranties with its suppliers to back up its&#160;warranties.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company maintains warranty reserves to cover potential liabilities that could arise under these guarantees and warranties. Due to limited warranty claims to date, the Company accrues the estimated costs of warranties based on an assessment of its competitors&#8217; and its own actual claim history, industry-standard accelerated testing, estimates of failure rates from the Company&#8217;s quality review, and other assumptions that the Company believes to be reasonable under the circumstances. Actual warranty costs are accumulated and charged against the accrued warranty liability. To the extent that accrual for warranty costs differs from the estimates, the Company will prospectively revise its accrual rate. The Company currently records a 1% warranty provision against the revenue for sales of solar power&#160;products.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company has entered into agreements with a group of insurance companies with high credit ratings to back up its warranties. Under the terms of the insurance policies, which are designed to match the terms of the Company&#8217;s solar&#160;module product warranty policy, the insurance companies are obliged to reimburse the Company, subject to certain maximum claim limits and certain deductibles, for the actual product warranty costs that the Company incurs under the terms of its solar&#160;module product warranty policy. The Company records the insurance premiums initially as prepaid expenses and amortizes them over the respective policy period of one year. The unamortized carrying amount is $1,286 and $1,486 as of December 31, 2018 and 2019, respectively and was included as a component of prepaid expenses and other current&#160;assets.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The warranty obligations the Company records relate to defects that existed when the product was sold to the customer. The event which the Company is insured against through its insurance policies is the sale of products with these defects. Accordingly, the Company views the insured losses attributable to the shipment of defective products covered under its warranty as analogous to potential claims, or claims that have been incurred as of the product ship date, but not yet reported. The Company expects to recover all or a portion of the cost of its obligations with respect to the defective products through insurance claims. Therefore, the Company&#8217;s accounting policy is to record an asset for the amount determined to be probable of recovery from the insurance claims (not&#160;to exceed the amount of the total losses incurred), consistent with the guidance set forth at ASC&#160;410-30.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company considers the following factors in determining whether an insurance receivable that is probable and recoverability can be reasonably estimated: (i) reputation and credit rating of the insurance company; (ii) comparison of the solar module product warranty policy against the terms of the insurance policies, to ensure valid warranty claims submitted by customers will be covered by the policy and therefore reimbursed by the insurance companies; and (iii) with respect to specific claims submitted, written communications from the insurance company are monitored to ensure the claim has been submitted to the insurance company, and reimbursements are probable to be subsequently collected. The successfully processed claims provide further evidence that the insurance policies are functioning as anticipated.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">To the extent uncertainties regarding the solvency of insurance carriers or the legal sufficiency of insurance claims (including if they became subject to litigation) were to arise, the Company will establish a provision for uncollectible amounts based on the specific facts and circumstances. To date, no provision had been determined to be necessary. In addition, to the extent that accrual for warranty costs differs from the estimates and the Company prospectively changes its accrual rate, this change may result in a change to the amount expected to be recovered from&#160;insurance.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As the warranty obligation and related recovery asset do not meet the criteria for offsetting, the gross amounts are reported in the Company&#8217;s consolidated balance sheets. The asset is expected to be realized over the life of the warranty obligation, which is <span style="-sec-ix-hidden:Hidden_QfSZT8C17EqqpvabdpjiWw"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">25</span></span> or 30 years and is treated as a non-current asset consistent with the underlying warranty obligation. When a specific claim is submitted, and the corresponding insurance proceeds will be collected within twelve months of the balance sheet date, the Company will reclassify that portion of the receivable as being current. The insurance receivable amounts were $75,617 and $79,888 as of December 31, 2018 and 2019, respectively, and were included as a component of other non-current assets.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company made downward adjustments to its accrued warranty costs of $1,446 and other non-current assets of $800, for the year ended December 31, 2019, to reflect the general declining trend of the average selling price of solar modules, which is a primary input into the estimated warranty costs. Accrued warranty costs (net effect of adjustments) of $19,793, $13,188 and $28,044 are included in cost of revenues for the years ended December 31, 2017, 2018 and 2019, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ab)&#160;Foreign currency translation</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The United States dollars (&#8220;U.S. dollars&#8221; or &#8220;$&#8221;), the currency in which a substantial amount of the Company&#8217;s transactions are denominated, is used as the functional and reporting currency of CSI. Monetary assets and liabilities denominated in currencies other than the U.S. dollars are translated into U.S. dollars at the rates of exchange ruling at the balance sheet date. Transactions in currencies other than the U.S. dollars during the year are converted into the U.S. dollars at the applicable rates of exchange prevailing on the transaction date. Transaction gains and losses are recognized in the consolidated statements of operations. Gains and losses on intra-entity foreign currency transactions that are of a long-term-investment nature (that is, settlement is not planned or anticipated in the foreseeable future) between consolidated entities are not recognized in earnings, but are included as a component of other comprehensive income.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The financial records of certain of the Company&#8217;s subsidiaries are maintained in local currencies other than the U.S. dollars, such as Renminbi (&#8220;RMB&#8221;), Euros, Canadian dollars (&#8220;CAD&#8221;), Japanese yen and Brazilian reals (&#8220;BRL&#8221;), which are their functional currencies. Assets and liabilities are translated at the exchange rates at the balance sheet date, equity accounts are translated at historical exchange rates and revenues, expenses, gains and losses are translated using the average rate for the year. Translation adjustments are reported as foreign currency translation adjustment and are shown as a separate component of other comprehensive income in the statements of comprehensive income.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ac)&#160;Comprehensive income</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Comprehensive income includes all changes in equity except those resulting from investments by owners and distributions to owners. For the years presented, total comprehensive income included (i)&#160;net income, (ii)&#160;foreign currency translation adjustments, (iii)&#160;gains and losses on intra-entity foreign currency transactions that are of a long-term-investment nature (that is, settlement is not planned or anticipated in the foreseeable future) between consolidated entities and (iv) the unrealized gains or losses (effective portion) on derivative instruments that qualify for and have been designated as cash flow hedges. </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ad)&#160;Foreign currency risk</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The majority of the Company&#8217;s sales in 2017, 2018 and 2019 were denominated in U.S. dollars, Renminbi and Japanese yen, with the remainder in other currencies such as Euros, Brazilian reals, Australian dollars, Canadian dollars.. The Company&#8217;s Renminbi costs and expenses are primarily related to the sourcing of solar cells, silicon wafers and silicon, other raw materials, including aluminum and silver paste, toll manufacturing fees, labor costs and local overhead expenses within the PRC. From time to time, the Company enters into loan arrangements with commercial banks that are denominated primarily in Renminbi, U.S. dollars and Japanese yen. Most of its cash and cash equivalents and restricted cash are denominated in Renminbi. Fluctuations in exchange rates, particularly between the U.S. dollars, Renminbi, Thailand Baht, British pounds, Canadian dollars, Japanese yen and Euros, may result in foreign exchange gains or losses. Since 2008, the Company has hedged part of its foreign currency exposures against the U.S. dollars using foreign currency forward or option contracts.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ae)&#160;Concentration of credit risk</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Financial instruments that potentially expose the Company to concentrations of credit risk consist primarily of cash and cash equivalents, restricted cash, accounts receivable, advances to suppliers and amounts due from related parties. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">All of the Company's cash and cash equivalents are held with financial institutions that Company management believes to have high credit quality.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company conducts credit evaluations of customers and generally does not require collateral or other security from its customers. The Company establishes an allowance for doubtful accounts primarily based upon the age of the receivables and factors surrounding the credit risk of specific customers. With respect to advances to suppliers, such suppliers are primarily suppliers of raw materials. The Company performs ongoing credit evaluations of its suppliers' financial conditions. The Company generally does not require collateral or security against advances to suppliers, however, it maintains a reserve for potential credit losses and such losses have historically been within management's expectation.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The prepayments made by the Company are unsecured and expose the Company to supplier credit risk. As of December 31, 2018 and 2019, prepayments made to individual suppliers were all less than 10% of total advances to suppliers and the concentration risk is relatively low.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(af)&#160;Fair value of financial instruments</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company applies authoritative guidance for fair value measurements for its financial assets and liabilities. The guidance defines fair value as an exit price representing the amount that would be received upon the sale of an asset or paid to transfer a liability in an orderly transaction between market participants. The guidance also establishes a fair value hierarchy, which prioritized the inputs used in measuring fair value. The standard describes three levels of inputs that may be used to measure fair value:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Level 1</i>&#8212;Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets. The Company&#8217;s restricted cash balance for all periods presented uses level one fair value inputs.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Level 2</i>&#8212;Inputs reflect quoted prices for identical assets or liabilities in markets that are not active; quoted prices for similar assets or liabilities in active markets; inputs other than quoted prices that are observable for the assets or liabilities; or inputs that are derived principally from or corroborated by observable market data by correlation or other means.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Level 3&#8212;</i>Unobservable inputs reflecting the Company&#8217;s own assumptions incorporated in valuation techniques used to determine fair value. These assumptions are required to be consistent with market participant assumptions that are reasonably available.<span style="font-style:italic;font-weight:bold;"> </span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ag)&#160;Derivatives instruments and hedging activity</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company&#8217;s primary objective for holding derivative financial instruments is to manage risks. Depending on the terms of the specific derivative instruments and market conditions, some of the Company&#8217;s derivative instruments may be assets and liabilities at any particular point in time. The recognition of gains or losses resulting from changes in fair value of these derivative instruments is based on the use of each derivative instrument and whether it qualifies for hedge accounting.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company enters into derivatives to hedge its foreign currency risk exposure to losses from price adjustments of electricity and interest rate risk. When the Company determines to designate a derivative instrument as a cash flow hedge, the Company formally documents the hedging relationship and its risk management objective and strategy for undertaking the hedge, the hedging instrument, the hedged item, the nature of the risk being hedged, how the hedging instrument&#8217;s effectiveness in offsetting the hedged risk will be assessed, and a description of the method of measuring ineffectiveness. The Company also formally assesses, both at the hedge&#8217;s inception and on an ongoing basis, whether the derivative that is used in hedging transactions is highly effective in offsetting changes in cash flows of hedged items. The effective portion of gains and losses on derivatives designated as cash flow hedges are initially deferred in other comprehensive income before being recognized in the statements of operations in the same period as the hedged transactions are reflected in earnings. Gains and losses on derivatives that are not designated or fail to qualify as effective hedges are recognized in the statements of operations as incurred.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Fair value of the derivative instruments is determined using pricing models developed based on the underlying price of the hedged items. The values are also adjusted to reflect nonperformance risk of the counterparty and the Company, as necessary. </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ah)&#160;Earnings (loss) per share</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Basic earnings (loss) is computed by dividing income (loss) attributable to holders of common shares by the weighted average number of common shares outstanding during the year. Diluted earnings (loss) per common share reflects the potential dilution that could occur if securities or other contracts to issue common shares were exercised or converted into common shares. Common share equivalents are not included in the calculation of dilutive earnings per share if their effects are anti-dilutive.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ai)&#160;Share-based compensation</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s share-based compensation with employees, such as share options, restricted shares and restricted share units (&#8220;RSUs&#8221;), is measured at the grant date, based on the fair value of the award, and is recognized as compensation expense, net of estimated forfeitures, over the period during which an employee is required to provide service in exchange for the award, which is generally the vesting&#160;period.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aj)&#160;Recently issued accounting pronouncements</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In February 2016, the FASB issued ASU 2016-02, "Leases (Topic 842)", requires the recognition of right-of-use ("ROU") assets and lease liabilities on the balance sheet and changes the pattern of expense recognition in the statement of operations. In July 2018, the FASB issued ASU 2018-11, &#8220;Leases (Topic 842)&#8212;Targeted Improvements&#8221;, which provided an optional transition method to apply the new lease requirements through a cumulative-effect adjustment in the period of adoption.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company adopted the new standard on January 1, 2019 using this optional transition method to all leases existed at the date of initial application. In addition, the Company elected the transition practical referred to as the &#8220;package of three&#8221;, that must be taken together and allows entities to (1) not reassess whether existing contracts contain leases, (2) carryforward the existing lease classification, and (3) not reassess initial direct costs associated with existing leases. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">This adoption primarily affects the Company's leases arrangements previously accounted for under Topic 840. As a result of adoption, the Company recognized right-of-use ("ROU") assets and lease liabilities on the balance sheet for operating leases of $33,829. Upon adoption of ASC 842, the Company elected to use the remaining lease term as of January 1, 2019 in the estimation of the applicable discount rate for leases that were in place at adoption. For the initial measurement of the lease liability for leases commencing after January 1, 2019, the Company use the discount rate as of the commencement date of the lease, incorporating the entire lease term. The treatment of finance leases has no difference with that under Topic 840 and there is no significant impact on results of operations or cash flows.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The reported results for year 2019 reflect the adoption of Topic 842, while the reported results for year 2017 and 2018 were prepared under the previous lease accounting guidance. There is no impact to the beginning balance of retained earnings on January 1, 2019 for this adoption.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In June 2016, the FASB issued ASU 2016-13, &#8220;Financial Instruments&#8212;Credit Losses (Topic 326)&#8221;, which has been subsequently updated by ASU 2019-04, 2019-05, 2019-10, 2019-11 and 2020-03. The amendments change the impairment model for most financial assets, and will require the use of an &#8220;expected loss&#8221; model for instruments measured at amortized cost. Under this model, entities will be required to estimate the lifetime expected credit loss on such instruments and record an allowance to offset the amortized cost basis of the financial asset, resulting in a net presentation of the amount expected to be collected on the financial asset. This pronouncement is effective for fiscal years, and for interim periods within those fiscal years, beginning after December 15, 2019. The Company does not expect a material impact to its consolidated financial statement upon adoption of this ASU.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="white-space:pre-wrap;">In August 2018, the FASB issued ASU 2018-13, &#8220;Fair Value Measurement (Topic 820): Disclosure Framework&#8211;Changes to the Disclosure Requirements for Fair Value&#8221;. ASU 2018-13 removes and modifies existing disclosure requirements on fair value measurement, namely regarding transfers between levels of the fair value hierarchy and the valuation processes for Level 3 fair value measurements. Additionally, ASU 2018-13 adds further disclosure requirements for Level 3 fair value measurements, specifically changes in unrealized gains and losses and other quantitative information. ASU 2018-13 is effective for fiscal years and interim periods within those fiscal years, beginning after December 15, 2019, with early adoption permitted.  The Company does not expect a material impact to its consolidated financial statement upon adoption of this ASU.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In October 2018, the FASB issued ASU 2018-17, &#8220;Consolidation (Topic 810): Targeted Improvements to Related Party Guidance for Variable Interest Entities&#8221;, which expands variable interests to indirect interests held through related parties under common control. ASU 2018-17 is effective for fiscal years and interim periods within those fiscal years, beginning after December 15, 2019, with early adoption permitted. It is required to be applied retrospectively with a cumulative-effect adjustment to retained earnings at the beginning of the earliest period presented. The Company does not expect a material impact to its consolidated financial statement upon adoption of this ASU.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">In December 2019, the FASB issued ASU 2019-12, Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes (&#8220;ASU 2019-12&#8221;), which simplifies income tax accounting in various areas including, but not limited to, the accounting for hybrid tax regimes, tax implications related to business combinations, and interim period accounting for enacted changes in tax law, along with some codification improvements. ASU 2019-12 is effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2020, with early adoption permitted. Certain changes in the standard require retrospective or modified retrospective adoption, while other changes must be adopted prospectively. The Company is currently evaluating ASU 2019-12 and its impact on its consolidated financial statements.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the general note to the financial statements for the reporting entity which may include, descriptions of the basis of presentation, business description, significant accounting policies, consolidations, reclassifications, new pronouncements not yet adopted and changes in accounting principles.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -URI http://asc.fasb.org/topic&amp;trid=2197479<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -URI http://asc.fasb.org/topic&amp;trid=2134479<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -URI http://asc.fasb.org/topic&amp;trid=2122394<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI http://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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>37
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6841740400">
<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, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock', window );">PROPERTY, PLANT AND EQUIPMENT, NET</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">6.&#160;PROPERTY, PLANT AND EQUIPMENT, NET</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Property, plant and equipment, net consist of the following:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Buildings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 441,975</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 453,712</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,058</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,225</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Machinery</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 785,874</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,074,460</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Furniture, fixtures and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,135</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,117</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Motor vehicles</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,351</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Land</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,810</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,451</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,329,952</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,633,316</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accumulated depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (489,927)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (598,297)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Impairment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (30,503)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (45,437)</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Subtotal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 809,522</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 989,582</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Construction in process</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 75,464</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56,453</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Property, plant and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 884,986</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,046,035</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Depreciation expense of property, plant and equipment was $88,931, $120,834 and $148,034 for the years ended December 31, 2017, 2018 and 2019, respectively. Construction in process primarily represents production facilities under construction and the machinery under installation. </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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-lived, physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, accounting policies and methodology, roll forwards, depreciation, depletion and amortization expense, including composite depreciation, accumulated depreciation, depletion and amortization expense, useful lives and method used, income statement disclosures, assets held for sale and public utility disclosures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -URI http://asc.fasb.org/topic&amp;trid=2155823<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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>38
<FILENAME>R74.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6856357408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INTANGIBLE ASSETS, 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, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>INTANGIBLE ASSETS, 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 " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Amount</a></td>
<td class="nump">$ 39,633<span></span>
</td>
<td class="nump">$ 28,251<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(16,842)<span></span>
</td>
<td class="num">(13,348)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Total intangible assets, net</a></td>
<td class="nump">22,791<span></span>
</td>
<td class="nump">14,903<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization expense</a></td>
<td class="nump">5,310<span></span>
</td>
<td class="nump">4,666<span></span>
</td>
<td class="nump">$ 4,659<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract', window );"><strong>Expected amortization expense of intangible assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2020</a></td>
<td class="nump">4,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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2021</a></td>
<td class="nump">3,600<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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2022</a></td>
<td class="nump">3,100<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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">2023</a></td>
<td class="nump">2,500<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="top.Show.showAR( this, 'defref_csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter', window );">2024 and thereafter</a></td>
<td class="nump">9,200<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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Technical know-how</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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>INTANGIBLE ASSETS, 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 " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Amount</a></td>
<td class="nump">1,428<span></span>
</td>
<td class="nump">2,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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(1,425)<span></span>
</td>
<td class="num">(1,458)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Total intangible assets, net</a></td>
<td class="nump">3<span></span>
</td>
<td class="nump">911<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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember', window );">Computer software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>INTANGIBLE ASSETS, 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="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Amount</a></td>
<td class="nump">38,205<span></span>
</td>
<td class="nump">25,882<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(15,417)<span></span>
</td>
<td class="num">(11,890)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Total intangible assets, net</a></td>
<td class="nump">$ 22,788<span></span>
</td>
<td class="nump">$ 13,992<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_csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fifth fiscal year and after that 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fourth 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the third 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract</td>
</tr>
<tr>
<td style="padding-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_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 928<br> -SubTopic 340<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6473545&amp;loc=d3e61844-108004<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R84.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6830999232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LEASE - Cash flow (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2019 </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="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>LEASE</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="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseInterestPaymentOnLiability', window );">Operating cash flows from finance leases</a></td>
<td class="nump">$ 3,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="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasePayments', window );">Operating cash flows from operating leases</a></td>
<td class="nump">15,866<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="top.Show.showAR( this, 'defref_csiq_PaymentsForFinancingCashFlowsFromFinanceLease', window );">Financing cash flows from finance lease</a></td>
<td class="nump">33,614<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Right-of-use assets obtained in exchange of new finance lease liabilities</a></td>
<td class="nump">7,300<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability', window );">Right-of-use assets obtained in exchange of new operating leases</a></td>
<td class="nump">$ 18,222<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_PaymentsForFinancingCashFlowsFromFinanceLease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of finance lease payments during the year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PaymentsForFinancingCashFlowsFromFinanceLease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseInterestPaymentOnLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of interest paid on finance lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918643-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseInterestPaymentOnLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918643-209977<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset obtained in exchange for finance lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=77888399&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=77888399&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R80.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6830440096">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>INVESTMENTS IN AFFILIATES (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</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="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Investments in affiliates</a></td>
<td class="nump">$ 152,828<span></span>
</td>
<td class="nump">$ 126,095<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_ReRoserockHoldingsLlcMember', window );">RE Roserock Holdings LLC ("Roserock")</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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Investments in affiliates</a></td>
<td class="nump">$ 83,034<span></span>
</td>
<td class="nump">$ 62,767<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</a></td>
<td class="nump">49.00%<span></span>
</td>
<td class="nump">49.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="top.Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_CanadianSolarInfrastructureFundIncMember', window );">Canadian Solar Infrastructure Fund, Inc</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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Investments in affiliates</a></td>
<td class="nump">$ 19,162<span></span>
</td>
<td class="nump">$ 23,990<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</a></td>
<td class="nump">14.66%<span></span>
</td>
<td class="nump">14.66%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_SuzhouFinancialLeasingCoLtdMember', window );">Suzhou Financial Leasing 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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Investments in affiliates</a></td>
<td class="nump">$ 16,050<span></span>
</td>
<td class="nump">$ 14,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="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</a></td>
<td class="nump">6.00%<span></span>
</td>
<td class="nump">6.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="top.Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_OtherEquityMethodInvesteesMember', window );">Others</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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Investments in affiliates</a></td>
<td class="nump">$ 34,582<span></span>
</td>
<td class="nump">$ 24,977<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_OtherEquityMethodInvesteesMember', window );">Others | Minimum</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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</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="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</a></td>
<td class="nump">15.00%<span></span>
</td>
<td class="nump">21.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="top.Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_OtherEquityMethodInvesteesMember', window );">Others | Maximum</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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</a></td>
<td class="nump">49.00%<span></span>
</td>
<td class="nump">49.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentOwnershipPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentOwnershipPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_EquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=109237563&amp;loc=d3e33749-111570<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8813-108599<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.12)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ScheduleOfEquityMethodInvestmentsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEquityMethodInvestmentsLineItems</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_ReRoserockHoldingsLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_ReRoserockHoldingsLlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_CanadianSolarInfrastructureFundIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_CanadianSolarInfrastructureFundIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_SuzhouFinancialLeasingCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_SuzhouFinancialLeasingCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_OtherEquityMethodInvesteesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_OtherEquityMethodInvesteesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R70.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6832750240">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVENTORIES (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, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract', window );"><strong>INVENTORIES</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="top.Show.showAR( this, 'defref_us-gaap_InventoryRawMaterialsNetOfReserves', window );">Raw materials</a></td>
<td class="nump">$ 75,722<span></span>
</td>
<td class="nump">$ 47,759<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryWorkInProcessNetOfReserves', window );">Work-in-process</a></td>
<td class="nump">74,105<span></span>
</td>
<td class="nump">46,817<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoodsNetOfReserves', window );">Finished goods</a></td>
<td class="nump">404,243<span></span>
</td>
<td class="nump">167,446<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">554,070<span></span>
</td>
<td class="nump">262,022<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryWriteDown', window );">Inventory written down</a></td>
<td class="nump">$ 19,447<span></span>
</td>
<td class="nump">$ 14,646<span></span>
</td>
<td class="nump">$ 17,820<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=116846819&amp;loc=d3e3927-108312<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_InventoryNetItemsNetOfReserveAlternativeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract</td>
</tr>
<tr>
<td style="padding-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_InventoryRawMaterialsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_us-gaap_InventoryWriteDown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4542-108314<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>42
<FILENAME>R88.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6833503824">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASE - Finance leases - Maturities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract', window );"><strong>Maturities of finance leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2020</a></td>
<td class="nump">$ 27,439<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo', window );">2021</a></td>
<td class="nump">13,087<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree', window );">2022</a></td>
<td class="nump">604<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="nump">$ 41,130<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalLeasesFutureMinimumPaymentsDueAbstract', window );"><strong>Year Ending December 31:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalLeasesFutureMinimumPaymentsDueCurrent', window );">2019</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 40,945<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalLeasesFutureMinimumPaymentsDueInTwoYears', window );">2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">23,483<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalLeasesFutureMinimumPaymentsDueInThreeYears', window );">2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,842<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalLeasesFutureMinimumPaymentsDueInFourYears', window );">2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">556<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalLeasesFutureMinimumPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 76,826<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_CapitalLeasesFutureMinimumPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of minimum lease payments for capital leases.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84164817&amp;loc=d3e45280-112737<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalLeasesFutureMinimumPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CapitalLeasesFutureMinimumPaymentsDueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalLeasesFutureMinimumPaymentsDueAbstract</td>
</tr>
<tr>
<td style="padding-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_CapitalLeasesFutureMinimumPaymentsDueCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of minimum lease payments for capital leases 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84164817&amp;loc=d3e45280-112737<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalLeasesFutureMinimumPaymentsDueCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CapitalLeasesFutureMinimumPaymentsDueInFourYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of minimum lease payments for capital leases due in the fourth 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84164817&amp;loc=d3e45280-112737<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalLeasesFutureMinimumPaymentsDueInFourYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CapitalLeasesFutureMinimumPaymentsDueInThreeYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of minimum lease payments for capital leases due in the third 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84164817&amp;loc=d3e45280-112737<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalLeasesFutureMinimumPaymentsDueInThreeYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CapitalLeasesFutureMinimumPaymentsDueInTwoYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of minimum lease payments for capital leases 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84164817&amp;loc=d3e45280-112737<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalLeasesFutureMinimumPaymentsDueInTwoYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseLiabilitiesPaymentsDueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for finance lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for finance lease, due in next fiscal year following latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for finance lease, due in third fiscal year following latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for finance lease, due in second fiscal year following latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>43
<FILENAME>R78.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6841706368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>FAIR VALUE MEASUREMENT - Carrying value (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, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>FAIR VALUE MEASUREMENT</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="top.Show.showAR( this, 'defref_us-gaap_AssetImpairmentCharges', window );">Impairment charges for property, plant and equipment</a></td>
<td class="nump">$ 21,866<span></span>
</td>
<td class="nump">$ 30,968<span></span>
</td>
<td class="nump">$ 11,626<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermNotesAndLoans', window );">Carrying value of long-term borrowings</a></td>
<td class="nump">619,477<span></span>
</td>
<td class="nump">393,614<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConvertibleLongTermNotesPayable', window );">Convertible notes</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 127,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetImpairmentCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109226348&amp;loc=d3e2420-110228<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetImpairmentCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConvertibleLongTermNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of long-term debt (with maturities initially due after one year or beyond the operating cycle if longer) identified as Convertible Notes Payable, excluding current portion. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConvertibleLongTermNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-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_LongTermNotesAndLoans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of all notes and loans payable (with maturities initially due after one year or beyond the operating cycle if longer), excluding current portion.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermNotesAndLoans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>44
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6854157104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>EARNINGS PER SHARE (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>EARNINGS PER SHARE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Schedule of computation of basic and diluted earnings per share</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:50.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:50.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars,&#160;except&#160;share&#160;and</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:50.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">per&#160;share</b><b style="font-family:'Calibri';font-weight:bold;">&#160;</b><b style="font-weight:bold;">data)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Numerator:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net income attributable to Canadian Solar Inc. &#8212; basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 99,572</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 237,070</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 171,585</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Dilutive effect of interest expense of convertible notes</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,649</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,683</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 975</p></td></tr><tr><td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net income attributable to Canadian Solar Inc. &#8212; diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 104,221</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 241,753</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 172,560</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Denominator:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Denominator for basic calculation &#8212; weighted average number of common shares &#8212; basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,167,004</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,914,540</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,633,855</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Diluted effects of share number from share options and RSUs</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 547,821</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 543,797</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 794,526</p></td></tr><tr><td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Dilutive effects of share number from convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,833,333</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,833,333</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 349,315</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Denominator for diluted calculation &#8212; weighted average number of common shares &#8212; diluted</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 61,548,158</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 62,291,670</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60,777,696</p></td></tr><tr><td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Basic earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.71</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.02</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.88</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Diluted earnings per share</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.69</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.88</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.83</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock', window );">Schedule of anti-dilutive shares excluded from the computation of diluted earnings per share</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:63.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:63.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:63.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Share options and RSUs</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 372,743</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 276,618</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,950</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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>45
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6853650432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 166,555<span></span>
</td>
<td class="nump">$ 242,431<span></span>
</td>
<td class="nump">$ 102,983<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">159,723<span></span>
</td>
<td class="nump">129,256<span></span>
</td>
<td class="nump">99,273<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">Loss on disposal of property, plant and equipment</a></td>
<td class="nump">1,227<span></span>
</td>
<td class="nump">2,565<span></span>
</td>
<td class="nump">13,976<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="top.Show.showAR( this, 'defref_csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments', window );">Gain on disposal of solar power systems</a></td>
<td class="num">(1,666)<span></span>
</td>
<td class="num">(36,098)<span></span>
</td>
<td class="num">(27,803)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal', window );">Gain on disposal of investment in affiliates</a></td>
<td class="num">(1,928)<span></span>
</td>
<td class="num">(47,102)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetImpairmentCharges', window );">Impairment loss of property, plant and equipment</a></td>
<td class="nump">21,866<span></span>
</td>
<td class="nump">30,968<span></span>
</td>
<td class="nump">11,626<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="top.Show.showAR( this, 'defref_csiq_ProjectAssetsImpairmentCharge', window );">Impairment loss of project assets</a></td>
<td class="nump">20,194<span></span>
</td>
<td class="nump">9,016<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="top.Show.showAR( this, 'defref_us-gaap_ImpairmentOfInvestments', window );">Impairment of long-lived assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">5,738<span></span>
</td>
<td class="nump">3,686<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss', window );">Loss on change in fair value of derivatives, net</a></td>
<td class="nump">22,218<span></span>
</td>
<td class="nump">19,230<span></span>
</td>
<td class="nump">272<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromEquityMethodInvestments', window );">Equity in loss of unconsolidated investees</a></td>
<td class="num">(28,948)<span></span>
</td>
<td class="num">(5,908)<span></span>
</td>
<td class="num">(9,411)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Allowance for doubtful accounts</a></td>
<td class="nump">1,250<span></span>
</td>
<td class="nump">2,812<span></span>
</td>
<td class="nump">7,265<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="top.Show.showAR( this, 'defref_csiq_NonCashOperatingLeaseExpenses', window );">Non-cash operating lease expenses</a></td>
<td class="nump">14,318<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="top.Show.showAR( this, 'defref_us-gaap_InventoryWriteDown', window );">Write-down of inventories</a></td>
<td class="nump">19,447<span></span>
</td>
<td class="nump">14,646<span></span>
</td>
<td class="nump">17,820<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Share-based compensation</a></td>
<td class="nump">10,682<span></span>
</td>
<td class="nump">10,258<span></span>
</td>
<td class="nump">9,314<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="top.Show.showAR( this, 'defref_csiq_UnrealizedGainLossFromSalesToInvestees', window );">Unrealized gain (loss) from sales to affiliates</a></td>
<td class="nump">6,194<span></span>
</td>
<td class="num">(13,573)<span></span>
</td>
<td class="nump">13,065<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable trade</a></td>
<td class="nump">51,670<span></span>
</td>
<td class="num">(179,607)<span></span>
</td>
<td class="nump">46,337<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerAsset', window );">Accounts receivable, unbilled</a></td>
<td class="num">(15,268)<span></span>
</td>
<td class="nump">1,158<span></span>
</td>
<td class="nump">2,345<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent', window );">Amounts due from related parties</a></td>
<td class="num">(17,347)<span></span>
</td>
<td class="nump">9,237<span></span>
</td>
<td class="num">(10,089)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="num">(312,781)<span></span>
</td>
<td class="nump">55,408<span></span>
</td>
<td class="num">(49,024)<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="top.Show.showAR( this, 'defref_csiq_IncreaseDecreaseInValueAddedTaxReceivable', window );">Value added tax recoverable</a></td>
<td class="num">(849)<span></span>
</td>
<td class="num">(9,206)<span></span>
</td>
<td class="num">(38,190)<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="top.Show.showAR( this, 'defref_csiq_IncreaseDecreaseInAdvanceToSuppliers', window );">Advances to suppliers</a></td>
<td class="num">(27,066)<span></span>
</td>
<td class="nump">29,001<span></span>
</td>
<td class="num">(15,990)<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="top.Show.showAR( this, 'defref_csiq_IncreaseDecreaseInProjectAssets', window );">Project assets</a></td>
<td class="nump">28,527<span></span>
</td>
<td class="num">(30,501)<span></span>
</td>
<td class="num">(128,982)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">33,283<span></span>
</td>
<td class="num">(2,208)<span></span>
</td>
<td class="num">(49,813)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets', window );">Other non-current assets</a></td>
<td class="num">(24,037)<span></span>
</td>
<td class="nump">9,387<span></span>
</td>
<td class="num">(23,795)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayableTrade', window );">Accounts payable</a></td>
<td class="nump">209,175<span></span>
</td>
<td class="nump">47,756<span></span>
</td>
<td class="num">(27,758)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInNotesPayableCurrent', window );">Short-term notes payable</a></td>
<td class="nump">185,827<span></span>
</td>
<td class="num">(173,148)<span></span>
</td>
<td class="nump">243,685<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent', window );">Amounts due to related parties</a></td>
<td class="num">(5,798)<span></span>
</td>
<td class="nump">10,467<span></span>
</td>
<td class="nump">33,908<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherAccountsPayable', window );">Other payables</a></td>
<td class="nump">42,810<span></span>
</td>
<td class="nump">39,791<span></span>
</td>
<td class="num">(5,889)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability', window );">Advances from customers</a></td>
<td class="nump">96,115<span></span>
</td>
<td class="num">(11,225)<span></span>
</td>
<td class="num">(44,985)<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="top.Show.showAR( this, 'defref_csiq_IncreaseDecreaseInOperatingLeaseLiabilities', window );">Operating lease liabilities</a></td>
<td class="num">(12,566)<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="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities', window );">Other liabilities</a></td>
<td class="num">(10,851)<span></span>
</td>
<td class="num">(29,691)<span></span>
</td>
<td class="num">(18,774)<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="top.Show.showAR( this, 'defref_csiq_IncreaseDecreaseInProductWarrantyAccrual', window );">Accrued warranty costs</a></td>
<td class="nump">4,624<span></span>
</td>
<td class="num">(3,563)<span></span>
</td>
<td class="num">(6,726)<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="top.Show.showAR( this, 'defref_csiq_IncreaseDecreaseInPrepaidLandUseRight', window );">Prepaid land use rights</a></td>
<td class="nump">2,622<span></span>
</td>
<td class="nump">6,557<span></span>
</td>
<td class="num">(30,087)<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="top.Show.showAR( this, 'defref_csiq_IncreaseDecreaseInGoodwill', window );">Goodwill</a></td>
<td class="nump">1,005<span></span>
</td>
<td class="nump">5,243<span></span>
</td>
<td class="nump">1,369<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="top.Show.showAR( this, 'defref_csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes', window );">Liability for uncertain tax positions</a></td>
<td class="num">(4,775)<span></span>
</td>
<td class="nump">10,863<span></span>
</td>
<td class="nump">833<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes', window );">Deferred taxes</a></td>
<td class="num">(12,455)<span></span>
</td>
<td class="nump">37,591<span></span>
</td>
<td class="nump">84,939<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfDerivatives', window );">Net settlement of derivatives</a></td>
<td class="num">(27,012)<span></span>
</td>
<td class="nump">28,731<span></span>
</td>
<td class="num">(1,460)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherOperatingActivitiesCashFlowStatement', window );">Loss contingency accruals</a></td>
<td class="nump">4,126<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by (used in) operating activities</a></td>
<td class="nump">600,111<span></span>
</td>
<td class="nump">216,280<span></span>
</td>
<td class="nump">203,920<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireEquityMethodInvestments', window );">Investments in affiliates</a></td>
<td class="num">(7,684)<span></span>
</td>
<td class="num">(11,036)<span></span>
</td>
<td class="num">(92,925)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital', window );">Return of investment from affiliates</a></td>
<td class="nump">3,012<span></span>
</td>
<td class="nump">816<span></span>
</td>
<td class="nump">4,233<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfEquityMethodInvestments', window );">Proceeds from disposal of investment in affiliates</a></td>
<td class="nump">1,649<span></span>
</td>
<td class="nump">337,773<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="top.Show.showAR( this, 'defref_csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets', window );">Purchase of property, plant and equipment and intangible assets</a></td>
<td class="num">(291,182)<span></span>
</td>
<td class="num">(316,282)<span></span>
</td>
<td class="num">(276,978)<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="top.Show.showAR( this, 'defref_csiq_PaymentsToAcquireSolarPowerSystems', window );">Purchase of solar power systems</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(33,697)<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="top.Show.showAR( this, 'defref_csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems', window );">Proceeds from disposal of solar power systems</a></td>
<td class="nump">103<span></span>
</td>
<td class="nump">17,800<span></span>
</td>
<td class="nump">128,768<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromInsuranceSettlementInvestingActivities', window );">Proceeds from insurance claim</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">43,930<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries', window );">Acquisition of subsidiaries, net of cash paid</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(12,561)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash provided by (used in) investing activities</a></td>
<td class="num">(294,102)<span></span>
</td>
<td class="nump">29,071<span></span>
</td>
<td class="num">(239,230)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromNotesPayable', window );">Proceeds from short-term borrowings</a></td>
<td class="nump">1,257,009<span></span>
</td>
<td class="nump">1,430,708<span></span>
</td>
<td class="nump">1,646,910<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfNotesPayable', window );">Repayment of short-term borrowings</a></td>
<td class="num">(1,649,721)<span></span>
</td>
<td class="num">(2,368,967)<span></span>
</td>
<td class="num">(2,068,069)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfLongTermDebt', window );">Proceeds from long-term borrowings</a></td>
<td class="nump">530,990<span></span>
</td>
<td class="nump">382,831<span></span>
</td>
<td class="nump">690,841<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToMinorityShareholders', window );">Acquisition of non-controlling interest</a></td>
<td class="num">(14,176)<span></span>
</td>
<td class="num">(6,591)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromMinorityShareholders', window );">Proceeds from non-controlling interests</a></td>
<td class="nump">11,488<span></span>
</td>
<td class="nump">10,470<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="top.Show.showAR( this, 'defref_csiq_ProceedsFromThirdPartyFinancingLiabilities', window );">Proceeds from third party financing liabilities</a></td>
<td class="nump">3,000<span></span>
</td>
<td class="nump">119,095<span></span>
</td>
<td class="nump">12,243<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SaleLeasebackTransactionNetProceedsFinancingActivities', window );">Proceeds from sales-leaseback arrangement</a></td>
<td class="nump">9,044<span></span>
</td>
<td class="nump">35,944<span></span>
</td>
<td class="nump">61,142<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="top.Show.showAR( this, 'defref_csiq_PaymentsOfDistributionsToTaxEquityInvestors', window );">Distributions to tax equity investors</a></td>
<td class="num">(1,120)<span></span>
</td>
<td class="num">(3,013)<span></span>
</td>
<td class="num">(9,582)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeasePrincipalPayments', window );">Repayment of finance lease obligation</a></td>
<td class="num">(42,658)<span></span>
</td>
<td class="num">(64,859)<span></span>
</td>
<td class="num">(30,128)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfCommercialPaper', window );">Repayment of short-term commercial paper</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(138,953)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfConvertibleDebt', window );">Payments for repurchase of convertible notes</a></td>
<td class="num">(127,500)<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="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from exercise of stock options</a></td>
<td class="nump">875<span></span>
</td>
<td class="nump">769<span></span>
</td>
<td class="nump">879<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfOtherEquity', window );">Payments for repurchase of treasury stock</a></td>
<td class="num">(11,845)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by (used in) financing activities</a></td>
<td class="num">(34,614)<span></span>
</td>
<td class="num">(463,613)<span></span>
</td>
<td class="nump">165,283<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Effect of exchange rate changes</a></td>
<td class="num">(6,965)<span></span>
</td>
<td class="num">(38,725)<span></span>
</td>
<td class="nump">51,342<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase (decrease) in cash, cash equivalents and restricted cash</a></td>
<td class="nump">264,430<span></span>
</td>
<td class="num">(256,987)<span></span>
</td>
<td class="nump">181,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="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents and restricted cash at the beginning of the year</a></td>
<td class="nump">940,990<span></span>
</td>
<td class="nump">1,190,134<span></span>
</td>
<td class="nump">1,007,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="top.Show.showAR( this, 'defref_csiq_NetIncreaseDecreaseCashAndCashEquivalentsAssetsHeldForSale', window );">Less: net decrease in cash, cash equivalents and restricted cash classified within assets held-for-sale</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(7,843)<span></span>
</td>
<td class="num">(1,119)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents and restricted cash at the end of the year</a></td>
<td class="nump">1,205,420<span></span>
</td>
<td class="nump">940,990<span></span>
</td>
<td class="nump">1,190,134<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Interest paid (net of amounts capitalized)</a></td>
<td class="nump">85,362<span></span>
</td>
<td class="nump">103,236<span></span>
</td>
<td class="nump">113,513<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Income taxes paid</a></td>
<td class="nump">40,454<span></span>
</td>
<td class="nump">32,135<span></span>
</td>
<td class="nump">45,483<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract', window );"><strong>Supplemental schedule of non-cash 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>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_SolarPowerSystemsReclassifiedToProjectAssets', window );">Reclassification of solar power systems to project assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,782<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalExpendituresIncurredButNotYetPaid', window );">Property, plant and equipment costs included in other payables</a></td>
<td class="nump">$ 244,483<span></span>
</td>
<td class="nump">$ 228,970<span></span>
</td>
<td class="nump">$ 153,017<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of solar power systems and other investments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_IncreaseDecreaseInAdvanceToSuppliers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in advances to suppliers.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncreaseDecreaseInAdvanceToSuppliers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_IncreaseDecreaseInGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in goodwill.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncreaseDecreaseInGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the amount of uncertainty liability in income taxes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_IncreaseDecreaseInOperatingLeaseLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of increase (decrease) in operating lease liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncreaseDecreaseInOperatingLeaseLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_IncreaseDecreaseInPrepaidLandUseRight">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the amount of outstanding money paid in advance for land use right that bring economic benefits for future periods.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncreaseDecreaseInPrepaidLandUseRight</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_IncreaseDecreaseInProductWarrantyAccrual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the amount of obligations for estimated claims under standard and extended warranty protection rights granted to customers.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncreaseDecreaseInProductWarrantyAccrual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_IncreaseDecreaseInProjectAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period of the amount of cost of uncompleted contracts in excess of related billings, or unbilled accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncreaseDecreaseInProjectAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_IncreaseDecreaseInValueAddedTaxReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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 value added taxes due either from customers arising from sales on credit terms, or as previously overpaid to tax authorities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncreaseDecreaseInValueAddedTaxReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_NetIncreaseDecreaseCashAndCashEquivalentsAssetsHeldForSale">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net increase (decrease) in cash and cash equivalents classified within assets held-for-sale.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_NetIncreaseDecreaseCashAndCashEquivalentsAssetsHeldForSale</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_NonCashOperatingLeaseExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of non-cash operating lease expenses.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_NonCashOperatingLeaseExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_PaymentsOfDistributionsToTaxEquityInvestors">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow in the form of distributions provided to tax equity investors.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PaymentsOfDistributionsToTaxEquityInvestors</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets and Intangible 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_PaymentsToAcquireSolarPowerSystems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of solar power systems that are used in the normal conduct of business to produce solar power.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PaymentsToAcquireSolarPowerSystems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>It represents the proceeds from the sale or disposal of solar power systems.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProceedsFromThirdPartyFinancingLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from financing liabilities of third parties.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProceedsFromThirdPartyFinancingLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProjectAssetsImpairmentCharge">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the impairment charges and write-off for investments in solar power projects.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsImpairmentCharge</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_SolarPowerSystemsReclassifiedToProjectAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of solar power systems reclassified to project assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SolarPowerSystemsReclassifiedToProjectAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_UnrealizedGainLossFromSalesToInvestees">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents amount of unrealized gain, (loss) from sales to investees.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_UnrealizedGainLossFromSalesToInvestees</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-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_AssetImpairmentCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109226348&amp;loc=d3e2420-110228<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetImpairmentCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalExpendituresIncurredButNotYetPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Future cash outflow to pay for purchases of fixed assets that have occurred.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=d3e4332-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=d3e4313-108586<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=d3e4304-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalExpendituresIncurredButNotYetPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=98513438&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=98513438&amp;loc=d3e33268-110906<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_EquityMethodInvestmentRealizedGainLossOnDisposal">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of an equity method investment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(7)(c))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(9)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of unrealized gain (loss) recognized in income for derivative asset (liability) after deduction of derivative liability (asset), measured at fair value using unobservable input (level 3) and still held.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=117815213&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeasePrincipalPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for principal payment on finance lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918643-209977<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeasePrincipalPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfDerivatives">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The difference between the book value and the sale price of options, swaps, futures, forward contracts, and other derivative instruments. This element refers to the gain (loss) included in earnings.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.13(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfDerivatives</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GainLossOnSaleOfPropertyPlantEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOfInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount by which the fair value of an investment is less than the amortized cost basis or carrying amount of that investment at the balance sheet date and the decline in fair value is deemed to be other than temporary, before considering whether or not such amount is recognized in earnings or other comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8A<br> -URI http://asc.fasb.org/extlink&amp;oid=118954083&amp;loc=SL6284422-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) for proportionate share of equity method investee's income (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(12))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(13)(f))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=109237563&amp;loc=d3e33749-111570<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=d3e4297-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_IncreaseDecreaseInAccountsPayableTrade">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Change in recurring obligations of a business that arise from the acquisition of merchandise, materials, supplies and services used in the production and sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayableTrade</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_IncreaseDecreaseInContractWithCustomerAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_IncreaseDecreaseInDueFromRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate increase (decrease) during the reporting period in the amount due from the following types of related parties: a parent company and its subsidiaries; subsidiaries of a common parent; an entity and trust for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; an entity and its principal owners, management, or member of their immediate families, affiliates, or other parties with the ability to exert significant influence.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInDueToRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of obligations to be paid to the following types of related parties: a parent company and its subsidiaries; subsidiaries of a common parent; an entity and trust for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entities' management; an entity and its principal owners, management, or member of their immediate families, affiliates, or other parties with the ability to exert significant influence.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_IncreaseDecreaseInNotesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in current portion (due within one year or one business cycle) of obligations evidenced by formal promissory notes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInNotesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_IncreaseDecreaseInOtherAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligations classified as other, payable within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInOtherNoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherNoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInOtherOperatingLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=d3e4297-108586<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3367-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_InventoryWriteDown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4542-108314<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncashInvestingAndFinancingItemsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherOperatingActivitiesCashFlowStatement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Other cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example,  cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other liabilities).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherOperatingActivitiesCashFlowStatement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PaymentsForRepurchaseOfOtherEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to reacquire equity classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfOtherEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PaymentsToAcquireAdditionalInterestInSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the purchase of noncontrolling interest during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PaymentsToAcquireEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the purchase of or advances to an equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PaymentsToMinorityShareholders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to a noncontrolling interest. Includes, but not limited to, reduction of noncontrolling interest ownership. Excludes dividends paid to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToMinorityShareholders</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of distribution received from equity method investee for return of investment, classified as investing activities. Excludes distribution for return on investment, classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 21D<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=SL94080555-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProceedsFromInsuranceSettlementInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow for proceeds from settlement of insurance claim, classified as investing activities. Excludes insurance settlement classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 21B<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=SL94080549-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromInsuranceSettlementInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProceedsFromIssuanceOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProceedsFromMinorityShareholders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from a noncontrolling interest. Includes, but is not limited to, purchase of additional shares or other increase in noncontrolling interest ownership.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromMinorityShareholders</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProceedsFromNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from a borrowing supported by a written promise to pay an obligation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProceedsFromSaleOfEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the sale of equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=SL79508275-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4591551-111686<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3000-108585<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569616-111683<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4591552-111686<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=119407570&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfCommercialPaper">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow due to repaying amounts borrowed by issuing commercial paper.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfCommercialPaper</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RepaymentsOfConvertibleDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow from the repayment of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfConvertibleDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RepaymentsOfNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for a borrowing supported by a written promise to pay an obligation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_SaleLeasebackTransactionNetProceedsFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow after closing and debt issuance costs received by a seller-lessee in a sale-leaseback recognized in financing activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 40<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=82846721&amp;loc=d3e51843-112757<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 40<br> -Section 55<br> -Paragraph 50<br> -URI http://asc.fasb.org/extlink&amp;oid=82846721&amp;loc=d3e51831-112757<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 40<br> -Section 55<br> -Paragraph 51<br> -URI http://asc.fasb.org/extlink&amp;oid=82846721&amp;loc=d3e51840-112757<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleLeasebackTransactionNetProceedsFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6841847264">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SHARE-BASED COMPENSATION (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>SHARE-BASED COMPENSATION</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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock', window );">Schedule of the RSU activity</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b><b style="font-family:'Calibri';font-weight:bold;">&#160;</b><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant-Date</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Unvested at January&#160;1, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,781,271</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14.18</p></td></tr><tr><td style="vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 706,637</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18.05</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Vested</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (696,853)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.40</p></td></tr><tr><td style="vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (131,288)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.01</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Unvested at December&#160;31, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,659,767</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.26</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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>47
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6853240656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF OPERATIONS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_SalesRevenueAbstract', window );"><strong>Net revenues:</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="top.Show.showAR( this, 'defref_csiq_RevenueFromNonrelatedParties', window );">-Non-related parties</a></td>
<td class="nump">$ 3,101,113<span></span>
</td>
<td class="nump">$ 3,624,687<span></span>
</td>
<td class="nump">$ 3,221,928<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromRelatedParties', window );">-Related parties</a></td>
<td class="nump">99,470<span></span>
</td>
<td class="nump">119,825<span></span>
</td>
<td class="nump">168,465<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Total net revenues</a></td>
<td class="nump">3,200,583<span></span>
</td>
<td class="nump">3,744,512<span></span>
</td>
<td class="nump">3,390,393<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSoldAbstract', window );"><strong>Cost of revenues:</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="top.Show.showAR( this, 'defref_csiq_CostOfGoodsAndServicesSoldNonrelatedParties', window );">-Non-related parties</a></td>
<td class="nump">2,424,476<span></span>
</td>
<td class="nump">2,894,611<span></span>
</td>
<td class="nump">2,641,583<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartiesAmountInCostOfSales', window );">-Related parties</a></td>
<td class="nump">57,610<span></span>
</td>
<td class="nump">74,819<span></span>
</td>
<td class="nump">111,212<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Total cost of revenues</a></td>
<td class="nump">2,482,086<span></span>
</td>
<td class="nump">2,969,430<span></span>
</td>
<td class="nump">2,752,795<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">718,497<span></span>
</td>
<td class="nump">775,082<span></span>
</td>
<td class="nump">637,598<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SellingExpense', window );">Selling expenses</a></td>
<td class="nump">180,326<span></span>
</td>
<td class="nump">165,402<span></span>
</td>
<td class="nump">156,032<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative expenses</a></td>
<td class="nump">242,783<span></span>
</td>
<td class="nump">245,376<span></span>
</td>
<td class="nump">230,998<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development expenses</a></td>
<td class="nump">47,045<span></span>
</td>
<td class="nump">44,193<span></span>
</td>
<td class="nump">28,777<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherOperatingIncomeExpenseNet', window );">Other operating income, net</a></td>
<td class="num">(10,536)<span></span>
</td>
<td class="num">(44,546)<span></span>
</td>
<td class="num">(47,554)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Total operating expenses, net</a></td>
<td class="nump">459,618<span></span>
</td>
<td class="nump">410,425<span></span>
</td>
<td class="nump">368,253<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="nump">258,879<span></span>
</td>
<td class="nump">364,657<span></span>
</td>
<td class="nump">269,345<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpenseAbstract', window );"><strong>Other income (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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</a></td>
<td class="num">(81,326)<span></span>
</td>
<td class="num">(106,032)<span></span>
</td>
<td class="num">(117,971)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InvestmentIncomeInterest', window );">Interest income</a></td>
<td class="nump">12,039<span></span>
</td>
<td class="nump">11,207<span></span>
</td>
<td class="nump">10,477<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss', window );">Loss on change in fair value of derivatives, net</a></td>
<td class="num">(22,218)<span></span>
</td>
<td class="num">(19,230)<span></span>
</td>
<td class="num">(272)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax', window );">Foreign exchange gain (loss)</a></td>
<td class="nump">10,370<span></span>
</td>
<td class="nump">6,529<span></span>
</td>
<td class="num">(23,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="top.Show.showAR( this, 'defref_us-gaap_GainLossOnInvestments', window );">Investment income (loss)</a></td>
<td class="nump">1,929<span></span>
</td>
<td class="nump">41,361<span></span>
</td>
<td class="num">(3,607)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Other expenses, net</a></td>
<td class="num">(79,206)<span></span>
</td>
<td class="num">(66,165)<span></span>
</td>
<td class="num">(134,822)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments', window );">Income before income taxes and equity in earnings of unconsolidated investees</a></td>
<td class="nump">179,673<span></span>
</td>
<td class="nump">298,492<span></span>
</td>
<td class="nump">134,523<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense</a></td>
<td class="num">(42,066)<span></span>
</td>
<td class="num">(61,969)<span></span>
</td>
<td class="num">(40,951)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromEquityMethodInvestments', window );">Equity in earnings (loss) of unconsolidated investees</a></td>
<td class="nump">28,948<span></span>
</td>
<td class="nump">5,908<span></span>
</td>
<td class="nump">9,411<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">166,555<span></span>
</td>
<td class="nump">242,431<span></span>
</td>
<td class="nump">102,983<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest', window );">Less: net income (loss) attributable to non-controlling interests</a></td>
<td class="num">(5,030)<span></span>
</td>
<td class="nump">5,361<span></span>
</td>
<td class="nump">3,411<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic', window );">Net income attributable to Canadian Solar Inc.</a></td>
<td class="nump">$ 171,585<span></span>
</td>
<td class="nump">$ 237,070<span></span>
</td>
<td class="nump">$ 99,572<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Earnings per share - basic</a></td>
<td class="nump">$ 2.88<span></span>
</td>
<td class="nump">$ 4.02<span></span>
</td>
<td class="nump">$ 1.71<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Shares used in computation - basic</a></td>
<td class="nump">59,633,855<span></span>
</td>
<td class="nump">58,914,540<span></span>
</td>
<td class="nump">58,167,004<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Earnings per share - diluted</a></td>
<td class="nump">$ 2.83<span></span>
</td>
<td class="nump">$ 3.88<span></span>
</td>
<td class="nump">$ 1.69<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Shares used in computation - diluted</a></td>
<td class="nump">60,777,696<span></span>
</td>
<td class="nump">62,291,670<span></span>
</td>
<td class="nump">61,548,158<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_CostOfGoodsAndServicesSoldNonrelatedParties">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold to non-related parties by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_CostOfGoodsAndServicesSoldNonrelatedParties</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_RevenueFromNonrelatedParties">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total revenue from sale of goods and services rendered excluding revenues arising from transactions between (a) a parent company and its subsidiaries; (b) subsidiaries of a common parent; (c) an entity and trusts for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's' management; (d) an entity and its principal, owners, management, or members of their immediate families; and (e) affiliates, during the reporting period, in the normal course of business, reduced by sales returns and allowances, and sales discounts.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_RevenueFromNonrelatedParties</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_SalesRevenueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>n/a</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SalesRevenueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSoldAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSoldAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1337-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=117327953&amp;loc=d3e4984-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1252-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=SL5780133-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=117327953&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1252-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1337-109256<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>num: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_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of unrealized gain (loss) recognized in income for derivative asset (liability) after deduction of derivative liability (asset), measured at fair value using unobservable input (level 3) and still held.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=117815213&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6450222&amp;loc=d3e30840-110895<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109240200&amp;loc=d3e30700-110894<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=109240200&amp;loc=d3e30690-110894<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionGainLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of realized and unrealized gain (loss) on investment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=118939692&amp;loc=d3e27405-111563<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(c),9(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 3: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h)(1)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) for proportionate share of equity method investee's income (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(12))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(13)(f))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=109237563&amp;loc=d3e33749-111570<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109238882&amp;loc=d3e38679-109324<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=114775744&amp;loc=d3e28555-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentIncomeInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentIncomeInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of Net Income (Loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4591551-111686<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_NetIncomeLossAvailableToCommonStockholdersBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1377-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_OtherOperatingIncomeExpenseNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net amount of other operating income and expenses, the components of which are not separately disclosed on the income statement, from items that are associated with the entity's normal revenue producing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherOperatingIncomeExpenseNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4591551-111686<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3000-108585<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569616-111683<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4591552-111686<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_RelatedPartiesAmountInCostOfSales">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount included in cost of sales related to transactions with related parties incurred and recorded in the statement of operations for the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartiesAmountInCostOfSales</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130545-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130543-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromRelatedParties">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue, fees and commissions earned from transactions between (a) a parent company and its subsidiaries; (b) subsidiaries of a common parent; (c) an entity and trusts for the benefit of employees, for example, but not limited to, pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; (d) an entity and its principal, owners, management, or members of their immediate families; and (e) affiliates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07.1(c))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637345&amp;loc=SL114874292-224272<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1(e))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromRelatedParties</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_SellingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Expenses recognized in the period that are directly related to the selling and distribution of products or services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1448-109256<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6856320864">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Appendix 1 - Major Subsidiaries of CSI<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_MajorSubsidiariesDisclosuresAbstract', window );"><strong>Appendix 1 - Major Subsidiaries of CSI</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="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock', window );">APPENDIX 1 - Major Subsidiaries of CSI</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Appendix 1</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Major Subsidiaries of CSI </b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table sets forth information concerning CSI&#8217;s major subsidiaries: </p><p style="font-family:'Times New Roman';font-size:12pt;text-indent:18pt;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:31.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Place&#160;and</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Attributable</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Equity</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:45.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"><b style="font-weight:bold;">Subsidiary </b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">of&#160;Incorporation</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Interest&#160;Held</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Principal&#160;Activity</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">CSI Solartronics (Changshu)&#160;Co.,&#160;Ltd.&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Developing solar power project</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">November&#160;23, 2001</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">CSI Solar Technologies&#160;Inc.&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Sales and marketing of solar products</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">August&#160;8, 2003</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">CSI New Energy Holding Co., Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Investment holding</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">January&#160;7, 2005</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Manufacturing (Luoyang)&#160;Inc.&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Manufacture of solar modules,</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">February&#160;24, 2006</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">ingots and wafers</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Manufacturing (Changshu)&#160;Inc.&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Production of solar modules</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">August&#160;1, 2006</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">CSI Cells&#160;Co.,&#160;Ltd.&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Manufacture of solar cells</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">August&#160;23, 2006</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar (USA)&#160;Inc.&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">USA</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">June&#160;8, 2007</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Japan K.K.&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Japan</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">June&#160;21, 2009</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Solutions&#160;Inc.&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canada</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Developing solar power project and manufacture of solar modules</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">June&#160;22, 2009</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">CSI Solar Power Group Co., Ltd. (formerly named/known as "CSI Solar Power (China)&#160;Inc.")&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Investment holding and trading</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">July&#160;7, 2009</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar EMEA&#160;GmbH</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Germany</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">August&#160;21, 2009</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar (Australia) Pty&#160;Limited</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Australia</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Developing solar power project</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">February&#160;3, 2011</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar International Limited</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Hong Kong</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">March&#160;25, 2011</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar O and M (Ontario)&#160;Inc.&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canada</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Solar farm operating and maintenance service</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">May&#160;10, 2011</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Suzhou Sanysolar Materials Technology&#160;Co.,&#160;Ltd.&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 99.73</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Production of solar module materials</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">August&#160;17, 2011</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar South East Asia Pte. Ltd.&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Singapore</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">September&#160;19, 2011</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar South Africa (Pty)&#160;Ltd</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">South Africa</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">June&#160;22, 2012</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd.</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Brazil</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Sales and marketing of solar modules, and provide solar energy solution to customer</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">November&#160;14, 2012</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Construction (USA) LLC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">USA</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Solar farm operating and maintenance service </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">May 20, 2014</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Projects K.K.</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Japan</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Developing solar power project</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">May 20, 2014</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">CSI&amp;GCL Solar Manufacturing (Yan Cheng) Inc.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"><span style="white-space:pre-wrap;">Research and developing,  manufacture and sales of solar cells, and solar power projects development </span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">May 29, 2014</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar UK Ltd.</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">United Kingdom </p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">May 29, 2014</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar UK Projects Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">United Kingdom</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Developing solar power project</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">August 29, 2014</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Changshu Tegu New Material Technology Co., Ltd.</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">EVA solar packaging film research and development, production, and sales</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">September 2, 2014</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Changshu Tlian Co., Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Junction box and connector research, development, production and sales</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">December 26, 2014</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Recurrent Energy Group Inc.</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">USA</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Developing solar power project</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">January 22, 2015</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Recurrent Energy, LLC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">USA</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Developing solar power project</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">March 31, 2015</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PT. Canadian Solar Indonesia</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Indonesia</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 67</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Production of solar modules</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">February 26, 2015</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Manufacturing Vietnam Co., Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Vietnam</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Production of solar modules</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">June 25, 2015</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Energy Private Limited</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">India</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">May 06, 2015</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar MSS (Australia) Pty Ltd (formerly named/known as &#8220;Canadian Solar Australia 1 Pty Ltd. ")</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Australia</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">August 03, 2015</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Energy Holding Company Limited</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Hong Kong </p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Project investment, financing, trading of solar modules</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">September 22, 2015</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Energy Singapore Pte. Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Singapore</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Development &amp; Ownership of solar PV projects</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">October 29, 2015</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Manufacturing (Thailand) Co.,Ltd.</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Thailand</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 99.99992</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Cells and module production</p></td></tr></table><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">November 20, 2015</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Sunenergy (Suzhou) Co., Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Production of solar modules</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">May 12, 2016</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Sunenergy (Baotou) Co., Ltd.</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Production of solar modules, ingots and wafers</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">August 18, 2016</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Middle East DMCC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">United Arab Emirates</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Sales and marketing of modules</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">March 28, 2017</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">CSI Investment Management (SuZhou) Co., Ltd.</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;">100</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Investment management &amp; assets management</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">May 05, 2017</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Suzhou Gaochuangte New Energy Development Co., Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 90</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Design, engineering construction and management of solar power project</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">June 12, 2017</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">CSI Cells (Yancheng) Co., Ltd. </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Production of solar cells</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">May 18, 2017</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">CSI Modules (DaFeng) Co., Ltd. </p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">**</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Production of solar modules</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">May 16, 2017</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Construction (Australia) Pty Ltd</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Australia</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Providing engineering, procurement and construction service</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">July&#160;04, 2017</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">CSUK Energy Systems Construction and Generation JSC</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Turkey</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Construction of power plants generating electricity by utilizing renewable energy sources</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">October 30, 2017</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">CSI Modules (JiaXing) Co., Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Production of solar modules</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">November 3, 2017</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">CSI Wafer (LuoYang) Co., Ltd.</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Production of solar cells and wafers</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">November 27, 2017</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Manufacturing Taiwan Co., Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Production of solar modules</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">December&#160;05, 2017</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Argentina Investment Holding Ltd.</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Argentina</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Developing solar power project</p></td></tr><tr><td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">January 23, 2018</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Changsu Xingu Photovoltaic Material Technology Co., Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">EVA solar packaging film research and development, production and sales</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">March 19, 2018</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar New Energy Holding Company Limited</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Hong Kong</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Project investment, financing, trading of solar modules.</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">March 20, 2019</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar Energy Holding Singapore Pte. Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Singapore</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Development &amp; Ownership of Solar PV Projects</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">April 22, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar SSES (Canada) Inc.</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canada</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%</p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">System Solution and Energy Storage</p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Nov 27, 2019</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">Canadian Solar SSES (UK) Ltd</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">United Kingdom</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">IP holding</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;">December&#160;18, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p></td></tr></table><div style="font-family:'Times New Roman';font-size:7.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;">*<span style="font-family:'Calibri';">&#160;&#160;&#160;&#160;&#160;&#160;</span>CSI Cells Co., Ltd. holds 52% equity rights of CSI Cells (Yancheng) Co., Ltd., a limited partnership fund, of which CSI Cells Co., Ltd. holds 37.33% shares as a limited partner and a wholly-owned subsidiary of CSI Solar Power Group Co., Ltd. holds 0.17% shares as a general partner, holds 48% equity rights of CSI Cells (Yancheng) Co., Ltd.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 0pt;">**<span style="font-family:'Calibri';">&#160;&#160;&#160;&#160;</span>Canadian Solar Manufacturing (Changshu) Inc. holds 3.12% equity rights of CSI Modules (DaFeng) Co., Ltd.,a limited partnership fund, of which Canadian Solar Manufacturing (Changshu) Inc. holds 20% shares as a limited partner and a wholly-owned subsidiary of CSI Solar Power Group Co., Ltd. holds 0.067% shares as a general partner, holds 96.88% equity rights of CSI Modules (DaFeng) Co., Ltd.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_MajorSubsidiariesDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_MajorSubsidiariesDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the information summarizing investments in and advances to majority-owned subsidiaries, other controlled companies, and other affiliates. It reflects specified information about ownership, financial results from, and financial position in such entities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 946<br> -SubTopic 320<br> -URI http://asc.fasb.org/subtopic&amp;trid=2324412<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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>49
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6841878128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>EMPLOYEE BENEFIT PLANS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CompensationAndRetirementDisclosureAbstract', window );"><strong>EMPLOYEE BENEFIT PLANS</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="top.Show.showAR( this, 'defref_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock', window );">EMPLOYEE BENEFIT PLANS</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">24.&#160;EMPLOYEE BENEFIT PLANS</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;">Employees of the Company located in the PRC are covered by the retirement schemes defined by local practice and regulations, which are essentially defined contribution schemes. The calculation of contributions for eligible employees is based on 16% of the applicable payroll cost in 2019. The expense incurred by the Company to these defined contributions schemes was $9,412, $12,544 and $11,738 for the years ended December 31, 2017, 2018 and 2019, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">In addition, in 2019, the Company is required by PRC law to contribute approximately 6-8.5%, 8%, 0.5-0.7% and 0.9-2.5% of applicable salaries for medical insurance benefits, housing funds, unemployment and other statutory benefits, respectively. The PRC government is directly responsible for the payment of the benefits to these employees. The amounts contributed for these benefit schemes were $10,447, $11,211 and $11,409 for the years ended December 31, 2017, 2018 and 2019, 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_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for pension and other postretirement benefits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -URI http://asc.fasb.org/topic&amp;trid=2235017<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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>50
<FILENAME>R106.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6853209664">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>EARNINGS PER SHARE (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasicAndDilutedAbstract', window );"><strong>Computation of basic and diluted gain (loss) per share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic', window );">Net income attributable to Canadian Solar Inc. - basic (in dollars)</a></td>
<td class="nump">$ 171,585<span></span>
</td>
<td class="nump">$ 237,070<span></span>
</td>
<td class="nump">$ 99,572<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther', window );">Dilutive effect of interest expense of convertible notes</a></td>
<td class="nump">975<span></span>
</td>
<td class="nump">4,683<span></span>
</td>
<td class="nump">4,649<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLossAttributableToParentDiluted', window );">Net income attributable to Canadian Solar Inc. - diluted</a></td>
<td class="nump">$ 172,560<span></span>
</td>
<td class="nump">$ 241,753<span></span>
</td>
<td class="nump">$ 104,221<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Denominator for basic calculation - weighted average number of common shares - basic</a></td>
<td class="nump">59,633,855<span></span>
</td>
<td class="nump">58,914,540<span></span>
</td>
<td class="nump">58,167,004<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Diluted effects of share number from share options and RSUs</a></td>
<td class="nump">794,526<span></span>
</td>
<td class="nump">543,797<span></span>
</td>
<td class="nump">547,821<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities', window );">Dilutive effects of share number from convertible notes</a></td>
<td class="nump">349,315<span></span>
</td>
<td class="nump">2,833,333<span></span>
</td>
<td class="nump">2,833,333<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Denominator for diluted calculation - weighted average number of common shares - diluted</a></td>
<td class="nump">60,777,696<span></span>
</td>
<td class="nump">62,291,670<span></span>
</td>
<td class="nump">61,548,158<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic earnings per share (in dollars per share)</a></td>
<td class="nump">$ 2.88<span></span>
</td>
<td class="nump">$ 4.02<span></span>
</td>
<td class="nump">$ 1.71<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted earnings per share (in dollars per share)</a></td>
<td class="nump">$ 2.83<span></span>
</td>
<td class="nump">$ 3.88<span></span>
</td>
<td class="nump">$ 1.69<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=csiq_StockOptionsAndRestrictedStockUnitsMember', window );">Share options and RSUs</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="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasicAndDilutedAbstract', window );"><strong>Computation of basic and diluted gain (loss) per share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Anti-dilutive shares excluded from the computation of diluted earnings per share, total</a></td>
<td class="nump">41,950<span></span>
</td>
<td class="nump">276,618<span></span>
</td>
<td class="nump">372,743<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) to net income used for calculating diluted earnings per share (EPS), resulting from the assumed exercise of dilutive convertible securities excluding adjustments related to ESOP convertible preferred stock, stock options, and restrictive stock units.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1337-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=117327953&amp;loc=d3e4984-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1252-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=SL5780133-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_EarningsPerShareBasicAndDilutedAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasicAndDilutedAbstract</td>
</tr>
<tr>
<td style="padding-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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=117327953&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1252-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1337-109256<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>num: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_IncrementalCommonSharesAttributableToConversionOfDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of convertible debt securities using the if-converted method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1930-109256<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities</td>
</tr>
<tr>
<td style="padding-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_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28A<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1500-109256<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAttributableToParentDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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, and includes adjustments resulting from the assumption that dilutive convertible 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAttributableToParentDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_NetIncomeLossAvailableToCommonStockholdersBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1377-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1448-109256<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=csiq_StockOptionsAndRestrictedStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=csiq_StockOptionsAndRestrictedStockUnitsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R102.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6931187056">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES - Domestic federal statutory tax rates (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="4">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>USD ($) </div>
<div>item</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2016 </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="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate', window );">Federal and provincial income tax rate (as a percent)</a></td>
<td class="nump">27.00%<span></span>
</td>
<td class="nump">27.00%<span></span>
</td>
<td class="nump">27.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued', window );">Amount of interest and penalties accrued related to unrecognized tax benefits</a></td>
<td class="nump">$ 4,795<span></span>
</td>
<td class="nump">$ 4,398<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="top.Show.showAR( this, 'defref_us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward', window );"><strong>Changes to the company's liabilities for uncertain tax positions</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="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Beginning balance</a></td>
<td class="nump">15,730<span></span>
</td>
<td class="nump">6,181<span></span>
</td>
<td class="nump">$ 5,684<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions', window );">Addition for tax positions related to the current year</a></td>
<td class="nump">11<span></span>
</td>
<td class="nump">9,806<span></span>
</td>
<td class="nump">1,376<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions', window );">Reductions for tax positions from prior years/Statute of limitations expirations</a></td>
<td class="num">(5,720)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,094)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation', window );">Foreign exchange effect</a></td>
<td class="nump">536<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">215<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation', window );">Foreign exchange effect</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(257)<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="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Ending balance</a></td>
<td class="nump">$ 10,557<span></span>
</td>
<td class="nump">$ 15,730<span></span>
</td>
<td class="nump">$ 6,181<span></span>
</td>
<td class="nump">$ 5,684<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember', window );">Canada</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="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate', window );">Federal and provincial income tax rate (as a percent)</a></td>
<td class="nump">26.50%<span></span>
</td>
<td class="nump">26.50%<span></span>
</td>
<td class="nump">26.50%<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="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember', window );">Canada | Canadian Solar Solutions Inc.</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="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate', window );">Federal and provincial income tax rate (as a percent)</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>
<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="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_US', window );">United States | Canadian Solar (USA) Inc.</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="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_IncomeTaxesForeignCorporateTaxRate', window );">Income tax rate (as a percent)</a></td>
<td class="nump">22.89%<span></span>
</td>
<td class="nump">24.82%<span></span>
</td>
<td class="nump">38.61%<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="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_US', window );">United States | Canadian Solar Energy Acquisition Co.</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="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_IncomeTaxesForeignCorporateTaxRate', window );">Income tax rate (as a percent)</a></td>
<td class="nump">27.89%<span></span>
</td>
<td class="nump">25.32%<span></span>
</td>
<td class="nump">38.32%<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="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_JP', window );">Japan | Canadian Solar Japan K.K.</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="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_IncomeTaxesForeignCorporateTaxRate', window );">Income tax rate (as a percent)</a></td>
<td class="nump">31.78%<span></span>
</td>
<td class="nump">32.02%<span></span>
</td>
<td class="nump">32.02%<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="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_DE', window );">Germany | Canadian Solar EMEA GmbH</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="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_IncomeTaxesForeignCorporateTaxRate', window );">Income tax rate (as a percent)</a></td>
<td class="nump">33.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>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_VN', window );">Vietnam | Canadian Solar Manufacturing Vietnam 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_IncomeTaxesForeignCorporateTaxRate', window );">Income tax rate (as a percent)</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">10.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions', window );">Reduced income tax rate from 2020 to 2028 (as a percent)</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="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_TH', window );">Thailand | Canadian Solar Manufacturing (Thailand) 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_IncomeTaxesForeignCorporateTaxRate', window );">Income tax rate (as a percent)</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">20.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption', window );">Number of Board of Investment certificates for tax exemption | item</a></td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_HK', window );">Hong Kong | HKSI</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="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income taxes:</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_IncomeTaxesForeignCorporateTaxRate', window );">Income tax rate (as a percent)</a></td>
<td class="nump">16.50%<span></span>
</td>
<td class="nump">16.50%<span></span>
</td>
<td class="nump">16.50%<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_csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The domestic federal statutory tax rate and provincial corporate income tax rate applicable under enacted tax laws to the Company's pretax income from continuing operations for the period. The "statutory" tax rate is the regular tax rate if there are alternative tax systems.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_IncomeTaxesForeignCorporateTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the corporate income tax rate in foreign jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncomeTaxesForeignCorporateTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of board of investment certificates for tax exemption.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>It represents the reduced Foreign statutory income tax rate on account of tax exemptions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_IncomeTaxContingencyLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxContingencyLineItems</td>
</tr>
<tr>
<td style="padding-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_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10B<br> -URI http://asc.fasb.org/extlink&amp;oid=116821951&amp;loc=SL37586934-109318<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in unrecognized tax benefits resulting from foreign currency translation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32718-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in unrecognized tax benefits resulting from foreign currency translation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarSolutionsIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarSolutionsIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_IncomeTaxAuthorityAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarUSAIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarUSAIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarEnergyAcquisitionCo.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarEnergyAcquisitionCo.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_IncomeTaxAuthorityAxis=country_JP">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_JP</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarJapanKKMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarJapanKKMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_IncomeTaxAuthorityAxis=country_DE">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_DE</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarEMEAGmbHMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarEMEAGmbHMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_IncomeTaxAuthorityAxis=country_VN">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_VN</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarManufacturingVietnamCo.LtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarManufacturingVietnamCo.LtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_IncomeTaxAuthorityAxis=country_TH">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_TH</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarManufacturingThailandCo.Ltd.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarManufacturingThailandCo.Ltd.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_IncomeTaxAuthorityAxis=country_HK">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_HK</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CanadianSolarInternationalLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=csiq_CanadianSolarInternationalLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>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>53
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6841834432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ORGANIZATION AND PRINCIPAL ACTIVITIES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>ORGANIZATION AND PRINCIPAL ACTIVITIES</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="top.Show.showAR( this, 'defref_us-gaap_NatureOfOperations', window );">ORGANIZATION AND PRINCIPAL ACTIVITIES</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">1. ORGANIZATION AND PRINCIPAL ACTIVITIES</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Canadian Solar Inc. (&#8220;CSI&#8221;) was incorporated pursuant to the laws of the Province of Ontario in October 2001, and changed its jurisdiction by continuing under the Canadian federal corporate statute, the Canada Business Corporations Act, or CBCA, effective June 1, 2006.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">CSI and its subsidiaries (collectively, the &#8220;Company&#8221;) design, develop, and manufacture solar wafers, cells and solar power products. In recent years, the Company has increased investment in, and management attention on its total solutions business, which primarily consists of solar power project development and sale, EPC and development services, O&amp;M services, operating solar power projects and sales of electricity, and sales of solar system kits. As of December 31, 2019, major subsidiaries of CSI are included in Appendix 1. </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_NatureOfOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -URI http://asc.fasb.org/topic&amp;trid=2134479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NatureOfOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6842052384">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROJECT ASSETS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_ProjectAssetsAbstract', window );"><strong>PROJECT ASSETS</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="top.Show.showAR( this, 'defref_csiq_ProjectAssetsDisclosureTextBlock', window );">PROJECT ASSETS</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">5.&#160;PROJECT ASSETS</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Project assets consist of the following:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Project assets &#8212; Acquisition cost</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,635</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,158</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Project assets &#8212; EPC and other cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,234,128</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,031,976</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,285,763</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,087,134</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 933,563</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 604,083</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Non-current portion</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="text-decoration:underline;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 352,200</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 483,051</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The Company recorded impairment charges and write-off for project assets of nil, $9,016 and $20,194 for the years ended December 31, 2017, 2018 and 2019, 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_csiq_ProjectAssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ProjectAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for information relating to project assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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>55
<FILENAME>R121.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6849511616">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Financial Statement Schedule I - STATEMENTS OF OPERATIONS (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, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_CondensedFinancialStatementsCaptionsLineItems', window );"><strong>Condensed Financial Statements</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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">$ 3,200,583<span></span>
</td>
<td class="nump">$ 3,744,512<span></span>
</td>
<td class="nump">$ 3,390,393<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of revenues</a></td>
<td class="nump">2,482,086<span></span>
</td>
<td class="nump">2,969,430<span></span>
</td>
<td class="nump">2,752,795<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">718,497<span></span>
</td>
<td class="nump">775,082<span></span>
</td>
<td class="nump">637,598<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SellingExpense', window );">Selling expenses</a></td>
<td class="nump">180,326<span></span>
</td>
<td class="nump">165,402<span></span>
</td>
<td class="nump">156,032<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative expenses</a></td>
<td class="nump">242,783<span></span>
</td>
<td class="nump">245,376<span></span>
</td>
<td class="nump">230,998<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development expenses</a></td>
<td class="nump">47,045<span></span>
</td>
<td class="nump">44,193<span></span>
</td>
<td class="nump">28,777<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherOperatingIncomeExpenseNet', window );">Other operating loss, net</a></td>
<td class="num">(10,536)<span></span>
</td>
<td class="num">(44,546)<span></span>
</td>
<td class="num">(47,554)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Total operating expenses, net</a></td>
<td class="nump">459,618<span></span>
</td>
<td class="nump">410,425<span></span>
</td>
<td class="nump">368,253<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income (loss) from operations</a></td>
<td class="nump">258,879<span></span>
</td>
<td class="nump">364,657<span></span>
</td>
<td class="nump">269,345<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpenseAbstract', window );"><strong>Other income (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>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</a></td>
<td class="num">(81,326)<span></span>
</td>
<td class="num">(106,032)<span></span>
</td>
<td class="num">(117,971)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InvestmentIncomeInterest', window );">Interest income</a></td>
<td class="nump">12,039<span></span>
</td>
<td class="nump">11,207<span></span>
</td>
<td class="nump">10,477<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss', window );">Loss on change in fair value of derivatives, net</a></td>
<td class="num">(22,218)<span></span>
</td>
<td class="num">(19,230)<span></span>
</td>
<td class="num">(272)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax', window );">Foreign exchange gain (loss)</a></td>
<td class="nump">10,370<span></span>
</td>
<td class="nump">6,529<span></span>
</td>
<td class="num">(23,449)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainLossOnInvestments', window );">Investment loss</a></td>
<td class="nump">1,929<span></span>
</td>
<td class="nump">41,361<span></span>
</td>
<td class="num">(3,607)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Other income (expenses), net:</a></td>
<td class="num">(79,206)<span></span>
</td>
<td class="num">(66,165)<span></span>
</td>
<td class="num">(134,822)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments', window );">Income (loss) before income taxes and equity in earnings (loss) of subsidiaries and unconsolidated investees</a></td>
<td class="nump">179,673<span></span>
</td>
<td class="nump">298,492<span></span>
</td>
<td class="nump">134,523<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax (expense) benefit</a></td>
<td class="num">(42,066)<span></span>
</td>
<td class="num">(61,969)<span></span>
</td>
<td class="num">(40,951)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromEquityMethodInvestments', window );">Equity in loss of unconsolidated investees</a></td>
<td class="nump">28,948<span></span>
</td>
<td class="nump">5,908<span></span>
</td>
<td class="nump">9,411<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic', window );">Net income attributable to Canadian Solar Inc.</a></td>
<td class="nump">171,585<span></span>
</td>
<td class="nump">237,070<span></span>
</td>
<td class="nump">99,572<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember', window );">Reportable Legal Entities [Member] | Parent Company</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="top.Show.showAR( this, 'defref_srt_CondensedFinancialStatementsCaptionsLineItems', window );"><strong>Condensed Financial Statements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">4,351<span></span>
</td>
<td class="nump">86,755<span></span>
</td>
<td class="nump">35,011<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of revenues</a></td>
<td class="nump">4,188<span></span>
</td>
<td class="nump">53,926<span></span>
</td>
<td class="nump">29,542<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">163<span></span>
</td>
<td class="nump">32,829<span></span>
</td>
<td class="nump">5,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="top.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>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SellingExpense', window );">Selling expenses</a></td>
<td class="nump">1,727<span></span>
</td>
<td class="nump">2,518<span></span>
</td>
<td class="nump">2,221<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative expenses</a></td>
<td class="nump">29,093<span></span>
</td>
<td class="nump">18,970<span></span>
</td>
<td class="nump">18,390<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development expenses</a></td>
<td class="nump">462<span></span>
</td>
<td class="nump">795<span></span>
</td>
<td class="nump">645<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherOperatingIncomeExpenseNet', window );">Other operating loss, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">77<span></span>
</td>
<td class="nump">1,173<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Total operating expenses, net</a></td>
<td class="nump">31,282<span></span>
</td>
<td class="nump">22,360<span></span>
</td>
<td class="nump">22,429<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income (loss) from operations</a></td>
<td class="num">(31,119)<span></span>
</td>
<td class="nump">10,469<span></span>
</td>
<td class="num">(16,960)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpenseAbstract', window );"><strong>Other income (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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</a></td>
<td class="num">(3,005)<span></span>
</td>
<td class="num">(9,170)<span></span>
</td>
<td class="num">(20,078)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InvestmentIncomeInterest', window );">Interest income</a></td>
<td class="nump">25,272<span></span>
</td>
<td class="nump">32,370<span></span>
</td>
<td class="nump">42,191<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss', window );">Loss on change in fair value of derivatives, net</a></td>
<td class="num">(5,193)<span></span>
</td>
<td class="num">(2,671)<span></span>
</td>
<td class="num">(7,134)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax', window );">Foreign exchange gain (loss)</a></td>
<td class="num">(11,318)<span></span>
</td>
<td class="nump">22,255<span></span>
</td>
<td class="num">(18,110)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainLossOnInvestments', window );">Investment loss</a></td>
<td class="num">(116,879)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(11,944)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Other income (expenses), net:</a></td>
<td class="num">(111,123)<span></span>
</td>
<td class="nump">42,784<span></span>
</td>
<td class="num">(15,075)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments', window );">Income (loss) before income taxes and equity in earnings (loss) of subsidiaries and unconsolidated investees</a></td>
<td class="num">(142,242)<span></span>
</td>
<td class="nump">53,253<span></span>
</td>
<td class="num">(32,035)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax (expense) benefit</a></td>
<td class="nump">5,230<span></span>
</td>
<td class="num">(12,133)<span></span>
</td>
<td class="nump">1,686<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="top.Show.showAR( this, 'defref_csiq_EquityIncomeLossFromSubsidiaries', window );">Equity in earnings of subsidiaries</a></td>
<td class="nump">308,597<span></span>
</td>
<td class="nump">195,950<span></span>
</td>
<td class="nump">130,048<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromEquityMethodInvestments', window );">Equity in loss of unconsolidated investees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(127)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic', window );">Net income attributable to Canadian Solar Inc.</a></td>
<td class="nump">$ 171,585<span></span>
</td>
<td class="nump">$ 237,070<span></span>
</td>
<td class="nump">$ 99,572<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_EquityIncomeLossFromSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This item represents the entity's proportionate share for the period of the net income (loss) of its subsidiaries to which the equity method of accounting is applied.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_EquityIncomeLossFromSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CondensedFinancialStatementsCaptionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_CondensedFinancialStatementsCaptionsLineItems</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:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of unrealized gain (loss) recognized in income for derivative asset (liability) after deduction of derivative liability (asset), measured at fair value using unobservable input (level 3) and still held.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=117815213&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6450222&amp;loc=d3e30840-110895<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109240200&amp;loc=d3e30700-110894<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=109240200&amp;loc=d3e30690-110894<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionGainLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of realized and unrealized gain (loss) on investment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=118939692&amp;loc=d3e27405-111563<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(c),9(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 3: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h)(1)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) for proportionate share of equity method investee's income (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(12))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(13)(f))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=109237563&amp;loc=d3e33749-111570<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109238882&amp;loc=d3e38679-109324<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=114775744&amp;loc=d3e28555-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentIncomeInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentIncomeInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1377-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_OtherOperatingIncomeExpenseNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net amount of other operating income and expenses, the components of which are not separately disclosed on the income statement, from items that are associated with the entity's normal revenue producing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherOperatingIncomeExpenseNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130545-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130543-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Expenses recognized in the period that are directly related to the selling and distribution of products or services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ParentCompanyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ParentCompanyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6842030576">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>FAIR VALUE MEASUREMENT<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>FAIR VALUE MEASUREMENT</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="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresTextBlock', window );">FAIR VALUE MEASUREMENT</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">9.&#160;FAIR VALUE MEASUREMENT</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company measures at fair value its financial assets and liabilities by using a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value. Fair value is the price that would be received from the sale of an asset or paid to transfer a liability (i.e., an exit price) on the measurement date in an orderly transaction between market participants.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">As of December 31, 2018 and 2019, the Company&#8217;s financial assets and liabilities were measured at fair value on a recurring basis in periods subsequent to their initial recognition all using the significant other observable inputs, which are Level 2 inputs. </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">9.&#160;FAIR VALUE MEASUREMENT </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Foreign exchange</span> <span style="font-style:italic;font-weight:bold;">option and forward contracts</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company entered into certain foreign currency derivative contracts to protect against volatility of future cash flows caused by the changes in foreign exchange rates. The foreign currency derivative contracts do not qualify for hedge accounting and, as a result, the changes in fair value of the foreign currency derivative contracts are recognized in the consolidated statements of operations.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s foreign currency derivative instruments relate to foreign exchange options or forward contracts involving major currencies such as Renminbi, Canadian dollars, British pounds, and Japanese yen. Since its derivative instruments are not traded on an exchange, the Company values them using valuation models. Interest rate yield curves and foreign exchange rates are the significant inputs into these valuation models. These inputs are observable in active markets over the terms of the instruments the Company holds, and accordingly, the fair value measurements are classified as Level&#160;2 in the hierarchy. The Company considers the effect of its own credit standing and that of its counterparties in valuations of its derivative financial instruments.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Interest rate swap</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">During the year ended December 31, 2016, the Company entered into fixed for floating interest rate swaps with two financial institutions to hedge the interest rate risk on its project debts obtained in the United Kingdom with notional amount totaling GBP78.4 million ($96.8 million), which will expire between 2033 and 2034. The interest rate swaps had been designated as cash flow hedges for accounting purposes. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2018, the UK projects were sold and the interest rate swaps were assumed by the third party buyer.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The interest rate swap contracts of total notional amounts of approximately $399.0 million were entered into for Recurrent projects and designated as cash flow hedges. The interest rate swap contracts were transferred along with the sale of the underlying projects, and the fair value of the remaining swap contract representing a notional amount of approximately $47.4 million entered into for Roserock project loan was recorded as derivative liabilities of $2,170 on the balance sheet as of December 31, 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The estimated fair value of interest rate swaps was measured based on observable market data, which are considered Level 2 inputs.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">9.&#160;FAIR VALUE MEASUREMENT </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The fair value of derivative instruments on the consolidated balance sheets as of December 31, 2018 and 2019 and the effect of derivative instruments on the consolidated statements of operations for the years ended December 31, 2017, 2018 and 2019 are as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:66.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of&#160;Derivative&#160;Assets</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Foreign exchange forward contracts</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,166</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,097</p></td></tr><tr><td style="vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Foreign exchange option contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 450</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Interest rate swap</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 594</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative assets &#8212; current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative assets &#8212; non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,216</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative assets &#8212; non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:31.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,977</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,547</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:71.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of&#160;Derivative&#160;Liabilities</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31, 2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Foreign exchange forward contracts</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,480</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,127</p></td></tr><tr><td style="vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Foreign exchange option contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 218</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Interest rate swap</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; current</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 329</p></td></tr><tr><td style="vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Derivative liabilities &#8212; non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,841</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,698</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,322</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount&#160;of&#160;Gain&#160;(Loss)</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Recognized&#160;in&#160;Statements</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Location&#160;of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">of&#160;Operations</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gain&#160;(Loss)&#160;Recognized</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">in&#160;Statements&#160;of&#160;Operations</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Foreign exchange forward contracts</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (2,638)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (16,414)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (20,249)</p></td></tr><tr><td style="vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Foreign exchange option contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (2,023)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (1,022)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Warrants</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 711</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Gain (loss) on change in fair value of derivatives</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,655</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (793)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (947)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (272)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (19,230)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"> (22,218)</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Other fair value measurements</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company measures certain long-lived assets or long-term investments at fair value on a non-recurring basis in periods after initial measurement in circumstances when the fair value of such assets is below its recorded cost and impairment is required. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The Company recorded impairment charges for certain manufacturing asset group of $11,626, $30,968 and $21,866 for the years ended December 31, 2017, 2018 and 2019, respectively. The fair value of these assets was measured based on prices offered by unrelated third-party willing buyers and classified as level 3 fair value measurements as the offering prices are not observable. The impairment was recorded in general and administrative expenses of the MSS segment.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">9.&#160;FAIR VALUE MEASUREMENT </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company also holds financial instruments that are not recorded at fair value in the consolidated balance sheets, but whose fair value is required to be disclosed under the U.S. GAAP. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The carrying values of cash and cash equivalents, restricted cash, trade receivables, billed and unbilled, amounts due from related parties, accounts payables, short-term notes payable, amounts due to related parties and short-term borrowings approximate their fair values due to the short-term maturity of these instruments. Long-term borrowings were $393,614 and $619,477 as of December 31, 2018 and 2019, respectively, which approximate their fair values since most of the borrowings contain variable interest rates. The fair value of long-term borrowings was measured based on discounted cash flow approach, which is classified as level 2 as the key inputs can be corroborated with market data.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The carrying value of the Company&#8217;s outstanding convertible notes was $127.4 million and nil as of December 31, 2018 and 2019, respectively, which approximates the fair value.</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_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=117815213&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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>57
<FILENAME>R89.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6696904736">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASE - Finance leases - Gross difference (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilitiesGrossDifferenceAmountAbstract', window );"><strong>Finance leases, gross difference</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="nump">$ 41,130<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount', window );">Less: imputed interest</a></td>
<td class="nump">2,056<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiability', window );">NPV for future minimum lease payments</a></td>
<td class="nump">$ 39,074<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalLeasesFutureMinimumPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 76,826<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments', window );">Less: imputed interest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,024<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments', window );">NPV for future minimum lease payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 71,802<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_CapitalLeasesFutureMinimumPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of minimum lease payments for capital leases.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84164817&amp;loc=d3e45280-112737<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalLeasesFutureMinimumPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount necessary to reduce net minimum lease payments to present value for capital leases.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84164817&amp;loc=d3e45280-112737<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of minimum lease payments for capital leases net of executory costs, including amounts paid by the lessee to the lessor for insurance, maintenance and taxes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84164817&amp;loc=d3e45280-112737<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseLiabilitiesGrossDifferenceAmountAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilitiesGrossDifferenceAmountAbstract</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for finance lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R79.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6832943200">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>VARIABLE INTEREST ENTITIES (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_VariableInterestEntityLineItems', window );"><strong>VARIABLE INTEREST ENTITIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Assets', window );">TOTAL ASSETS</a></td>
<td class="nump">$ 5,467,207<span></span>
</td>
<td class="nump">$ 4,892,658<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShortTermBorrowings', window );">Short-term borrowings</a></td>
<td class="nump">933,120<span></span>
</td>
<td class="nump">1,027,927<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Long-term borrowings</a></td>
<td class="nump">1,019,739<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Liabilities', window );">TOTAL LIABILITIES</a></td>
<td class="nump">4,042,149<span></span>
</td>
<td class="nump">3,619,813<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidatedEntitiesAxis=us-gaap_VariableInterestEntityPrimaryBeneficiaryMember', window );">Variable Interest Entity</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="top.Show.showAR( this, 'defref_us-gaap_VariableInterestEntityLineItems', window );"><strong>VARIABLE INTEREST ENTITIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_ProjectAssets', window );">Project assets</a></td>
<td class="nump">197,366<span></span>
</td>
<td class="nump">185,448<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssets', window );">Other assets</a></td>
<td class="nump">26,102<span></span>
</td>
<td class="nump">21,836<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Assets', window );">TOTAL ASSETS</a></td>
<td class="nump">223,468<span></span>
</td>
<td class="nump">207,284<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShortTermBorrowings', window );">Short-term borrowings</a></td>
<td class="nump">139,708<span></span>
</td>
<td class="nump">9,160<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Long-term borrowings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">113,973<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilities', window );">Other liabilities</a></td>
<td class="nump">66,569<span></span>
</td>
<td class="nump">59,476<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Liabilities', window );">TOTAL LIABILITIES</a></td>
<td class="nump">$ 206,277<span></span>
</td>
<td class="nump">$ 182,609<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ProjectAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of investments in solar power projects.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=109500613&amp;loc=SL6031897-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15)<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermBorrowings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermBorrowings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_VariableInterestEntityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableInterestEntityLineItems</td>
</tr>
<tr>
<td style="padding-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=us-gaap_VariableInterestEntityPrimaryBeneficiaryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=us-gaap_VariableInterestEntityPrimaryBeneficiaryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R75.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6854574592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>FAIR VALUE MEASUREMENT (Details) - Interest rate swap<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2016 </div>
<div>GBP (&#163;) </div>
<div>Institution</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2016 </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="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair value measurements of the entity's assets or liabilities that are measured at fair value on a recurring basis</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="top.Show.showAR( this, 'defref_us-gaap_DerivativeLiabilityNotionalAmount', window );">Notional amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 47,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosure', window );">Derivative liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,170,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember', window );">Designated as hedging instruments | Cash flow hedge</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="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair value measurements of the entity's assets or liabilities that are measured at fair value on a recurring basis</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_InterestRateSwapsNumberOfFinancialInstitutions', window );">Number of financial institutions | Institution</a></td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLiabilityNotionalAmount', window );">Notional amount</a></td>
<td class="nump">&#163; 78,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 96,800,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="top.Show.showAR( this, 'defref_us-gaap_DerivativeNotionalAmount', window );">Total notional</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 399,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_InterestRateSwapsNumberOfFinancialInstitutions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents information pertaining to the number of institutions with which the company has entered into fixed for floating interest rate swaps.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_InterestRateSwapsNumberOfFinancialInstitutions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeLiabilityNotionalAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Nominal or face amount used to calculate payments on the derivative liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=SL5579245-113959<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1B<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=SL5580258-113959<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=SL5579245-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeLiabilityNotionalAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeNotionalAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Nominal or face amount used to calculate payment on derivative.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1B<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=SL5580258-113959<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=SL5579245-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeNotionalAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems</td>
</tr>
<tr>
<td style="padding-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_LiabilitiesFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of financial and nonfinancial obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=117815213&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis=us-gaap_CashFlowHedgingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_DerivativeInstrumentsGainLossByHedgingRelationshipAxis=us-gaap_CashFlowHedgingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R85.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6832949584">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASE - Additional information (Details)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>LEASE</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="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted average term - finance leases</a></td>
<td class="text">1 year 4 months 28 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted average term - operating lease</a></td>
<td class="text">3 years 11 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted average discount rate - finance lease</a></td>
<td class="nump">5.82%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent', window );">Weighted average discount rate - operating lease</a></td>
<td class="nump">4.36%<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_FinanceLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for finance lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=77888399&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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_us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=77888399&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=77888399&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=77888399&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R81.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6829111712">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVESTMENTS IN AFFILIATES - Tax equity transactions (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">1 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_TaxEquityTransactionsLineItems', window );"><strong>Tax equity transactions</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="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal', window );">Gain on disposal of investment in affiliates</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,928<span></span>
</td>
<td class="nump">$ 47,102<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalUnitsByClassAxis=us-gaap_CapitalUnitClassAMember', window );">Class A membership interests</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_TaxEquityTransactionsLineItems', window );"><strong>Tax equity transactions</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_CashFlowDistributionPercentage', window );">Receipt of future cash flow distributions (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">51.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalUnitsByClassAxis=us-gaap_CapitalUnitClassBMember', window );">Class B membership interests</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_TaxEquityTransactionsLineItems', window );"><strong>Tax equity transactions</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_CashFlowDistributionPercentage', window );">Receipt of future cash flow distributions (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">49.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOtherThanTemporaryImpairment', window );">Value wrote down</a></td>
<td class="nump">$ 5,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_ReRoserockHoldingsLlcMember', window );">RE Roserock Holdings LLC ("Roserock")</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="top.Show.showAR( this, 'defref_csiq_TaxEquityTransactionsLineItems', window );"><strong>Tax equity transactions</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="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</a></td>
<td class="nump">49.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">49.00%<span></span>
</td>
<td class="nump">49.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="top.Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_ReRoserockHoldingsLlcMember', window );">RE Roserock Holdings LLC ("Roserock") | Class A membership interests</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_TaxEquityTransactionsLineItems', window );"><strong>Tax equity transactions</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_EquityMethodInvestmentOwnershipPercentageSold', window );">Interest sold (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfInvestmentProjects', window );">Proceeds from sale of membership interest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 45,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_ReRoserockHoldingsLlcMember', window );">RE Roserock Holdings LLC ("Roserock") | Class B membership interests</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_TaxEquityTransactionsLineItems', window );"><strong>Tax equity transactions</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="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.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_csiq_CashFlowDistributionPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of cash flow distributions to members.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_CashFlowDistributionPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_EquityMethodInvestmentOwnershipPercentageSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_EquityMethodInvestmentOwnershipPercentageSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_TaxEquityTransactionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_TaxEquityTransactionsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentOtherThanTemporaryImpairment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This item represents an other than temporary decline in value that has been recognized against an investment accounted for under the equity method of accounting. The excess of the carrying amount over the fair value of the investment represents the amount of the write down which is or was reflected in earnings. The written down value is a new cost basis with the adjusted value of the investment becoming its new carrying value subject to the equity accounting method. Evidence of a loss in value might include, but would not necessarily be limited to, absence of an ability to recover the carrying amount of the investment or inability of the investee to sustain an earnings capacity which would justify the carrying amount of the investment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 35<br> -Paragraph 32<br> -URI http://asc.fasb.org/extlink&amp;oid=118954474&amp;loc=d3e32787-111569<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentOtherThanTemporaryImpairment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_EquityMethodInvestmentOwnershipPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentOwnershipPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of an equity method investment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(7)(c))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(9)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProceedsFromSaleOfInvestmentProjects">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the sale of investment projects held by an entity in hopes of getting a future return or interest from it.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfInvestmentProjects</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CapitalUnitsByClassAxis=us-gaap_CapitalUnitClassAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_CapitalUnitsByClassAxis=us-gaap_CapitalUnitClassAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_CapitalUnitsByClassAxis=us-gaap_CapitalUnitClassBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_CapitalUnitsByClassAxis=us-gaap_CapitalUnitClassBMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_ReRoserockHoldingsLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_ReRoserockHoldingsLlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R71.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6831066464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROJECT ASSETS (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, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_ProjectAssetsAbstract', window );"><strong>PROJECT ASSETS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost', window );">Project assets - Acquisition cost</a></td>
<td class="nump">$ 55,158<span></span>
</td>
<td class="nump">$ 51,635<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="top.Show.showAR( this, 'defref_csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost', window );">Project assets - EPC and other cost</a></td>
<td class="nump">1,031,976<span></span>
</td>
<td class="nump">1,234,128<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_ProjectAssetsPlantsAndLand', window );">Total project assets</a></td>
<td class="nump">1,087,134<span></span>
</td>
<td class="nump">1,285,763<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="top.Show.showAR( this, 'defref_csiq_ProjectAssetsPlantsAndLandCurrentPortion', window );">Current portion</a></td>
<td class="nump">604,083<span></span>
</td>
<td class="nump">933,563<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="top.Show.showAR( this, 'defref_csiq_ProjectAssetsPlantsAndLandNonCurrentPortion', window );">Non-current portion</a></td>
<td class="nump">483,051<span></span>
</td>
<td class="nump">352,200<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="top.Show.showAR( this, 'defref_csiq_ProjectAssetsImpairmentCharge', window );">Impairment loss of project assets</a></td>
<td class="nump">$ 20,194<span></span>
</td>
<td class="nump">$ 9,016<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ProjectAssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ProjectAssetsImpairmentCharge">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the impairment charges and write-off for investments in solar power projects.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsImpairmentCharge</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProjectAssetsPlantsAndLand">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of investments in solar power projects.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsPlantsAndLand</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of capitalized acquisition cost related to investments in solar power projects.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of capitalized EPC and other cost related to investments in solar power projects.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProjectAssetsPlantsAndLandCurrentPortion">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of investments in solar power projects that are expected to be realized before one year or within the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsPlantsAndLandCurrentPortion</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProjectAssetsPlantsAndLandNonCurrentPortion">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of investments in solar power projects, which is not expected to be realized within one year or the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsPlantsAndLandNonCurrentPortion</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>63
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6849860080">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document and Entity Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 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="top.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="top.Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001375877<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">20-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="top.Show.showAR( this, 'defref_dei_DocumentRegistrationStatement', window );">Document Registration Statement</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="top.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="top.Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2019<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-33107<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">CANADIAN SOLAR&#160;INC.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">Z4<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">545&#160;Speedvale Avenue West<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Guelph, Ontario<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressCountry', window );">Entity Address, Country</a></td>
<td class="text">CA<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">N1K&#160;1E6<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common shares<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment 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="top.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="top.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="top.Show.showAR( this, 'defref_dei_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Large Accelerated Filer<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth 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="top.Show.showAR( this, 'defref_dei_DocumentAccountingStandard', window );">Document Accounting Standard</a></td>
<td class="text">U.S. GAAP<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_dei_NoTradingSymbolFlag', window );">No Trading Symbol Flag</a></td>
<td class="text">true<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="nump">59,371,684<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2019<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_dei_DocumentShellCompanyReport', window );">Document Shell Company Report</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressesAddressTypeAxis=dei_BusinessContactMember', window );">Business Contact</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="top.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="top.Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">545&#160;Speedvale Avenue West<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Guelph, Ontario<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressCountry', window );">Entity Address, Country</a></td>
<td class="text">CA<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">N1K&#160;1E6<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_ContactPersonnelName', window );">Contact Personnel Name</a></td>
<td class="text">Huifeng Chang<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">1-519<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">837-1881<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_ContactPersonnelName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of contact personnel</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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, 20-F, 40-F<br> -Number 240<br> -Section 15<br> -Subsection d-1<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in CCYY 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is CCYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 20-F, 40-F<br> -Number 249<br> -Section 220 and 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>ISO 3166-1 alpha-2 country code.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="top.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 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_NoTradingSymbolFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a security having no trading symbol.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_NoTradingSymbolFlag</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_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ 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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.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="top.Show.toggleNext( this );">+ 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_EntityAddressesAddressTypeAxis=dei_BusinessContactMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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>64
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6828477488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract', window );"><strong>CONSOLIDATED STATEMENTS OF COMPREHENSIVE 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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 166,555<span></span>
</td>
<td class="nump">$ 242,431<span></span>
</td>
<td class="nump">$ 102,983<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract', window );"><strong>Other comprehensive income (loss) (net of tax of nil):</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="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="nump">319<span></span>
</td>
<td class="num">(50,577)<span></span>
</td>
<td class="nump">39,305<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="top.Show.showAR( this, 'defref_csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax', window );">Gain (loss) on commodity hedge</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">953<span></span>
</td>
<td class="num">(1,844)<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="top.Show.showAR( this, 'defref_csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax', window );">Gain (loss) on interest rate swap</a></td>
<td class="num">(5,847)<span></span>
</td>
<td class="nump">5,141<span></span>
</td>
<td class="num">(246)<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="top.Show.showAR( this, 'defref_csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap', window );">De-recognition of commodity hedge and interest rate swap</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(8,752)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest', window );">Comprehensive income</a></td>
<td class="nump">161,027<span></span>
</td>
<td class="nump">189,196<span></span>
</td>
<td class="nump">140,198<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest', window );">Less: comprehensive income (loss) attributable to non-controlling interests</a></td>
<td class="num">(11,100)<span></span>
</td>
<td class="nump">8,241<span></span>
</td>
<td class="nump">2,846<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive income attributable to Canadian Solar Inc.</a></td>
<td class="nump">$ 172,127<span></span>
</td>
<td class="nump">$ 180,955<span></span>
</td>
<td class="nump">$ 137,352<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount represents De-recognition of commodity hedge and interest rate swap</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments, of increase (decrease) in accumulated gain (loss) from derivative instruments - commodity hedge, designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments, of increase (decrease) in accumulated gain (loss) from derivative instruments - interest rate swap, designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=d3e557-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4591552-111686<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 21<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4613674-111683<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569643-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4591552-111686<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569616-111683<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax, before reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 18<br> -URI http://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32157-110900<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32022-110900<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a-c)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669646-108580<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract</td>
</tr>
<tr>
<td style="padding-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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4591551-111686<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3000-108585<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569616-111683<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4591552-111686<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_StatementOfIncomeAndComprehensiveIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp7009003392">
<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, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Schedule of provision for income taxes</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:35.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Income before income taxes</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (30,524)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,570</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (61,880)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">United States</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (33,205)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 61,377</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,319</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">PRC including Hong Kong and Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 173,266</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 178,050</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 204,632</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Japan</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,164</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,555</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,335</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,233</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,848</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,215</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 143,934</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 304,400</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 208,621</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Current tax</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 346</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,846)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (3,420)</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (54,482)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (14,786)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (4,803)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">PRC including Hong Kong and Taiwan</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (7,383)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,285</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,622</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,266</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,325</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,229</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (8,008)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,397</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,057</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (38,261)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,375</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56,685</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Deferred tax</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (6,464)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,117</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (6,558)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">United States</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 67,426</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,696</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (2,412)</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">PRC including Hong Kong and Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,452</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,653</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (5,333)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Japan</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (4,499)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (3,381)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (2,953)</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (703)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (491)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,637</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 79,212</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,594</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (14,619)</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canada</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (6,118)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,271</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (9,978)</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,944</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,910</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (7,215)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">PRC including Hong Kong and Taiwan</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,069</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,938</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,289</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,767</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,944</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,276</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (8,711)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,906</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,694</p></td></tr><tr><td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,951</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 61,969</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,066</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock', window );">Schedule of movement and balance of the Company's liability for uncertain tax positions (excluding interest and penalties)</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Beginning balance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,684</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,181</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,730</p></td></tr><tr><td style="vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Addition for tax positions related to the current year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,376</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,806</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Reductions for tax positions from prior years/Statute of limitations expirations</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,094)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (5,720)</p></td></tr><tr><td style="vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 215</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (257)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 536</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Ending balance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,181</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,730</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,557</p></td></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Schedule of components of the deferred tax assets and liabilities</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:2pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Deferred tax assets:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accrued warranty costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,424</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,326</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Bad debt allowance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,324</p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Inventory write-down</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,723</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,128</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Future deductible expenses</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,973</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,731</p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Depreciation and impairment difference of property, plant and equipment and solar power systems</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,647</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,380</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accrued liabilities related to antidumping, countervailing and other duty costs and true-up charges</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,341</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 496</p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Deferred tax assets relating to sales of solar power systems</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 481</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,927</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net operating losses carry-forward</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 90,536</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 112,710</p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Unrealized foreign exchange loss and capital loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,471</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,064</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest limitation</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,520</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,767</p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,947</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,415</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total deferred tax assets, gross</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 202,082</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 222,268</p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (76,522)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (70,627)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total deferred tax assets, net of valuation allowance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 125,560</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 151,641</p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Deferred tax liabilities:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Derivative assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,697</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 217</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Depreciation difference of property, plant and equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,212</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,789</p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Deferred profit of projects</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,108</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Insurance recoverable</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,838</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,771</p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Unrealized foreign exchange gain</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,803</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,984</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Others</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,513</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,380</p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,171</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 54,141</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net deferred tax assets </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 85,389</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 97,500</p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Analysis as:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Deferred tax assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 121,087</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 153,963</p></td></tr><tr><td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (35,698)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (56,463)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net deferred tax assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 85,389</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 97,500</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SummaryOfValuationAllowanceTextBlock', window );">Schedule of movement of the valuation allowance</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Beginning balance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 71,469</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 65,399</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 76,522</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Additions (Reversals)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (5,361)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,051</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (6,156)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (709)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 72</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 261</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Ending balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 65,399</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 76,522</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 70,627</p></td></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Schedule of reconciliation between the provision for income tax computed by applying Canadian federal and provincial statutory tax rates to income before income taxes and the actual provision and benefit for income taxes</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:28.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Combined federal and provincial income tax rate</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of permanent difference</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (18)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (11)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of different tax rate on earnings in other jurisdictions</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (7)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of tax holiday</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (4)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Unrecognized tax provision</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Change in valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (6)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Effect of change in tax rate</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (5)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SummaryOfIncomeTaxHolidayTextBlock', window );">Schedule of aggregate amount and per share effect of the tax holiday</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">U.S.&#160;Dollars,&#160;except</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">per&#160;share&#160;data)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">The aggregate amount</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,850</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,089</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,956</p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Per share &#8212; basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.05</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.05</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.13</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Per share &#8212; diluted</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.05</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.05</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.13</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the change in unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 55<br> -Paragraph 217<br> -URI http://asc.fasb.org/extlink&amp;oid=117331294&amp;loc=d3e36027-109320<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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_SummaryOfIncomeTaxHolidayTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the income tax exemptions and reductions which have been granted by taxing authorities for a specified period, applicable term of the exemptions and reductions, estimated dollar value of tax benefits, and per share benefits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330215-122817<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 35<br> -URI http://asc.fasb.org/extlink&amp;oid=117330534&amp;loc=d3e28937-109314<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SummaryOfIncomeTaxHolidayTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_SummaryOfValuationAllowanceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of valuation allowances to reduce deferred tax assets to net realizable value, including identification of the deferred tax asset more likely than not will not be fully realized and the corresponding amount of the valuation allowance.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SummaryOfValuationAllowanceTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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>66
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6841917152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>MAJOR CUSTOMERS (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_MajorCustomersDisclosureAbstract', window );"><strong>MAJOR CUSTOMERS</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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock', window );">Schedule of details of customers accounting for 10% or more of total net revenues</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:38.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Company A</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 718,341</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_MajorCustomersDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_MajorCustomersDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the extent of the entity's reliance on its major customers, if revenues from transactions with a single external customer amount to 10 percent or more of entity revenues, including the disclosure of that fact, the total amount of revenues from each such customer, and the identity of the reportable segment or segments reporting the revenues. The entity need not disclose the identity of a major customer or the amount of revenues that each segment reports from that customer. For these purposes, a group of companies known to the entity to be under common control is considered a single customer, and the federal government, a state government, a local government such as a county or municipality, or a foreign government is each considered a single customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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>67
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6749851616">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementOfCashFlowsAbstract', window );"><strong>CONSOLIDATED STATEMENTS OF CASH FLOWS</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="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 668,770<span></span>
</td>
<td class="nump">$ 444,298<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="top.Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue', window );">Restricted cash - current</a></td>
<td class="nump">526,723<span></span>
</td>
<td class="nump">480,976<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="top.Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent', window );">Restricted cash - non-current</a></td>
<td class="nump">9,927<span></span>
</td>
<td class="nump">15,716<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Total cash and cash equivalents, and restricted cash shown in the statements of cash flows</a></td>
<td class="nump">$ 1,205,420<span></span>
</td>
<td class="nump">$ 940,990<span></span>
</td>
<td class="nump">$ 1,190,134<span></span>
</td>
<td class="nump">$ 1,007,700<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6812-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=SL98516268-108586<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3044-108585<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 210<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=116631420&amp;loc=SL116631458-115580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalentsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_StatementOfCashFlowsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfCashFlowsAbstract</td>
</tr>
<tr>
<td style="padding-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>68
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6842158864">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Prepaid land use rights (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Technical know-how</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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Intangible assets</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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Amortization period</a></td>
<td class="text">10 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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember', window );">Computer software | Minimum</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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Intangible assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Amortization period</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember', window );">Computer software | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Intangible assets</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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Amortization period</a></td>
<td class="text">10 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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_UseRightsMember', window );">Land use rights | Minimum</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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Intangible assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Amortization period</a></td>
<td class="text">20 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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_UseRightsMember', window );">Land use rights | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Intangible assets</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="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Amortization period</a></td>
<td class="text">50 years<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_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_UseRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_UseRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R90.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6832340128">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASE - Total leases - Maturities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>LEASE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_LesseeLiabilityPaymentsDueNextTwelveMonths', window );">2020</a></td>
<td class="nump">$ 46,392<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="top.Show.showAR( this, 'defref_csiq_LesseeLiabilityPaymentsDueYearTwo', window );">2021</a></td>
<td class="nump">26,066<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="top.Show.showAR( this, 'defref_csiq_LesseeLiabilityPaymentsDueYearThree', window );">2022</a></td>
<td class="nump">5,270<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="top.Show.showAR( this, 'defref_csiq_LesseeLiabilityPaymentsDueYearFour', window );">2023</a></td>
<td class="nump">2,541<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="top.Show.showAR( this, 'defref_csiq_LesseeLiabilityPaymentsDueYearFive', window );">2024</a></td>
<td class="nump">1,077<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="top.Show.showAR( this, 'defref_csiq_LesseeLiabilityPaymentsDueAfterYearFive', window );">Thereafter</a></td>
<td class="nump">1,504<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_LesseeLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="nump">$ 82,851<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="top.Show.showAR( this, 'defref_csiq_LeasesFutureMinimumLeasePaymentsDueCurrent', window );">2019</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 59,232<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="top.Show.showAR( this, 'defref_csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears', window );">2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35,273<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="top.Show.showAR( this, 'defref_csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears', window );">2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">21,221<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="top.Show.showAR( this, 'defref_csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears', window );">2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,041<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="top.Show.showAR( this, 'defref_csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears', window );">2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">838<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="top.Show.showAR( this, 'defref_csiq_LeasesFutureMinimumLeasePaymentsDuethereafter', window );">Thereafter</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,743<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_LeasesFutureMinimumLeasePaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 127,348<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_LeasesFutureMinimumLeasePaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of minimum lease payments for leases.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeasesFutureMinimumLeasePaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LeasesFutureMinimumLeasePaymentsDueCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of minimum lease payments for capital leases due in tweleve months</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeasesFutureMinimumLeasePaymentsDueCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of minimum lease payments for capital leases due in the fifth fiscal year following the latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of minimum lease payments for capital leases due in the fourth fiscal year following the latest fiscal year</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of minimum lease payments for capital leases due in the third fiscal year following the latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of minimum lease payments for capital leases due in the second fiscal year following the latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LeasesFutureMinimumLeasePaymentsDuethereafter">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of minimum lease payments for capital leases due after fifth fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeasesFutureMinimumLeasePaymentsDuethereafter</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LesseeLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Lessee, Liability, Payments, Due</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LesseeLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LesseeLiabilityPaymentsDueAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Lessee, Liability, Payments, Due after Year Five</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LesseeLiabilityPaymentsDueAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LesseeLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Lessee, Liability, Payments, Due Next Twelve Months</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LesseeLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LesseeLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Lessee, Liability, Payments, Due Year Five</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LesseeLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LesseeLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Lessee, Liability, Payments, Due Year Four</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LesseeLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LesseeLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Lessee, Liability, Payments, Due Year Three</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LesseeLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LesseeLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Lessee, Liability, Payments, Due Year Two</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LesseeLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>70
<FILENAME>R94.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6835028112">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>BORROWINGS - Short term (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>BORROWINGS</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="top.Show.showAR( this, 'defref_us-gaap_OtherShortTermBorrowings', window );">Short-term</a></td>
<td class="nump">$ 819,031<span></span>
</td>
<td class="nump">$ 856,876<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtCurrent', window );">Long-term, current portion</a></td>
<td class="nump">114,089<span></span>
</td>
<td class="nump">171,051<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShortTermBorrowings', window );">Short-term borrowings</a></td>
<td class="nump">$ 933,120<span></span>
</td>
<td class="nump">$ 1,027,927<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_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherShortTermBorrowings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of borrowings classified as other, maturing within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a)(7))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherShortTermBorrowings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ShortTermBorrowings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermBorrowings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>71
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6853703856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetAbstract', window );"><strong>Contract Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnbilledReceivablesCurrent', window );">Accounts receivables, unbilled</a></td>
<td class="nump">$ 15,256<span></span>
</td>
<td class="nump">$ 38<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="top.Show.showAR( this, 'defref_csiq_IncreaseDecreaseInAccountsReceivablesUnbilled', window );">Accounts receivables, unbilled, fluctuation</a></td>
<td class="nump">15,218<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityAbstract', window );"><strong>Contract Liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Advances from customers</a></td>
<td class="nump">134,806<span></span>
</td>
<td class="nump">39,024<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="top.Show.showAR( this, 'defref_csiq_IncreaseDecreaseInAdvancesFromCustomers', window );">Advances from customers, fluctuation</a></td>
<td class="nump">95,782<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="top.Show.showAR( this, 'defref_csiq_ContractLiabilitiesOtherCurrentLiabilities', window );">Other current liabilities</a></td>
<td class="nump">20,917<span></span>
</td>
<td class="nump">51,381<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="top.Show.showAR( this, 'defref_csiq_OtherCurrentLiabilitiesFluctuations', window );">Other current liabilities, fluctuation</a></td>
<td class="num">(30,464)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Contract liability</a></td>
<td class="nump">155,723<span></span>
</td>
<td class="nump">$ 90,405<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="top.Show.showAR( this, 'defref_csiq_IncreaseDecreaseInContractLiabilities', window );">Contract liability, fluctuation</a></td>
<td class="nump">65,318<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Revenue recognized from beginning balance of contract liabilities</a></td>
<td class="nump">62,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="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2020-01-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2020-01-01</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="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityAbstract', window );"><strong>Contract 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="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Contract liabilities expected to be recognized</a></td>
<td class="nump">$ 155,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Period for contract liabilities expected to be realized</a></td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ContractLiabilitiesOtherCurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of other current liabilities relating to contract liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ContractLiabilitiesOtherCurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_IncreaseDecreaseInAccountsReceivablesUnbilled">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period for the amount of revenue for work performed for which billing has not occurred, net of uncollectible accounts.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncreaseDecreaseInAccountsReceivablesUnbilled</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_IncreaseDecreaseInAdvancesFromCustomers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the amount of advances from customers for goods or services to be provided at a later date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncreaseDecreaseInAdvancesFromCustomers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_IncreaseDecreaseInContractLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in total contract liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncreaseDecreaseInContractLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_OtherCurrentLiabilitiesFluctuations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the amount of other current liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_OtherCurrentLiabilitiesFluctuations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ContractWithCustomerAssetNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNetAbstract</td>
</tr>
<tr>
<td style="padding-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_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130532-203044<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130532-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnbilledReceivablesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnbilledReceivablesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2020-01-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2020-01-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R68.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6841880768">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Recently issued accounting pronouncements (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Jan. 01, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>SUMMARY OF PRINCIPAL 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="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Right-of-use assets</a></td>
<td class="nump">$ 37,733<span></span>
</td>
<td class="nump">$ 33,829<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Lease liabilities</a></td>
<td class="nump">$ 39,485<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_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R98.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp7009048880">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ACCRUED WARRANTY COSTS (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, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward', window );"><strong>ACCRUED WARRANTY COSTS</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="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualNoncurrent', window );">Beginning balance</a></td>
<td class="nump">$ 50,605<span></span>
</td>
<td class="nump">$ 55,659<span></span>
</td>
<td class="nump">$ 61,139<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease', window );">Warranty provision</a></td>
<td class="nump">28,044<span></span>
</td>
<td class="nump">13,188<span></span>
</td>
<td class="nump">19,793<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualPayments', window );">Warranty costs incurred</a></td>
<td class="num">(23,282)<span></span>
</td>
<td class="num">(16,732)<span></span>
</td>
<td class="num">(26,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="top.Show.showAR( this, 'defref_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss', window );">Foreign exchange effect</a></td>
<td class="nump">511<span></span>
</td>
<td class="num">(1,510)<span></span>
</td>
<td class="nump">1,279<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualNoncurrent', window );">Ending balance</a></td>
<td class="nump">$ 55,878<span></span>
</td>
<td class="nump">$ 50,605<span></span>
</td>
<td class="nump">$ 55,659<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_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward</td>
</tr>
<tr>
<td style="padding-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_ProductWarrantyAccrualNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and due after one year (or beyond the operating cycle if longer) for estimated claims under standard and extended warranty protection rights granted to customers.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=118942415&amp;loc=d3e14394-108349<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118942415&amp;loc=d3e14326-108349<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProductWarrantyAccrualPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProductWarrantyAccrualPreexistingIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the standard and extended product warranty accrual from changes in estimates attributable to preexisting product warranties.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of foreign currency translation gain (loss) which decreases (increases) the standard and extended product warranty accrual.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>74
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp7009072000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>VARIABLE INTEREST ENTITIES (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract', window );"><strong>VARIABLE INTEREST ENTITIES</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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfVariableInterestEntitiesTextBlock', window );">Schedule of carrying amounts and classifications of consolidated VIE's assets and liabilities, excluding intercompany balances</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Project assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 185,448</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 197,366</p></td></tr><tr><td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other assets</p></td><td style="vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,836</p></td><td style="vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,102</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 207,284</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 223,468</p></td></tr><tr><td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Short-term borrowings</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,160</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 139,708</p></td></tr><tr><td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 113,973</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,476</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,569</p></td></tr><tr><td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 182,609</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 206,277</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfVariableInterestEntitiesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the significant judgments and assumptions made in determining whether a variable interest (as defined) held by the entity requires the variable interest entity (VIE) (as defined) to be consolidated and (or) disclose information about its involvement with the VIE, individually or in aggregate (as applicable); the nature of restrictions, if any, on the consolidated VIE's assets and on the settlement of its liabilities reported by an entity in its statement of financial position, including the carrying amounts of such assets and liabilities; the nature of, and changes in, the risks associated with involvement in the VIE; how involvement with the VIE affects the entity's financial position, financial performance, and cash flows; the lack of recourse if creditors (or beneficial interest holders) of the consolidated VIE have no recourse to the general credit of the primary beneficiary (if applicable); the terms of arrangements, giving consideration to both explicit arrangements and implicit variable interests, if any, that could require the entity to provide financial support to the VIE, including events or circumstances that could expose the entity to a loss; the methodology used by the entity for determining whether or not it is the primary beneficiary of the variable interest entity; the significant factors considered and judgments made in determining that the power to direct the activities of a VIE that most significantly impact the VIE's economic performance are shared (as defined); the carrying amounts and classification of assets and liabilities of the VIE included in the statement of financial position; the entity's maximum exposure to loss, if any, as a result of its involvement with the VIE, including how the maximum exposure is determined and significant sources of the entity's exposure to the VIE; a comparison of the carrying amounts of the assets and liabilities and the entity's maximum exposure to loss; information about any liquidity arrangements, guarantees, and (or) other commitments by third parties that may affect the fair value or risk of the entity's variable interest in the VIE; whether or not the entity has provided financial support or other support (explicitly or implicitly) to the VIE that it was not previously contractually required to provide or whether the entity intends to provide that support, including the type and amount of the support and the primary reasons for providing the support; and supplemental information the entity determines necessary to provide.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5A<br> -URI http://asc.fasb.org/extlink&amp;oid=118582676&amp;loc=SL6759159-111685<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=118582676&amp;loc=d3e5747-111685<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=118582676&amp;loc=SL6228884-111685<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=118582676&amp;loc=d3e5710-111685<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=118582676&amp;loc=d3e5728-111685<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfVariableInterestEntitiesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-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>75
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6841978624">
<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, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock', window );">Schedule of property, plant and equipment, net</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Buildings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 441,975</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 453,712</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,058</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,225</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Machinery</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 785,874</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,074,460</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Furniture, fixtures and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,135</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,117</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Motor vehicles</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,351</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Land</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,810</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,451</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,329,952</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,633,316</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accumulated depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (489,927)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (598,297)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Impairment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (30,503)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (45,437)</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Subtotal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 809,522</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 989,582</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Construction in process</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 75,464</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56,453</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Property, plant and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 884,986</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,046,035</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of property, plant and equipment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>R113.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6829993280">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>MAJOR CUSTOMERS (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>USD ($) </div>
<div>item</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>USD ($) </div>
<div>item</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EntityWideRevenueMajorCustomerLineItems', window );"><strong>Major Customers</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_NumberOfCustomers', window );">Number of customers with the largest receivable balances | item</a></td>
<td class="nump">3<span></span>
</td>
<td class="nump">3<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Net revenue | Customer concentration risk | Company A</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="top.Show.showAR( this, 'defref_us-gaap_EntityWideRevenueMajorCustomerLineItems', window );"><strong>Major Customers</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Revenues', window );">Total net revenues</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 718,341<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts receivable | Accounts receivable balances | Customer one</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="top.Show.showAR( this, 'defref_us-gaap_EntityWideRevenueMajorCustomerLineItems', window );"><strong>Major Customers</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="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk (as a percent)</a></td>
<td class="nump">17.00%<span></span>
</td>
<td class="nump">12.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="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNet', window );">Accounts receivable</a></td>
<td class="nump">$ 74,376<span></span>
</td>
<td class="nump">$ 59,224<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts receivable | Accounts receivable balances | Customer two</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="top.Show.showAR( this, 'defref_us-gaap_EntityWideRevenueMajorCustomerLineItems', window );"><strong>Major Customers</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="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk (as a percent)</a></td>
<td class="nump">5.00%<span></span>
</td>
<td class="nump">5.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="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts receivable | Accounts receivable balances | Customer three</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="top.Show.showAR( this, 'defref_us-gaap_EntityWideRevenueMajorCustomerLineItems', window );"><strong>Major Customers</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk (as a percent)</a></td>
<td class="nump">4.00%<span></span>
</td>
<td class="nump">5.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_NumberOfCustomers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the number of major customers.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_NumberOfCustomers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6351-108592<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=118260190&amp;loc=d3e13531-108611<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118260190&amp;loc=d3e13537-108611<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6404-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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_EntityWideRevenueMajorCustomerLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EntityWideRevenueMajorCustomerLineItems</td>
</tr>
<tr>
<td style="padding-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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8933-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=csiq_CompanyAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=csiq_CompanyAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CreditConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CreditConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=csiq_CustomerOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=csiq_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=csiq_CustomerTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=csiq_CustomerTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=csiq_CustomerThreeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=csiq_CustomerThreeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R117.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6830757344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUBSEQUENT EVENTS (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">5 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Apr. 28, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventLineItems', window );"><strong>SUBSEQUENT EVENTS</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="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Number of shares repurchased</a></td>
<td class="nump">609,516<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="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Total cost of share repurchases</a></td>
<td class="nump">$ 11,845<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="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember', window );">Subsequent event</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="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventLineItems', window );"><strong>SUBSEQUENT EVENTS</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="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Number of shares repurchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">381,330<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Total cost of share repurchases</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,963<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="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember', window );">Subsequent event | Share repurchase plan</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="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventLineItems', window );"><strong>SUBSEQUENT EVENTS</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="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Number of shares repurchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">990,846<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_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_StockRepurchasedDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_SubsequentEventLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventLineItems</td>
</tr>
<tr>
<td style="padding-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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareRepurchaseProgramAxis=us-gaap_RepurchaseAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ShareRepurchaseProgramAxis=us-gaap_RepurchaseAgreementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<FILENAME>csiq-20191231x20f_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2017-01-31"
  xmlns:csiq="http://www.canadiansolar.com/20191231"
  xmlns:dei="http://xbrl.sec.gov/dei/2019-01-31"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2019-01-31"
  xmlns:us-gaap="http://fasb.org/us-gaap/2019-01-31"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="csiq-20191231.xsd" xlink:type="simple"/>
    <context id="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_qpPI1Oh1oUibN5u0UaWsjA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForOtherReceivablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_s7bHWbeGUUmQciZIb5al9A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForAdvancesToSuppliersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_RW_HNDzYM0mIk6SisQrGfA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForOtherReceivablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_Hu3uJbMqmEG18Ij44StFEw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForAdvancesToSuppliersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember__7suTM6Hl0-XrUgrMFpSRQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForOtherReceivablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_rzoWy5S0EkWwbsFQPMyqGg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForAdvancesToSuppliersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_qqgz7TDEAEyfQkphhizXGw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForOtherReceivablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_xssyVKCLdUyZfs-laxRgLg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForAdvancesToSuppliersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Kf8H73bCqEylJ-QH_roF8g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiSolarPowerChinaInc.Member_srt_CounterpartyNameAxis_csiq_CsiCellsCo.Ltd.Member_NVm05P2FNkarzAqjfzzKLg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CsiCellsCo.Ltd.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiSolarPowerChinaInc.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiModulesDafengCoLtdMember_srt_CounterpartyNameAxis_csiq_CsiSolarPowerChinaInc.Member_ZtO-Oy4VYU-bwnYTyH14MQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CsiSolarPowerChinaInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiModulesDafengCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiModulesDafengCoLtdMember_srt_CounterpartyNameAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_1n1AG2K6xk2UOzGnATGbIw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarManufacturingChangshuInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiModulesDafengCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember_p6_jPQLIaUutOVv0Ty5iCg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:SuzhouSanysolarMaterialsTechnologyCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember_LGxXw2tOskuUFrLfvpL8eA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_RecurrentEnergyLlcMember_uCUszJzAkkedZfzB6TzLjg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:RecurrentEnergyLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_RecurrentEnergyGroupInc.Member_tfNffgYLOU21rCoI61i76w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:RecurrentEnergyGroupInc.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_PtCanadianSolarIndonesiaMember_WIa2wR-R7EabxskoyytV4Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:PtCanadianSolarIndonesiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsukEnergySystemsConstructionAndGenerationJscMember_fjg9x-UWGUG4bERD7gfdCg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsukEnergySystemsConstructionAndGenerationJscMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiWaferLuoyangCoLtdMember_1ZVHiC_9dEyNUII2fgKyjw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiWaferLuoyangCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CSISolartronicsChangshuCoLtdMember_X2daspvchECaB7VCla1Psw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CSISolartronicsChangshuCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CSISolarTechnologiesIncMember_eXrqcEc30Ei0qALz2vCLvw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CSISolarTechnologiesIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiNewEnergyHoldingCo.LtdMember_f3BBwSBlQk-aYL2vlJi5jg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiNewEnergyHoldingCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiModulesJiaxingCoLtdMember_SNgW881rrEizurtXQwpdcA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiModulesJiaxingCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiInvestmentManagementSuzhouCoLtdMember_GJt3ETH8_0CxWvTY3gZ0bw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiInvestmentManagementSuzhouCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiGclSolarManufacturingYanchengCo.Ltd.Member_YqFvDkAPxkCVF2Vt8O2l6g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiGclSolarManufacturingYanchengCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiCellsYanchangCoLtdMember_jGNrNqRCvUuQRZBx6-jF0g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsYanchangCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiCellsCo.Ltd.Member_pgGVNg8lp0Sh7U7fWsyv2g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember_pfgLe_A9ukygMgFIx3pkTw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:ChangsuTeguNewMaterialTechnologyCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember_8g6PlU6ogEWyqmSMeIbKnw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_ChangshuTlianCo.Ltd.Member_O1mirRnMdUOXfh8yn7m3pQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:ChangshuTlianCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_50dtds0o1U2PfBa7Ju7KIQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarUSAIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarUkProjectsLtdMember_gaFFVSiMVU6dJx6tv-15pw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarUkProjectsLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarUkLtdMember_nHcLXRu22kaKL7Hpu3JEWA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarUkLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSunenergySuzhouCo.Ltd.Member_dJD8J6MYAEOwoZlpGzx51Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSunenergySuzhouCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_8ujZS-yBMESJXzpV0Crsxw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSunenergyBaotouCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSsesUkLtdMember_s7UcNNfSTk-ya7j7gKh3KQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSsesUkLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSsesCanadaInc.Member_9FBBjjFkL02CrIh4E0mIGA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSsesCanadaInc.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSouthEastAsiaPteLtdMember_ubLDcYvLCUuT3bAlHD7uNA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSouthEastAsiaPteLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSouthAfricaPtyLtdMember_Hq256zVRrkyBj14khGxE3A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSouthAfricaPtyLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_R65hiqi-BkGyArimZFj6kQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_wqWISQGOt0aEOzTLJDmR9w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarProjectKKMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarOAndMOntarioIncMember_6CM_pzl240CSlQHbpW0PuQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarOAndMOntarioIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember_iZAe9dPgUEWNHzxDVQo4Ag">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarNewEnergyHoldingCompanyLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarMiddleEastDmccMember_UsdpaLQhmk-podlCp2-T8Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarMiddleEastDmccMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingVietnamCo.LtdMember_j6KXhNbxdUKQnrw1nPf8pA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingVietnamCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_k3pfla9r_USOzRTlmL3WIg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingTaiwanCoLtdMember_VPLCaZyfrkGlrnL0ri-j4w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingTaiwanCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingLuoyangIncMember_IjALAkJg8kS0WYjYxymI7g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingLuoyangIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_CounterpartyNameAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_B--R_4fNa0yJ6CHEldgOeg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarManufacturingChangshuInc.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_l7hJjXGwS0S7CHhnXKSXyw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingChangshuInc.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_E7s0enECwEm_SyoeRl196w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarJapanKKMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarInternationalProjectHoldingLimitedMember_AlBVqgZqXUiF6uAz17iJUA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInternationalProjectHoldingLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyPrivateLimitedMember_eHSRKh6OEU6lcmKRHLWs8g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyPrivateLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member_MU8LW1ASJEypZcrjukEHEw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyHoldingSingaporePte.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member_IZbwU8qQ1k2O4q_JuvLeJg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingCompanyLimitedMember_kYzLCiJx4U2DO0PAUArfcA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyHoldingCompanyLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_VgVpP6IgvEeJJ8yXETQkfQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEMEAGmbHMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarConstructionUsaLLCMember_SxMKdJGv0EqOa4AtP5Hczw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarConstructionUsaLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarConstructionAustraliaPtyLtdMember_Jub7_vciaEqQm7wdA9GrGg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarConstructionAustraliaPtyLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_D0bbTLwklk69tQO30lztQA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarAustraliaPtyLtdMember_IQaKtyiZxkG7qi3SJvyDIA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarAustraliaPtyLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarAustralia1PtyLtdMember_Bq8reKRQzEeAJVfF0H_S2Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarAustralia1PtyLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarArgentinaInvestmentHoldingLtdMember_EPf-Mmmb3EmG8Ak__bCR0w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarArgentinaInvestmentHoldingLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2020_To_3_31_2020_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_k47ijO3OR06PZVxdHEkE2w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="Duration_12_1_2019_To_12_31_2019_6Sb61chd0k6u_eevRjCz9g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <startDate>2019-12-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_11_29_2019_To_4_28_2020_us-gaap_ShareRepurchaseProgramAxis_us-gaap_RepurchaseAgreementsMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_sy5gVf4_dEiZgBZmeVnTOw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">us-gaap:RepurchaseAgreementsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-11-29</startDate>
            <endDate>2020-04-28</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_P3MU0eWHLE61lxZGDcoFOw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_nFjjiBi4lkSsIzXqFbge1g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4KI1NSica0SVQrvTiFXc5A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_vmjBVpeQpUu2cciDTOBbrA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_zZioCX8geky17tQwyDEmiQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_QaVTYJR-Sk-CJWrZwsHXTA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_lckOyUUN0EK1kGCXzdJeGg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_qH8zh0_p5UWYdTBQMf7jQA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_lXIsF3A4akKkBYIQN-id3A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_-CAIwk2Tok-B_IQAE1OWsw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_fCxkmUwsh0K-H0bNWqPkug">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_F_rSpZnS2kWhxbLM1kMzag">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_qxbKlJGiF0OYebjptlrNIA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_MTtBiDh0OU6qc7uDXnfYtw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_UuC4L8PWdE-xhUjS_fwCaQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_rXsoFsYiOEaqN_AHcIxLpQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_zE2JbIRn5kypFq2dATQL0g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_mkHaTeKOW0SdDBSASSDWsg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_iZyLvAnXQUOf-cYLFs7KYw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_W7_iLhUQ3Eez7g2Mo37oHQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_ydj5ZY5Y8Ua9C_AKPuDEKw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_i7z_mT8UR0qmoSFQz9M4GA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_uKQgAd85UE26E9YVfrYiaA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_NGVgx_iCp0OXr3UgF2nHLw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_3rM7nxXH6U2EnX7NCM8wPA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_QEXzSH-1-06e6Rd58cRzIA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_N3V72htU2Emg9we-C9dySg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GranteeStatusAxis">us-gaap:ShareBasedPaymentArrangementEmployeeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_9_30_2010_u6dAuOeG_k6wsEpEP6YCrA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <instant>2010-09-30</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_xlsgy5UOXUyi5N5UhUX8yQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_G4WXjlCzGk6tv1QgilDbNw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_aUDIOkC4N0moMgxXHdfJgA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_yES1PigkHEWV9nrRGnfrFQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_P61IRcsLDEeNAKDB_BdacQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_jjHP3wxIbk6iZgzCWyXAXA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_X6HdNMxyLk6UYPVRb0alxA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_KrpZ0JApM0atDRTxQ0MKkg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_MajorCustomersAxis_csiq_CompanyAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_WvHAcmeQFUqFMo8sQcW59g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CompanyAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_csiq_cnst_2020-01-01_6S66jUOou0-n7G8ZoHbbPQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2020-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_PhlHwWuAX0mtNlaTGNFZig">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_pkg0CfgLNkSl5jAIKMjFLg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:EtSolutionsSouthAfricaOnePtyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_jAyeLQNSY0C2kNsKS1WhGg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherOperatingIncomeExpenseMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_e3dAShJSgE-g6Y5ni5CseQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OtherOperatingIncomeExpenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_NKajxU16PkyTwnPqN1t2JQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:EtSolutionsSouthAfricaOnePtyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_-8VH67s7GEy6t8o9U9Yt-Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherOperatingIncomeExpenseMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_ZpC7KIfDM0-GFkQyK6irCA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:OtherOperatingIncomeExpenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_S0_yC5ixgUCpZ6LpleB0lw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarSystemKitsProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsConstructionAndSaleMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_btHWDCifV0SU4SHlhH7mzQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectsConstructionAndSaleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarModulesAndOtherSolarPowerProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_DaxFhPi_L0G4ACXbyptqBQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarModulesAndOtherSolarPowerProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_OtherProductMaterialsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_kMo41JwU_0GEjXwpPX6ehg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherProductMaterialsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_OtherProductEpcAndDevelopmentServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_VQaDkqyo80uf96BSRUUidw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherProductEpcAndDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_OAndMServicesProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_YYaFLG39WEudn0cpmISFqg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OAndMServicesProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_fEC69IZKekeIix6zZJbfuw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_kqYJQ7mlgECOTJtnUDOsew">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_EPCServiceProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_TVI-7bk6PUiQYiiW9AILEA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:EPCServiceProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_CDFN3rq2cEmAuhz7QKBAyw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_4C5vV0JRf06kUycJ0C1Beg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_ElectricityIncomeMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_kUWlIl6A4Uy6KbjwFpDY2w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ElectricityIncomeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_BUFxCdL0A0y6BF12QikXqw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_srt_EuropeMember_Jv9VNCoqxkqZTvkrmGVb1g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_srt_AsiaMember_9hYzK6aiM0uiKlmxr2_kzQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_qYwOGPrz_UCpF5Qq0SzF4Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesEuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_szgko6j4vkyZa9JArkkKkg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_XsJ_CDavgkaSEgfCZEhfUA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_AmericaMember_5FGYhx7wNUGv0RVedt7KOQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:AmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_ZA_EDEe0_34L0SF7rQ0Ha1HRg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ZA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_VN_wU-9NyRM_E-BkCPIiKwPCw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:VN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_US_vabopVan5UKJQ0_ZXkQ2AA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_TH_H8Zl3MDCsEu2zEbjCdz5QQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_NL_drdGL4vt0UixZBlgne8zNw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_MX_cXPFmr4sHkiFAFyP4VqDBA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MX</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_KR_PIEg9t9PjE--bkBZ0G5fjw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_JP_ykEckAptt0mm-0ImnQ9y8w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_IN_xPRZ0oF6A02B8ZfXi7pn8g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_GB_33vlVAFBQ0uX7lJ4a9jeXA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_ES_tt5tG8UWyESYvceH87u3fA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ES</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_DE_pEX-6nGZtEqtHg6tTpwizQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_CZ_WF9AKKMK8EquIwH4a4LDYQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CZ</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_CN_-Ia16BaKeEKeA84eTeqCUQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_BR_YVsDomG9TUqIcG2mSb8ICg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_AU_mP9RmJvqoEi_iEyijKAsww">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AU</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_AE_QQgI5Og-fEmQGwpRDfHKWg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_inRuy9zgMU2nigTwevswNA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarSystemKitsProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsConstructionAndSaleMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_b9UdPTWHcku8x1BMOch-rQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectsConstructionAndSaleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_SolarModulesAndOtherSolarPowerProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_1efr7KS9TESwBqdLnUWc8g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarModulesAndOtherSolarPowerProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_OtherProductMaterialsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_qa_qj8UtdkGC6Cnxgsbxww">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherProductMaterialsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_OtherProductEpcAndDevelopmentServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_iAkG1oAo6UCqNLKFdrE8sg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherProductEpcAndDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_OAndMServicesProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_TALXTvTgy0W8IszHpFgmRQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OAndMServicesProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_fPGbU_p6XkysfyIatvq8Qw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_GlG3OIvwy0uSqltQ5VaYKQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_EPCServiceProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_jK8Cjotp20ag5c73nNPEoQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:EPCServiceProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_ryBfuNTHlkGuLlfppM_PYw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_vxEfED5fB0WIbLKJSQuPTg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_ElectricityIncomeMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_SnS3FU17kEGCSsVbakhkhg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ElectricityIncomeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_ZAWDmQFn9E6h6EhTX_7omQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_srt_EuropeMember_LKX675WZ4Ee6-R9POmy13w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_srt_AsiaMember_MDFr8DipeU2sC74Vlyh5RQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_bu3oD5kEYkOOPb3yoe3diA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesEuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_apDDsSNSE06sSz-TljVMBQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_Ht53i2sfnE6nv9cfRa3j6g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_csiq_AmericaMember_uJMI8LHFYEupnrSPxYPeoQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:AmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_ZA_uUyP59nHcEyI4Cg6E3MZBA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ZA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_VN_MQK-jVPiLk60aWKpuNOsIQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:VN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_US_caMAoHablECSOnmyrNHQOg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_TH_q6PAt4QPWEugXEP-Ft3JiA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_NL_LviJyIWt-UyI178sCn-2Cg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_MX_t4zlw9_wq0WNrDlpU2SgKw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MX</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_KR_DPeVD3afB0KkWsgINr0Onw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_JP_XUUj4F2VDkuqacUoSWbQUA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_IN_9_mun8G7oEGrbTVhV691sg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_GB_WffZC1OSBEeoB_1tRDIGjA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_ES_ix1-uZWpC0KehDwsV3HQGw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ES</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_DE_gM0QNQwhW0aazSi2LBiFlA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_CZ_1icskwoZwUGWzVTxVLFN5A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CZ</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_CN_uLe4gp6Oi0yZheHzFVivAQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_BR_d3j6JEMjLk2Snls_WCnloA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_AU_WhjPgpmcVEGkwi8ZoKfbSQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AU</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_AE_lX3UZ-F5ykie9x0OHlTJTA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_mgGNGOEeW0WVEY00FmdVww">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarSystemKitsProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsConstructionAndSaleMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_e8foUq8S7UmLlo8wmQmWKw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectsConstructionAndSaleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_SolarModulesAndOtherSolarPowerProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_8By5ZzvkfE6TGaiODLMwTA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarModulesAndOtherSolarPowerProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_OtherProductMaterialsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_JqnZklJnI0Sq1a_O9UbcSQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherProductMaterialsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_OtherProductEpcAndDevelopmentServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_WVTBv-zEEkK-i3er-mvy8g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OtherProductEpcAndDevelopmentServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_OAndMServicesProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_Wr03CnxDl0aEVR8LQLtaBg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:OAndMServicesProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_xGoYbHVe-kWTZT4uU4a_yQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_QKxAMf0-RUuVnpa5Qx3uPQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_sgvDmWqwaEuQg93l1PKZqA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_aDu_dfgu3ky_qZHc0wIUSQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_ElectricityIncomeMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_l08olw2opUStWzJNDnir1A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ElectricityIncomeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_Soojqgr3cUKB2qyCL8yiyg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ElectricityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_srt_EuropeMember_tgAO1xUv6EKUG-9XVQXD_g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_srt_AsiaMember_NJE3Cf3WxUKgT2YSiUIAPw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_8uZph1D4i0-8JH1jLFU05Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesEuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_DwQYsrPBD0Kc2WODcRZvUA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_5zYZtKtTIUOZcyeObpaoZw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_csiq_AmericaMember__GE_yzKpwUGxVu4sUCxzdQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:AmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_ZA_805HHYc7dE2OJbd-rAIfLQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ZA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_VN_CjZbdql7cE-sMM97Y-Zyag">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:VN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_US_12B3vdfbFU-6svBHY67Amg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_TH_q2bNftrmsEC-mTf22RJ2UA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_NL_X5iF715vQUOJLEbth3zAZA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_MX_9PjPnag4iEyJRdPBRzBF2Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MX</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_KR_6LcDT-MJpU-CVoZxdut2cA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:KR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_JP_JMGL2-bOJ0-oUNuHEQh6bA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_IN_qen0-4xKj02Fwt10wBVtcg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_GB_sXapV1HYBE6KheFFxTkZbg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_ES_acpMfxiQr0uEK5wDTO2jew">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ES</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_DE_N6R1JQgIyUOG3tjqHgfgkQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_CZ_w_0XDhCqFEervnIpumeH3w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CZ</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_CN_6w-s1NPKqUWlqEQvD5m3AQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_BR_9NFUL80BJUeYoge8NrRSxQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_AU_SoHhxh_NGU6yBVUnS_MUFw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AU</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_AE_hmZcJO2dMUCEGNVVFjwwHA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_2_1_2019_To_2_28_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_gK9F7jLB9UOrvT57XyoeyA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-02-01</startDate>
            <endDate>2019-02-28</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_5GNhDLp22Ue3G4TbPQOzCw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PurchaseCommitmentExcludingLongtermCommitmentAxis">csiq:SolarPowerSystemCommitmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_zjSsGEmr3E6ImxRcFXV6BA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PurchaseCommitmentExcludingLongtermCommitmentAxis">csiq:PropertyAndEquipmentPurchaseCommitmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_1Y3gGzwOCEC7zI23QR9u4Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_ith8TOrKrkeGeHlSIzI-bA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_7BuK5Is_jUOdijrh5slMdA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_la7eVIq5FUmKAJ9EhM-u8A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_zMFy0cwj_EGgEoxjE1bHDQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_QCxegUFpaEygc6lrzQyDPw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_KO24wHZchkqHiv_tqI_pHg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_B1LeOq-rGUmqf5I8JC8q0g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_9nSd53ws90GOLDtJ9RZaQQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_TFQxLmDgpU6Abr3M6KeTqA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_qlK4e-1Bd0i9oV_AQt6GZQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_XVRtc1OvPUGFBVrUd_vkSw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_GmK6ZhYAyUi6cHKvxVmutA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_RLUT85lMikOg6iM3_9GsDw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_zEWZcmjnkEGNpRkscYszFQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_f23kuwYC1kSUyMEzckDNDw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_dzJaDJrpCUiB_VVzFGUM9Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_fg65wBq9OEmHr2oisAXdGQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_73Du0plvqkiawKwqIzGOGg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_BvESqq7YKECcYeyhSu2GnA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_wPuaHKDK3EuppnS5RxVAsw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_tnkCAsg17UatLYmCq4DZOg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_GainContingenciesByNatureAxis_us-gaap_InsuranceSettlementMember_nVEHOs6J7kaN3n9wRUvIvA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:GainContingenciesByNatureAxis">us-gaap:InsuranceSettlementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_GainContingenciesByNatureAxis_us-gaap_InsuranceSettlementMember_yGSW8aHKvUCU-cyWWTmOiw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:GainContingenciesByNatureAxis">us-gaap:InsuranceSettlementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_GrantMember_GSLY653ToEWIvP0MwCXxPg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:GrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_us-gaap_GrantMember_2srcXON2jEuS-ffiEI4ABA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:GrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_us-gaap_GrantMember_IyVp6WbfrEmmRnpLB78etw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:GrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_2OIfeqpSGESfsPSlI6wM4A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_FgNhElgP3kS2e7fsR4dPHw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_1_1_2019_JrXLyDz_iE6bXdd_RjWC4w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <instant>2019-01-01</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_BeLi6GE5Kkua1QXqTu8NAQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_US_ci8yVRiKm0SR3Ns812lcFQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_TH_XYa-8aDFLkKERupC5kcUJw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_JP_OjahXlXA9kah_5sEOE1_sw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_CN_B76wqxJKvEG44LSF0wo4fw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_CA_Q3b3UZYpqkipqcdSRFHXwg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_AU_RIqer513PkaoLhr2QRb8GQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AU</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_P3hRQm14QkKPIjv8WO8Lyw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_US_nuaZvVimREiHosfkFDvShQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_TH_CdH4jtehD0qIrFCVEVYvpg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_JP_CYyjx4dYl0OJaDub1M3ftw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_CN_8QHe23S1wEmDHOVLkyKoDw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_CA_9QNKGZPwHk-4O0zYdd3Jdg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_AU_Nm5oegU_EkiVgv7jr2CAuw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AU</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_BaJSwC-jvkyCCPCrMYdgKA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_uocq4WAIhEenWpsW1KQ3CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_f-LLvZmLtUSBjT1PIB5Bvw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_JWRvDsPwUka_T2lsk7qpSw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PurchaseCommitmentExcludingLongtermCommitmentAxis">csiq:SolarPowerSystemCommitmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_Np0KdG7IgkGg0RZJy8EOmA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PurchaseCommitmentExcludingLongtermCommitmentAxis">csiq:PropertyAndEquipmentPurchaseCommitmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_nw1AxTFMckCSnF9eMHvNCQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember_NkfUFHvpiki-98GFkz5oaA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:NonBindingLineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_7_15_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_67RkCDdGfUyMt7-vVUuIGg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BorrowingsFromNonBankingInstitutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:SubsidiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-07-15</instant>
        </period>
    </context>
    <context id="As_Of_1_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_SecuredByInventoryAndAccountsReceivableMember_dFjpPyfdT0yiKEnn9IuxwQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:SecuredByInventoryAndAccountsReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-01-31</instant>
        </period>
    </context>
    <context id="As_Of_1_25_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember_47PUT9M-pEG19ZgH0VNFsQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BorrowingsFromNonBankingInstitutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-01-25</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2018_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_7ApNkRhE_0CMLMlGE-tNdA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BorrowingsFromNonBankingInstitutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-10-31</instant>
        </period>
    </context>
    <context id="As_Of_9_14_2018_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_65cKx5UOmUCkMoGigo2IqA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:SubsidiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-09-14</instant>
        </period>
    </context>
    <context id="As_Of_4_5_2018_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_ZaO8-lOzmkSOpXV4cotMHQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:SubsidiaryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-04-05</instant>
        </period>
    </context>
    <context id="As_Of_3_30_2018_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_H02AytcwPkqjfLjt3UCu_Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-03-30</instant>
        </period>
    </context>
    <context id="As_Of_3_26_2018_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_soD0AKKIuUuNnrkbdBGCHw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:UnsecuredDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-03-26</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_YxgnMJzRbEuNZzwUeEkYlg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:SubsidiaryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_-9Ev49XOv0WHBKgFbU2Fvg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">csiq:ChineseCommercialBanksMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_Unnv7A6IF0SNpUA-z-kfzQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BorrowingsFromNonBankingInstitutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:SubsidiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember_4OvvNdHmPkOJX1eQ44pPWg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BorrowingsFromNonBankingInstitutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_fCMeD0tB102XyJd5n4KIjA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:UnsecuredDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_Fsc3B2vRw0iyfhOc95NwbA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:SubsidiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_SecuredByInventoryAndAccountsReceivableMember_hdNSdECI10-ZOuoW3A_S4w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:SecuredByInventoryAndAccountsReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_LR3iHk2vW0KQebnCNviWTg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_aoxurKTLVEiDwuHolZCXcw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BorrowingsFromNonBankingInstitutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_10_11_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_us-gaap_LongtermDebtTypeAxis_csiq_FinancingAgreementMember_KjOWdZ75a0WfTHSlg9itng">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BorrowingsFromNonBankingInstitutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:FinancingAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-10-11</instant>
        </period>
    </context>
    <context id="As_Of_6_28_2019_us-gaap_LongtermDebtTypeAxis_csiq_FinancingAgreementMember_Or7w3L2W5Uu6Os4lh3U82Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:FinancingAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-28</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_9lQ3SiVbI0Cz34qntYVUvQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">csiq:ChineseCommercialBanksMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_tBlYd5-kWE6aGSNgv3Kk6g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">csiq:ChineseCommercialBanksMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_PublicUtilitiesInventoryAxis_csiq_UncollectableRevenueMember_mXmvI0l1EEeM5fFueacxQw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PublicUtilitiesInventoryAxis">csiq:UncollectableRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_PublicUtilitiesInventoryAxis_csiq_UncollectableRevenueMember_TvJpH0SJtE-DtIo8F_DXEQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PublicUtilitiesInventoryAxis">csiq:UncollectableRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_us-gaap_AccountsPayableAndAccruedLiabilitiesMember_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_z6P2d2lnrESe6ot6hqkgYg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccountsPayableAndAccruedLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="Duration_9_1_2018_To_9_30_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_EnowIncMember_L3kCVTNU-UOX58ThrnFpqw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:EnowIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-09-01</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_4zPDFsN8MEOZ5PjOunH-eQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:UseRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_m8Q3EWEfpkKChJlmCoWrIA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_F7ZFnp-TpEq-nGa7S5yP7A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:UseRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_K97Cvf-9h0GjjJqdTs-NZA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_ELYLOouZJEe_L8lh_Cqbvw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_K9s1t9xmDEi1P_8wpselHw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_eiq8SALzx0OHXfXWP63Q7A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_3uJmFY4lBE2owhw_xfx0XA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_-etyClXZPEScfax9xrGO3A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_a2uc7kYqWkme20DzcCAvFw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_hIkB5vi1X0-Px0z6AeNOvA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_URLU5YKbh0Kyytn66vXQJA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_XKBDabUyW0CD8iogaTXkQg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_LJ1Pdkc2iE-LpWHQOoApUQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SuzhouFinancialLeasingCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_RoserockMember_-2jDVprwr0iK8v6ezxDy4A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:RoserockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_3_3kA9863Uqpmpr8Nr82IA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReRoserockHoldingsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_wlK1-Iyzvka0rOPFORBjQA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_KMuBise7OUOQiRB4yNOb0A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_KhP7w9NlGUuayLs6labngg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_WUbOo5Ymb0WFBAgditdKsA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SuzhouFinancialLeasingCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_45338GMEgEmACNWyIsRdng">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReRoserockHoldingsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_lvmCPoeg9E6zhxGlRm4vIQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_9_30_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_EnowIncMember_xpU4nJdTK02J6qL3DLUAXA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:EnowIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-09-30</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassBMember_atfeGdwVF0mBEc7vyhZd6w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReRoserockHoldingsLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CapitalUnitsByClassAxis">us-gaap:CapitalUnitClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2015-12-31</instant>
        </period>
    </context>
    <context id="Duration_12_1_2018_To_12_31_2018_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassBMember_Wy0k8Dw-q0OGQJ8s6C-rYA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CapitalUnitsByClassAxis">us-gaap:CapitalUnitClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-12-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_2P1MxjUaxE-zr9CuDsznLg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentsGainLossByHedgingRelationshipAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_iTN31H1YCkqecbamZCUcgg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_7KYF7h6oZ0uG4S2HskieZA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentsGainLossByHedgingRelationshipAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_ZI0GHubZiEeh_RMUN13OLw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_cGXa-9vzCkm-xGQTAMbWhQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_uhx8jb_DpU2wiJcNn3l0Pg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_2_qkaxWROEyxRADTMrU6tA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_eyAcrO_73kexw3dXrjeWfA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_7MwrSxG1zE6KO4Ty0Eaapg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_W6uTe13AW0qQxfTXx4T11Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_zLx4eDqeIUmirrjXr6DE5g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_DerivativeInstrumentRiskAxis_csiq_WarrantsMember_m0nbIynUtUiAV34r6IGW_w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">csiq:WarrantsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesNoncurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_i5m7ctdmwEqFUFFiBLJFzA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesLiabilitiesNoncurrentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_E96IprHxEU-HXPo_yPXOEw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesLiabilitiesCurrentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_Lht7gLwOlkyRnARoUEadvQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesLiabilitiesCurrentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_ACJRmqa3tEiWpgv_X_4yzA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesLiabilitiesCurrentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_LD3kvwSK5kaoJ8oD1jmSZA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesLiabilitiesCurrentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_V6D2k0G1CkivzsJ26fwRMQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesLiabilitiesCurrentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_ALYSHxr72kGVWkgQRImQ1w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesAssetsCurrentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_86xcdACTLUif_r6p94OxHQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesAssetsCurrentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_nYaVjTJgHk-KjaHXERQOpQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsNoncurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_HZa1K7Qq1UaU_k67pukp5w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesAssetsNoncurrentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_WIbc_F7jLUKmdSmAPmFjUA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesAssetsCurrentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_zugAsS9LjE2wufdZ6ofbPg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesAssetsCurrentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_OJdIjAijS0K6Qrc47uH1tQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">csiq:DerivativesAssetsCurrentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_9loSfc2vo0y89KmJDPnUhQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_V3meU-7P10KA5q68VsFk0g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_XeAS5nO-GkW-gpPwSZVHmw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_-I3Bne7KJUiW8JUykJbA3g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_RangeAxis_srt_MinimumMember_6XxkbxM6IUeXCF1ofWfl1Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_RangeAxis_srt_MaximumMember_8UTduJvzpU2u0QlPhXukTw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_Pqhcg3bXH0C9v6U84hAHiQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_01t4VpbMPEyF5f4KgeCrmw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_dty3TSynPEScGsN4OdsgMw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_nQsty6uxZkSCvaBLSSYCpw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_Tpvl9ys9pEiBod_oOxh7bw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">csiq:OtherJurisdictionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_US_8h2LHSK_bUK7g5XVIxosNg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_JP_sO2imR9DuU2CdSHZxG7lOg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CN_Vckiv6w5gEy0eKEJr_uPjQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CA_U73UV985r06bSeqJDxjsSA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_fBc-TynnSkmfwM8MkJwtQw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">csiq:OtherJurisdictionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_US_Cg9N18tgPkGGqXSIouQ2Hg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_JP_NFSvTIHfdUKxTEQnrrJjNA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CN_Y5EsbEFvbU2KImnwbOE3sA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CA_lkq9bzFnokGNNmNq000F_A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_uu1We7nTlEWup-RQoPbnHw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">csiq:OtherJurisdictionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_US_-EVDgMOdCU-0mdktAlGL9A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_JP_YSDQydabYEqMEJzZeiUKBg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CN_e1vAKk1TBU6eWIsQNy8tVA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CA_8lrpAC0yQ0qnB8EtGcL3RQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201409Member_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_qBSWTIZPEE6iQm_IqcezHg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201409Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201409Member_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_yeZsr6DhAUe-6DhVF4SYxA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201409Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201409Member_xsDZKzb8CEqyTHafiYrNhA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201409Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouGaochuangteNewEnergyCoLtdMember_zcXd8MaTkU-yNYAvv5T2AA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouGaochuangteNewEnergyCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_ss3QD1mEA0Ss5n4fwqqX3A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_3Sk93rEByE-dbeqKVVA7_g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_484CsaX530iGjLclDEuAyA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_Cr4qBZh4zEWoHVD16HcRsg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_SkUIuue_V0KM0cghzFjUGA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_M_mTHN8f20mtGppqvA2zHA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_fmaBzUgoI0yyBzxVQ57LnQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:ModuleSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_YxLxlAPl3Ei_5rDPgZQLAA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:EnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_d6NUTosMNUeIDO0N65uVCg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yPbS4uCAjE2BEL6v9hroJg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_qagh29pxOEOnWidIWH6_mA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_MajorCustomersAxis_csiq_CustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_2CC3aRMbdUeLqTuW5RvP0g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_MajorCustomersAxis_csiq_CustomerThreeMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_xBLTo-0DN0e2e2pak5UCvQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_1bYGB9AGo0SbTP0BHNbItA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_MajorCustomersAxis_csiq_CustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_ouRLNsx2YE2ZYX55F6ryjw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_MajorCustomersAxis_csiq_CustomerThreeMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_KorWr0kIjUOgBI3b-e70kA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerThreeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_LScHX-whIkaDTTjPue_FNg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_JQIQI4zpo0i_SPQaqY6QAw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_x5wJ9gYLeUeDnvVbqJ-eEw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_z65UHMJPyk2H29t9_g-73Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_MhItSDewjEKzRG13QOXYxg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_YRmJLv4FhEq4wT4N0l1Uhw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_dFnmrWqd-UqgDn0vonqWDw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_kjGpnzkm3E6qIMnIr7nQSg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_ync2vpL9vkSdVFl3lols6w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_1CpwSxbtS0GMUYvki678nw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_DRBcGFZYukGT2d2xWSVHNg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">csiq:StockOptionsAndRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_gnWVC8J_SUiN4JbVseCmFQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">csiq:StockOptionsAndRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_Dm1sRkFcckWN-haCIZvhOg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">csiq:StockOptionsAndRestrictedStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_uLpMdt-vpE-VIUzEDDSsCA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_wzoGpx0GgkmiZaayun2EzQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_5lpDB7_z30avE2UgNnsrpg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_rPxbvVZoyUOdbR494kekJQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_-ZDYmEARK0q3GwoucbAxwQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2016_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_mZ3g8MrpQ0-vybcY6Rvc3A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_SRCouWz3XEmwcxSGvcJu0A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_8ozFJvTZ-0yHSWTfIU_HWQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_WDuPwu4i6E6JTCsTHDHFZA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_InOwCE-pbkqqFZ5f9Hzwsw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_tGbnrmV98k65EuUMZj90jw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_6PbLu5TwSUmMSICGFizlfQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_3bshPo-TZ0ewiTeq3vJttg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_44Ly57_16k-M3XJD-N5g6g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:EtSolutionsSouthAfricaOnePtyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_MzpFZC4xc0SsOrqWET8WEg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_lP-g-aEimEi3Xo0Wx7M7Og">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">csiq:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CreditConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_Lni6b2wqT06gMYUtRCWx2g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:AssetManagementServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_E6ssvlT7VkOhCRIaTYAbig">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouIsilverMaterialsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_0P8m4wNqDECg7ffpy3bOHQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:LuoyangJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_fr9FcxEvrE6P9tdRcCORfw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:EntityAddressesAddressTypeAxis">dei:BusinessContactMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_GhtInNTJ7Um_BcXw7gTx3A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_tq-G0UD3eEqDOF452JF6iA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_YSGxzb659E6SbtJO6dhrig">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForOtherReceivablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_08NS4dDeZkW17xdMEfRQ9w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForAdvancesToSuppliersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_R-5vW0zNl026TEdo-dZ23w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_qw-rezekUkyLyb8G-vtAGQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_4ZJXuiw2vEibW7MY-48vow">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForOtherReceivablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_tYZydkbTaU2vPy50VkeoYw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForAdvancesToSuppliersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_AD0kvI38HEen87RDQpr8SQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_JJciRvPUpECtWVLfVRf7Qw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:AllowanceForCreditLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_AeiW6cj5mkCw2wBtgwjN8A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForOtherReceivablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_b6e0wD063U6jthTtcMue7A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForAdvancesToSuppliersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarPowerProjectMember_bm-757FtQU68ZBQWkstNJQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_vYOHebeiJ0eGj6XPOERzxA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_6UpYfub3BUGWytj8LnT_5A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AssetUnderConstructionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_f4MtRWEu2U-HkSSZiE7hHQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ElectricGenerationEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_7qu8sGJfDkWFDX8HCOXxIg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AssetUnderConstructionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_BifacialModuleAndDoubleGlassModuleMember_GaiVxGQb-Ea-Pf708CGEmA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:BifacialModuleAndDoubleGlassModuleMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_OIwjmEy-g0-jBi_IfTdnJg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2009-05-31</startDate>
            <endDate>2009-05-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_6TQ2EhR2lU6r_r2PFKt9wg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:OMServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_vGGbm6VVYkWnxmvj9a2U4Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:AssetManagementServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_xmseSrs_m0mdgFiMJnbO5Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:OMServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_MPZ-85CJ6k2EIGMH-f8y0g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:AssetManagementServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_vrbq1Y7fzkmRdeZimHMJTg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:OMServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_TaJkuRfZaUytX-J6LuxPiQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:AssetManagementServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingVietnamCo.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_VN_amsmSJQ6Wku4fhLRaqNHVA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:VN</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingVietnamCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_J0f4Gn18IkyrpRsz_fqugg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouKzoneEquipmentTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_HPonw54HF0Khe7itrDgQcQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouIsilverMaterialsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_VSgMjSpuCkGi0L_sLbP1xw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouKzoneEquipmentTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_XRJuOQBJ7Eqq3I_8rcfl3g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouIsilverMaterialsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_hAsqnodrN0qwpZ_IQTzNdQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouIsilverMaterialsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maCPKEXMVE-j2Nxn8cvqXw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">us-gaap:VariableInterestEntityPrimaryBeneficiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_WOrYLpJ4Pk-F1cMSt3yv4Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">us-gaap:VariableInterestEntityPrimaryBeneficiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetyThreeInitialPowerCapacityMember_e6D4t8_Q3k6-4Du3ukDoww">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:NinetyThreeInitialPowerCapacityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetySevenPercentInitialPowerCapacityMember_gyvGzgoBPk6U5a_JhPV_mg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:NinetySevenPercentInitialPowerCapacityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_GuaranteeObligationsByNatureAxis_csiq_EightyPercentInitialPowerCapacityMember_ovzvu2KUh0q2ohJZ4l8x7Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:EightyPercentInitialPowerCapacityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2019_srt_LitigationCaseAxis_csiq_USCountervailingAndAntiDumpingDutiesMember_bS4T7TJwGkCN51qTL7H5UQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:USCountervailingAndAntiDumpingDutiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_pT5qca5y5kSh4Qhx1-e_Ug">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cMS9441ftU2M1VNcmrYt5A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2010_To_12_31_2010_srt_LitigationCaseAxis_csiq_ClassActionLawsuitsFiledInNewYorkMember_FNrge7ynxUKgdwShVOjAFA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:ClassActionLawsuitsFiledInNewYorkMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2010-01-01</startDate>
            <endDate>2010-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_2WH8T4jvyU-OxlqYQ4oGYg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:TH</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_9_8_2015_To_9_8_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_BOjWTJgvMEaSRomTHtEAoA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SuzhouFinancialLeasingCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2015-09-08</startDate>
            <endDate>2015-09-08</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_LitigationCaseAxis_csiq_FirstAdministrativeReviewOfSolarTwoMember_oxVnRVPscU2eTy0cveOR8g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FirstAdministrativeReviewOfSolarTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_KC4M_b3zxkOYv5EBBchF7A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">csiq:ChineseCommercialBanksMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_ywnHsvMKSEqlHMEsWAIgEw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">csiq:ChineseCommercialBanksMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_l8u3wbph_0ijd7oXI9NDBw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">csiq:ChineseCommercialBanksMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2016_To_12_31_2016_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_83pBn5QsOkCv9_yelZJGtw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:InterestRateSwapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentsGainLossByHedgingRelationshipAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2016-01-01</startDate>
            <endDate>2016-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_XhAYtJxcUkeQuRT0kk1amw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:MaterialAndWorkmanShipMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_7rh37m38QEi6EfxAGudRHQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2011_To_8_31_2011_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_MIQgX1VwqEybOAeurlaxHg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:MaterialAndWorkmanShipMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2011-08-01</startDate>
            <endDate>2011-08-31</endDate>
        </period>
    </context>
    <context id="Duration_6_1_2009_To_6_30_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_t8cQY5bAzU-yeV-sxSagdA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:StandardSolarModuleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GuaranteeObligationsByNatureAxis">csiq:MaterialAndWorkmanShipMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2009-06-01</startDate>
            <endDate>2009-06-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_bkAVaYM15EmQbIM35GduTg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarUSAIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_DOY-AYh8JUi8k0idPnt4NQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarJapanKKMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_33JisG54LE2A47Bw5bTPyg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:HK</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInternationalLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_NPh8C7LJHECeEmAuTzFAiw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyAcquisitionCo.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_JLou2P7_vEqXT73wTfXT1A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:DE</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEMEAGmbHMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_pNY_HOZnIk6S_Cx_AraG-A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarUSAIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_FlG6nKVTo0KAB9DKt_5AEw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarJapanKKMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_IBo9NIvbLUyT4Rv6iXMRMQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:HK</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInternationalLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_3OIr_K05xEuzbasWpuYRgQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyAcquisitionCo.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_FzwS043JFkCFXZkQylZQzw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:DE</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEMEAGmbHMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_Bv4q5MiEmkWzYnjY2n1DDw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarUSAIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_dlAOFm7h4E235UcaiMqK9Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:JP</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarJapanKKMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_FKfCSsb6TE6bU85fsoxSWA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:HK</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInternationalLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_zP9wRc_tCEWZ-xX99ys6pQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEnergyAcquisitionCo.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_yQTe_lwLrkin8aDcC1uNwQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:DE</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarEMEAGmbHMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingVietnamCo.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_VN_ocDHkN3-qEOTyq04go9m_g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:VN</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingVietnamCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2016-01-01</startDate>
            <endDate>2016-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_lbiTOXxyOkGyeO_8SAZsGg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:TH</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarManufacturingThailandCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2016-01-01</startDate>
            <endDate>2016-12-31</endDate>
        </period>
    </context>
    <context id="Duration_12_1_2015_To_12_31_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassAMember_gkKSV9gF2EGbZgaq8gBPnA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReRoserockHoldingsLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CapitalUnitsByClassAxis">us-gaap:CapitalUnitClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2015-12-01</startDate>
            <endDate>2015-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiSolarPowerChinaInc.Member_2XOncCEazUK4vS1Ijo1FPQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiSolarPowerChinaInc.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_CounterpartyNameAxis_csiq_CsiCellsCo.Ltd.Member_Ld_hV3-Kk0-OpEOkQQ3flg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CsiCellsCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:ParentCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableLegalEntitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_9_30_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_Q4EaU_PYTka40-LTJPjabA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:SuzhouKzoneEquipmentTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-09-30</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_0F00mVXwd0mQUFuCsDhkpw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Ug2UAGBzzEqKX4BN1gBIYw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_doPPpFZ3-0SMtFKuRd9nBQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_ZvCdVuOIL0WUgu2MyAEiBA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_LRvKjJEMkUKk4ypEQ6GI8g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_tiD3_T5xBUm2DSnaLrAVcQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_oMfXEVnV40enxqssJftNdg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_c98FVmoqQkyW_kLaSAxMdw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_FuqNMzntKkC3oW2vZfXXEQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_qhGj9EM1EUy10PH3sclx3g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_DZYOKKqhF0210mfrrrZweA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_QB6FQT6tsUu2JlD0M-uS9A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:UnsecuredDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_4LmkbPUO0EaVzVJKFVhl9w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_V5qWxWd2PE6gJIqF5det4w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:UnsecuredDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_kaMjFIZagEOypzTRPqfy3g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_L7BCEJZcxUq493NghpmhNg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_2_18_2014_To_2_18_2014_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_QLwd4HpR902K_A8wABiJsQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2014-02-18</startDate>
            <endDate>2014-02-18</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_9_8_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_zoofUt6-skKcJlyAiZZvVg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SuzhouFinancialLeasingCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2015-09-08</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_PilipinasNewtonEnergyCorpMember_9uZbiYQqokO_KP20g5Uu8g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:PilipinasNewtonEnergyCorpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassBMember_PNsHc0u5PkCTT9zn-4EF_Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CapitalUnitsByClassAxis">us-gaap:CapitalUnitClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2019_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassAMember_6op6Ex1lRUCkN7e7zL6wmg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CapitalUnitsByClassAxis">us-gaap:CapitalUnitClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_BWweho0NDkOlYHOcv1sAMg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_6D1G2qS6fUataJZveTuqLQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_PrY-GkgnS0qsqjcKYAbnjw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-01</startDate>
            <endDate>2017-12-31</endDate>
        </period>
    </context>
    <context id="Duration_9_1_2010_To_9_30_2010_nsm9bHVoXUa0RbC_qLiWeA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <startDate>2010-09-01</startDate>
            <endDate>2010-09-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <unit id="Unit_Standard_GBP_Dc2Gdnkog0-JfFMrmYG68g">
        <measure>iso4217:GBP</measure>
    </unit>
    <unit id="Unit_Standard_segment_cECiqmtKEE2chm8uhJi7ig">
        <measure>csiq:segment</measure>
    </unit>
    <unit id="Unit_Standard_ZAR_CO6Y-961Uk2OBFlKKQofBQ">
        <measure>iso4217:ZAR</measure>
    </unit>
    <unit id="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">
        <measure>pure</measure>
    </unit>
    <unit id="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA">
        <measure>csiq:item</measure>
    </unit>
    <unit id="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Unit_Standard_Institution_s8f8AkKbRUGRIp83T9dPtA">
        <measure>csiq:Institution</measure>
    </unit>
    <unit id="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">
        <measure>iso4217:JPY</measure>
    </unit>
    <unit id="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">
        <measure>shares</measure>
    </unit>
    <unit id="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg">
        <measure>iso4217:CNY</measure>
    </unit>
    <unit id="Unit_Standard_D_TD5KJN6-H0iWH7G2g_795w">
        <measure>csiq:D</measure>
    </unit>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      id="Hidden_9C1gErBitEaC_RId7u7RGw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      id="Hidden_IkVlY38Vk0m68Q9Dx3PruQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q"
      xsi:nil="true"/>
    <dei:EntityCentralIndexKey
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tc_UznZ8FIAgE6NzKe7HQElcg_2_1">0001375877</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tc_4WHhP1Zku0657zLBwoGi5A_3_1">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tc_CKDTLrpumES0UB1t7TF04Q_4_1">2019</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tc_iOYiNAwVskiqxVI4BKVo7w_5_1">FY</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tc_dFLA3eaN9UeCmkTp_Fq0ZA_6_1">false</dei:AmendmentFlag>
    <dei:NoTradingSymbolFlag
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Hidden_zNr23FeY0EG0C9OVvgKUrA">true</dei:NoTradingSymbolFlag>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="INF"
      id="Hidden_8nrCX1EAuUm0Rw09CBQ9VQ"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">59371684</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="INF"
      id="Hidden_cbNFhl0lAUC7B2kZ0v6MGQ"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">59180624</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_1Y3gGzwOCEC7zI23QR9u4Q"
      id="Hidden_wCQYZoz750uAEDFs_tX9Mg">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_ith8TOrKrkeGeHlSIzI-bA"
      id="Hidden_9fnvDhRg006UIcqPOGt6AQ">P20Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_m8Q3EWEfpkKChJlmCoWrIA"
      id="Hidden_DzwZBiVHl02oSzavGfXqEg">P1Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_4zPDFsN8MEOZ5PjOunH-eQ"
      id="Hidden_7NBhpV-8hEejJzqz3LlyIw">P20Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_qhGj9EM1EUy10PH3sclx3g"
      id="Hidden_QfSZT8C17EqqpvabdpjiWw">P25Y</csiq:InsurancePolicyTerm>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      id="Hidden_M-Q2a2b3OEOOK02jTa1BjQ">P1Y4M28D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      id="Hidden_GCueFfnbSEaf4cRxYJqJlw">P3Y11D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <csiq:ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="0"
      id="Hidden__5mLaVFunU6MP9XF7ElhkQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">0</csiq:ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities>
    <csiq:PeriodOfSunsetReviews
      contextRef="Duration_1_1_2017_To_12_31_2019_srt_LitigationCaseAxis_csiq_USCountervailingAndAntiDumpingDutiesMember_bS4T7TJwGkCN51qTL7H5UQ"
      id="Hidden_LgyjbK5sEUOtkHh3zIcJRg">P5Y</csiq:PeriodOfSunsetReviews>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_yES1PigkHEWV9nrRGnfrFQ"
      id="Hidden_KLLxw-9sJkO8VDGPXSoRVQ">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="INF"
      id="Hidden_284MyGL-aE6ozlnSTlAw9w"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">0</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="INF"
      id="Hidden_ffv6suZ42EGOZd8DQLEmVA"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">59180624</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="INF"
      id="Hidden_bDjIoFvvgEKgVvWhVd5AnA"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">59371684</us-gaap:CommonStockSharesOutstanding>
    <dei:DocumentType
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_01Yv0_K40E-7EvfsC7__QQ">20-F</dei:DocumentType>
    <dei:DocumentRegistrationStatement
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tc_Wy9cavkzLEi1XJ7mZEJEgg_1_0">false</dei:DocumentRegistrationStatement>
    <dei:DocumentAnnualReport
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tc_HMpmKdm2GkOBJwQNpo3-eQ_3_0">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_TFOljN6SWUWAWV-KZOL5Nw">2019-12-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tc_Wr1QUQUlYU2eQVU3NLgFoA_6_0">false</dei:DocumentTransitionReport>
    <dei:DocumentShellCompanyReport
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tc_F-DCyHKtYk27JhAEDiUNqA_9_0">false</dei:DocumentShellCompanyReport>
    <dei:EntityFileNumber
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_7S24zmlKI0ipp7SD5LZE1A">001-33107</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_EdVdHqq4V0-I1dLByXdVBg">CANADIAN SOLAR&#160;INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_6VxrH4l0g0ewpC9npsvtDQ">Z4</dei:EntityIncorporationStateCountryCode>
    <dei:EntityAddressAddressLine1
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_LyOircXAsE-_1CtcgboL4w">545&#160;Speedvale Avenue West</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_g5516kwMu0ukNsO_57iVnw">Guelph, Ontario</dei:EntityAddressCityOrTown>
    <dei:EntityAddressCountry
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_o7b6U268AEmxgNFTI_fD7Q">CA</dei:EntityAddressCountry>
    <dei:EntityAddressPostalZipCode
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_OycITmqzqE-a1lZ-nCZ3uw">N1K&#160;1E6</dei:EntityAddressPostalZipCode>
    <dei:ContactPersonnelName
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_fr9FcxEvrE6P9tdRcCORfw"
      id="Narr_GJnd5G4DiE-FJisDsXTKBQ">Huifeng Chang</dei:ContactPersonnelName>
    <dei:EntityAddressAddressLine1
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_fr9FcxEvrE6P9tdRcCORfw"
      id="Narr_UQnpD1KYi0unQ0_VhdY3hg">545&#160;Speedvale Avenue West</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_fr9FcxEvrE6P9tdRcCORfw"
      id="Narr_45KXbQ72Hk2jGGtMXjkq-Q">Guelph, Ontario</dei:EntityAddressCityOrTown>
    <dei:EntityAddressCountry
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_fr9FcxEvrE6P9tdRcCORfw"
      id="Narr_OB67wyEDXU2eKdKyVSHSVw">CA</dei:EntityAddressCountry>
    <dei:EntityAddressPostalZipCode
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_fr9FcxEvrE6P9tdRcCORfw"
      id="Narr_39o8pU0PdkSHvz566ZR4uw">N1K&#160;1E6</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_fr9FcxEvrE6P9tdRcCORfw"
      id="Narr_H4Y0rllAIkqsw89ITZwcVA">1-519</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_fr9FcxEvrE6P9tdRcCORfw"
      id="Narr_QLS2lyocu0qK5fpeL6PFGQ">837-1881</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_z8edNEibcUC_q35OSn2lSA">Common shares</dei:Security12bTitle>
    <dei:SecurityExchangeName
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_b_Hlga1xcEGLFwHuVD23mQ">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="INF"
      id="Narr_Z-ovXxauDUWE2WjlGVkKOg"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">59371684</dei:EntityCommonStockSharesOutstanding>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_0uSQB5nV50SWlJxbWSabvw">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_pXYkS5oNuUG9w_SP66JDLw">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_KhPs-EXMBUytkqR12fiORg">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_zpZEmSP8Zkq6eKe8ETF-Ig">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_U1A2CJo1Q0-TF_dT8ShukQ">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntityEmergingGrowthCompany
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_G7bDm93dy0iwTolfTV87Qg">false</dei:EntityEmergingGrowthCompany>
    <dei:DocumentAccountingStandard
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_-IKeTIU62EahmCs1UL97gg">U.S. GAAP</dei:DocumentAccountingStandard>
    <dei:EntityShellCompany
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_A-EYx9P5UUiH7dku-QMEhA">false</dei:EntityShellCompany>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_YBrDn6oPuUyXN0aU_uF47Q_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">444298000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_t0fcwWv5d0uFNFdncwPx6Q_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">668770000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_d_UQXt9xc0SOnyWUtySaDA_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">480976000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_G4unzBSQi0ySCBIIgncXxg_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">526723000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Narr_o3S8hbDBbkWFvWtJBL8dxw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">32733000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_sC1VHwiI7U2CILUxl8W3Hg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">29545000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_kU92M5ziZkW8aZmykLWBuw_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">498231000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_fpsVJMi1xkmizktorj5DjQ_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">436815000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_h6Z8aXsMwE68VjqXZc7TCw_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">38000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_HqZNZXuO7UGWrjABdkuzOw_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15256000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:DueFromRelatedPartiesCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_xylnUjuJZUyxtXV6lEKL-g_12_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">16740000</us-gaap:DueFromRelatedPartiesCurrent>
    <us-gaap:DueFromRelatedPartiesCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_oOr-qaT82kO-v8g9rsac4Q_12_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">31232000</us-gaap:DueFromRelatedPartiesCurrent>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_ycVRgMw6v0Cfmc4k_8EFNQ_13_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">262022000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_GtoH5OB6WEOFFk6LHh0Xpw_13_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">554070000</us-gaap:InventoryNet>
    <us-gaap:ValueAddedTaxReceivableCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_ggMjwyKVMESA3v4_skA4HA_14_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">107222000</us-gaap:ValueAddedTaxReceivableCurrent>
    <us-gaap:ValueAddedTaxReceivableCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_ovdeAwaf4UiaT7-tACfHXQ_14_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">108920000</us-gaap:ValueAddedTaxReceivableCurrent>
    <csiq:AllowanceForDoubtfulAdvancesToSuppliersCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Narr_0nTywNqhAEGU7cPwytl7Lg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5702000</csiq:AllowanceForDoubtfulAdvancesToSuppliersCurrent>
    <csiq:AllowanceForDoubtfulAdvancesToSuppliersCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_4k0hHzfkEEOK8oR3B85Q9g"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7222000</csiq:AllowanceForDoubtfulAdvancesToSuppliersCurrent>
    <us-gaap:AdvancesOnInventoryPurchases
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_adhu3YMxbUiGWW3APLt2lw_15_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">37011000</us-gaap:AdvancesOnInventoryPurchases>
    <us-gaap:AdvancesOnInventoryPurchases
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_EFPGqK0_y0-ytvM9IeRkQg_15_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">47978000</us-gaap:AdvancesOnInventoryPurchases>
    <us-gaap:DerivativeAssetsCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_LJ7dk_jvyUqskyQ24qv8sA_16_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4761000</us-gaap:DerivativeAssetsCurrent>
    <us-gaap:DerivativeAssetsCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_wXDCz6e8skOd7ujQTmb4VQ_16_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5547000</us-gaap:DerivativeAssetsCurrent>
    <csiq:ProjectAssetsPlantsAndLandCurrentPortion
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_Zma5xhDXsE-vQbDF71PsEA_17_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">933563000</csiq:ProjectAssetsPlantsAndLandCurrentPortion>
    <csiq:ProjectAssetsPlantsAndLandCurrentPortion
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_G-tmnmq9N0qRa_l8Z2Ovuw_17_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">604083000</csiq:ProjectAssetsPlantsAndLandCurrentPortion>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_XyKxwBlyg0Kf8DNzcK2hhw_18_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">289459000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_4lSIKjE23kKovkysDmfMRg_18_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">253542000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_kULZjecDaUaaBGLzCxm_tQ_19_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3074321000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_qlEg22CAP0yllslaBiAJGw_19_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3252936000</us-gaap:AssetsCurrent>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_2IekSdUd5U-IwoxTcIHHIQ_20_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15716000</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_9H0CsM-HBUGP81CTGAvvpA_20_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9927000</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc__C06IDRWzkKtXPSZTZU4Mg_21_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">884986000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_vcpUcBn-wEmp1uUqosM7-w_21_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1046035000</us-gaap:PropertyPlantAndEquipmentNet>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_Uy78wNuxxUqHV0eu5l91iA_22_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">54898000</csiq:SolarPowerSystems>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_lxY0J1eK8UCd12MqMcozXw_22_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">52957000</csiq:SolarPowerSystems>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_0Hc-Tb0vm0aHnEWW-3-nQg_23_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">121087000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_ZsAitESPakKG7UI0QLNxOQ_23_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">153963000</us-gaap:DeferredIncomeTaxAssetsNet>
    <csiq:AllowanceForDoubtfulAdvancesToSuppliersNoncurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Narr_7P4TgzxkQ0-FTZ53SIXBjw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15224000</csiq:AllowanceForDoubtfulAdvancesToSuppliersNoncurrent>
    <csiq:AllowanceForDoubtfulAdvancesToSuppliersNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_JauZFgnsmEC55WBOHfbXZQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13059000</csiq:AllowanceForDoubtfulAdvancesToSuppliersNoncurrent>
    <csiq:AdvancesOnInventoryPurchasesNonCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_H1fvU93sEky4S5fX2sNjMg_24_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">48908000</csiq:AdvancesOnInventoryPurchasesNonCurrent>
    <csiq:AdvancesOnInventoryPurchasesNonCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_YjLV3yf7Tkq9pW8vYM4ATA_24_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">40897000</csiq:AdvancesOnInventoryPurchasesNonCurrent>
    <us-gaap:PrepaidExpenseNoncurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_JfpqlGlPaEWHC5JXrxqAdg_25_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">65718000</us-gaap:PrepaidExpenseNoncurrent>
    <us-gaap:PrepaidExpenseNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_e05o5JX7UkCtqElUFzYk4w_25_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">60836000</us-gaap:PrepaidExpenseNoncurrent>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_-s93_3QxCUOM_d-VOx9vmg_26_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">126095000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_7nxdEnKbEEuuiE1zQeYw-A_26_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">152828000</us-gaap:EquityMethodInvestments>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_n1Hq_FLWB0qQB68Bj2t_SQ_27_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">14903000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_dP1meIhY0EuD8GkrjY58Ow_27_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">22791000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_1DMrq8JOYUK8VY2pVSlZGA_28_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1005000</us-gaap:Goodwill>
    <us-gaap:DerivativeAssetsNoncurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_B6D-IJWUREqO4TjAbFk1DQ_29_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3216000</us-gaap:DerivativeAssetsNoncurrent>
    <csiq:ProjectAssetsPlantsAndLandNonCurrentPortion
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_y9PMYxgJd0KlAKytnBIbqQ_30_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">352200000</csiq:ProjectAssetsPlantsAndLandNonCurrentPortion>
    <csiq:ProjectAssetsPlantsAndLandNonCurrentPortion
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_JK6VLfa6HE-DJSIe8zazEg_30_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">483051000</csiq:ProjectAssetsPlantsAndLandNonCurrentPortion>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_MmTckAdutUScFy4yV9JgGQ_31_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">37733000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_LzZepsk_yEuPcxwDIHIfIg_32_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">129605000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_I2zfhIEmokO2RbN4ViC-sQ_32_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">153253000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_YY9ydNXr7kmeLKJR8IXueA_33_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4892658000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_GweU2HnnOk2sE4Mmuyt1bQ_33_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5467207000</us-gaap:Assets>
    <us-gaap:ShortTermBorrowings
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_K-83hOjPE02X7x401YiUQQ_37_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1027927000</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc__7jly9ge6E-Gn8dSyG4_zw_37_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">933120000</us-gaap:ShortTermBorrowings>
    <csiq:LongTermBorrowingsOnProjectAssetsCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_A8Zyveo3hEmcMN5U5knvow_38_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">265770000</csiq:LongTermBorrowingsOnProjectAssetsCurrent>
    <csiq:LongTermBorrowingsOnProjectAssetsCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_9vAw4auclU-K2u2SB4Ir-w_38_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">286173000</csiq:LongTermBorrowingsOnProjectAssetsCurrent>
    <us-gaap:AccountsPayableTradeCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_i6_Fp2bFr0yceQ5G94vWBA_39_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">379462000</us-gaap:AccountsPayableTradeCurrent>
    <us-gaap:AccountsPayableTradeCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_Fgq5haKQoUmZ-7qh8z8Ihg_39_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">585601000</us-gaap:AccountsPayableTradeCurrent>
    <csiq:ShortTermNotesPayable
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_4TeX9_TPhE6AyVq1Bc8G4A_40_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">369722000</csiq:ShortTermNotesPayable>
    <csiq:ShortTermNotesPayable
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_p7YoRpOBG06ITHSysn1qwg_40_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">544991000</csiq:ShortTermNotesPayable>
    <us-gaap:DueToRelatedPartiesCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_YeUk7Zzzv0an0dx25nLOog_41_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">16847000</us-gaap:DueToRelatedPartiesCurrent>
    <us-gaap:DueToRelatedPartiesCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_0_Z8EKCzzUefTjnunUxc0A_41_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10077000</us-gaap:DueToRelatedPartiesCurrent>
    <us-gaap:AccountsPayableOtherCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_ee2pC0rSVUCaeo73iYKoUg_42_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">408013000</us-gaap:AccountsPayableOtherCurrent>
    <us-gaap:AccountsPayableOtherCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_bgHcaD7Z9U-l-Fz-gNB4nw_42_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">446454000</us-gaap:AccountsPayableOtherCurrent>
    <us-gaap:ConvertibleNotesPayableCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_ltAjejrOCUyJsOcmw_i8_Q_43_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">127428000</us-gaap:ConvertibleNotesPayableCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_ZB9UQm_5tUO_zI0Sr5LQrw_44_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39024000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_K3vOVaFGkkSJl6PWiRADZQ_44_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">134806000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:DerivativeLiabilitiesCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_zPSuqkWjDEq-0j_uNX6z0w_45_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13698000</us-gaap:DerivativeLiabilitiesCurrent>
    <us-gaap:DerivativeLiabilitiesCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_2bSsTFbIlkq1C02oYmaZJg_45_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10481000</us-gaap:DerivativeLiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_ZurrAxIwkU669UjEkkG3TA_46_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18767000</us-gaap:OperatingLeaseLiabilityCurrent>
    <csiq:FinancingLiabilitiesCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_A2xsIWSzA02dBEpOez_xnQ_47_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">158496000</csiq:FinancingLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_3GGTLSYhbEGvt1pG2mCZdA_48_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">141970000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_32MCRLdDHk--MzvugvPJbg_48_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">121527000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_0es59i6GE0K62wUmczQPcw_49_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2948357000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_vtPESd_5tE2z_BzwBT8pLw_49_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3091997000</us-gaap:LiabilitiesCurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_7eZvIeCqAU2m1k6FKEMllg_50_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">50605000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_jlCmvt7-PE2z_uxMqXA_Og_50_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">55878000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_XqtRzLLkRkqO7Fb--3Xwfw_51_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">393614000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_5DynY25JDE2XIUj7s0hcew_51_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">619477000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:DueToRelatedPartiesNoncurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_TxzRhW4w0UWU4s4cYLbz8Q_52_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">568000</us-gaap:DueToRelatedPartiesNoncurrent>
    <us-gaap:DerivativeLiabilitiesNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_IDpfdsVMfE69uf13yyzsuw_53_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1841000</us-gaap:DerivativeLiabilitiesNoncurrent>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_k-Ij16p_vUqWwlgJR-A_9g_54_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20128000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_14pssDoAEEqgvh0Ru_WPlw_54_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15353000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_H-4G9USEZESUWRCy9TqlSg_55_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">35698000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_uLDKeMxIh0-v_IirDg_ZHw_55_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">56463000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:LossContingencyAccrualAtCarryingValue
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_g5sDp9VAtEmL9z4ngJ-S-w_56_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">24608000</us-gaap:LossContingencyAccrualAtCarryingValue>
    <us-gaap:LossContingencyAccrualAtCarryingValue
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_hoj-VwdS0k6JMqsJtk9rIQ_56_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28513000</us-gaap:LossContingencyAccrualAtCarryingValue>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_cZInsQyo1kOQARQwoRVovg_57_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20718000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <csiq:FinancingLiabilitiesNonCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_bKfDrj09F0yGO0n8iAX3Uw_58_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">77835000</csiq:FinancingLiabilitiesNonCurrent>
    <csiq:FinancingLiabilitiesNonCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_csKgxPBQY0-XU-AwpFvyzA_58_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">76575000</csiq:FinancingLiabilitiesNonCurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_w52v_dX_ckmuo59yaRTuUA_59_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">68400000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_nkFsXANpVEeGVVT6nQevcw_59_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">75334000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_o0KG9b1zt06RciPutuRv2A_60_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3619813000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_rllidHHflU6kyqUalHR9WQ_60_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4042149000</us-gaap:Liabilities>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="INF"
      id="Narr_Mv4X-YuAwkG4rXiX2aZspg"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">0</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="INF"
      id="Narr_jDFjbNOgVEiF5Jz3neIFTA"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">0</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="INF"
      id="Narr_w7OX2YPsDkOAW3kThEda6A"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">59180624</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="INF"
      id="Narr_DbV-UdBWzkuozeCgEr1BuQ"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">59371684</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_JDEeP75ijkGEKnhgKWHOLg_63_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">702931000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_E2r8tHpkNUGzsgX6EY2RvA_63_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">703806000</us-gaap:CommonStockValue>
    <us-gaap:TreasuryStockShares
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="INF"
      id="Narr_Lfy6FpG92kOC6KiH2n5LfA"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">0</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockShares
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="INF"
      id="Narr_KaCNLgspeEOwPl303PPxgg"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">609516</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockCommonValue
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_zCmYVJx2v02mSALJXk3e8A_64_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11845000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_kbm4qA4LSkGi-3sjuw78lQ_65_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10675000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_fYxC4U--VkyEW6kxJgv54Q_65_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">17179000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_tM0PJwqEw0mHqdx81Iyncg_66_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">622016000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_7oR3s1Ipzk6IS6VNeD9EeA_66_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">793601000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_LQCUpu74TkCLryW3SaGOZw_67_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-110149000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_c1uyUjtHfUKbG9ExPIsGSw_67_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-109607000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_v62Jb0SPKUKRVlVbyKTmbw_68_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1225473000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_ClluirXs20GMBUirbOulhg_68_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1393134000</us-gaap:StockholdersEquity>
    <us-gaap:MinorityInterest
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_zk5b0ABVGUCSZaZG1I3tgg_69_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">47372000</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterest
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_4ISYN95pdkWE46P6xgDniA_69_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">31924000</us-gaap:MinorityInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_nBIb1qkWFUih0dzqzETq1Q_70_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1272845000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_RcgYQOy8rUOseYU-XSwkPw_70_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1425058000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_yrWJPTiC_EW4OYnXEzLmrg_71_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4892658000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_ZI70yE5upE-M0gUKdttChw_71_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5467207000</us-gaap:LiabilitiesAndStockholdersEquity>
    <csiq:RevenueFromNonrelatedParties
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_7o-Axsv2c0aYobLJ34iZhg_5_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3221928000</csiq:RevenueFromNonrelatedParties>
    <csiq:RevenueFromNonrelatedParties
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_JKB-DLJCokaGDjaCQ8iPyQ_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3624687000</csiq:RevenueFromNonrelatedParties>
    <csiq:RevenueFromNonrelatedParties
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_vGfHWFIh5Eqdo_xYlUNwRg_5_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3101113000</csiq:RevenueFromNonrelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_6IyKpvvfmkKFShjlRaGaSA_6_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">168465000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_YwhqbtzYDkuFFIVKpu7CCQ_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">119825000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_KfCLhqpBKUis6pexcMAH_g_6_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">99470000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_Vw90HOXnV0SratWa4cAtVg_7_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3390393000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Y4Oj8yrlSkWMW2NGPaY_-w_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3744512000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_acy3__Fr0U-FuBM5M7HYDw_7_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3200583000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <csiq:CostOfGoodsAndServicesSoldNonrelatedParties
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_6AiGusp3QEy826Xsj7hqtQ_9_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2641583000</csiq:CostOfGoodsAndServicesSoldNonrelatedParties>
    <csiq:CostOfGoodsAndServicesSoldNonrelatedParties
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_FOSlFgk_hkKtpzBjvNAdCg_9_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2894611000</csiq:CostOfGoodsAndServicesSoldNonrelatedParties>
    <csiq:CostOfGoodsAndServicesSoldNonrelatedParties
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_CU-f8vmKsEOQA5Txez5DCQ_9_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2424476000</csiq:CostOfGoodsAndServicesSoldNonrelatedParties>
    <us-gaap:RelatedPartiesAmountInCostOfSales
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_dshzcfgd-ECeyBLG4wiMYw_10_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">111212000</us-gaap:RelatedPartiesAmountInCostOfSales>
    <us-gaap:RelatedPartiesAmountInCostOfSales
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Q7J-3LiMUUSrvBXrcRpaqA_10_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">74819000</us-gaap:RelatedPartiesAmountInCostOfSales>
    <us-gaap:RelatedPartiesAmountInCostOfSales
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_1j1TksltrUq3yqPYklG_bQ_10_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">57610000</us-gaap:RelatedPartiesAmountInCostOfSales>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_XaX2w8QizUubNimX7T5ZbA_11_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2752795000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_03edZtgacki1s0yydNdsDg_11_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2969430000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_aYYXQ5A3z0-xfeJGKq7BHw_11_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2482086000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_Hp2PH9vumEesvXYWqRE14g_12_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">637598000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_TDr99oFz30eYLmtDCLtmlg_12_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">775082000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_AkF1vgo0_EOyZml5sP1wnA_12_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">718497000</us-gaap:GrossProfit>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc__9zE81x8CU2KQUx-c2IOvg_14_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">156032000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_WmrQslWIaEytDQMKPUbu1A_14_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">165402000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_-8OngyOhAECyc-ncol7l6g_14_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">180326000</us-gaap:SellingExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_qGMMHWO1wEqDXp3b1oBH0g_15_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">230998000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_M6MATkT2G06G7qgYNXvtRA_15_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">245376000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_wqYXe9Lb-EiJJI4KU2w9FQ_15_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">242783000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_BjC1_lt6nk69ycAfme1fng_16_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28777000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_R1hwS0Foo0qSnSAvVeDRQA_16_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">44193000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_G4L2CfV_Wku3vSswemLnhw_16_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">47045000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_2gibtbv-6UK5e-HP32n-tA_17_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">47554000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_FFDIEAMiTkiIyVEwP9Bo6Q_17_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">44546000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_OExzvatBJk67zevkCiQ3qw_17_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10536000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_Z7VglG2oj0-vEuGP7w5PFQ_18_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">368253000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Nqi-sG8apkKxa483GSci8w_18_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">410425000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_8JJhpYO2DUiLActlz33jhQ_18_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">459618000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_UUmM62829U-931dhOsi-yQ_19_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">269345000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_vsfdvf1HnUKr-ktuB-r4eA_19_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">364657000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_wtEhApDPGES3gIwr9aBl7Q_19_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">258879000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_JnYYpIfKW0-IsqbMTWtarw_21_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">117971000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_zUXc9cdqJU-bC4BycUtu4w_21_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">106032000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_W9MKBXYrN0SIoh6A2RJ1Rw_21_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">81326000</us-gaap:InterestExpense>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_GHNrHBHx0Uy4avs7TeOieg_22_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10477000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_v0n3MXe3LkqQfk-7WdNflg_22_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11207000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_6ChsmkV-NEGNEMsJ3zYMRw_22_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12039000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_62ozPj3byEaCvwLj4JmVig_23_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-272000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_n93Sogo9TEiYC3EtxnoNgg_23_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-19230000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_q957mUSctkiolWmUpk-NXw_23_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-22218000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_oiByv09Pq0K7rdDyiAvOfA_24_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-23449000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_kp40k3OOpkWOSCYfrfiNdg_24_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6529000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_-WTT2hKbPUumfMUoM4dW9w_24_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10370000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:GainLossOnInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_C-mlLj3cs0yWC2CYjLhrZg_25_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-3607000</us-gaap:GainLossOnInvestments>
    <us-gaap:GainLossOnInvestments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_QImlhNwI8UGmlcIxR-zptw_25_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">41361000</us-gaap:GainLossOnInvestments>
    <us-gaap:GainLossOnInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_YyIwmm1noE6CGBfXyNjgNA_25_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1929000</us-gaap:GainLossOnInvestments>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_ns1VyxLWEUSBLP0r_DXUQQ_26_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-134822000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_nomNiGPbek2dWnyTroyRPQ_26_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-66165000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_2eYWTmYOxkebCdq_PAvFZw_26_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-79206000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_HuiZUl4hTkiJnTvWvL9jbA_27_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">134523000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_ayoU1wXNo0ycrdIdfrx2hQ_27_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">298492000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_GdqoG_HLR0qlUgS7-qUVWA_27_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">179673000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_UFR8dtwuek2jE5M97DYiRQ_28_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">40951000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_UEj1hRAX2E6iCj6bnjI7qA_28_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">61969000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_YtxqsYed8EOAx7Kis0AkBw_28_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">42066000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_G8j6BXigGk6faadqR6Y5sg_29_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9411000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_v9XaaOJ2m06kT7Fv0p8ocg_29_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5908000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_CwJaKW_7EkO7UydcZ1IDCw_29_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28948000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_ToMAImPpSU-4VY4bkhdkUw_30_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">102983000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_cVSTJKqFo0i5Y0sNCeVU_A_30_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">242431000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_Ui6M8xs2yUe6cLjIfjBZew_30_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">166555000</us-gaap:ProfitLoss>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_L32xfik5xEOFVJccRIl9aQ_31_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3411000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_zwmrP0i9_0q6ZGpiOfynkw_31_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5361000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_4mjZH1-kKUm9-dbylvNdNQ_31_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5030000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_WkSDYcMp5UmoeCENGspyzQ_32_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">99572000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_nJUzE74UsUm85lAHNzWFMw_32_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">237070000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_I2C6Ls_7yEibmlMUeHe59w_32_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">171585000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_uI-pcXU_fES7PDImsr8T-A_33_3"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">1.71</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_MWS--wjmYkOJ9UrgOhPZTQ_33_6"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">4.02</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_e6vIJ4h22UeuPuzp4aP14Q_33_9"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">2.88</us-gaap:EarningsPerShareBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="0"
      id="Tc_Fu-y7pEfmEqRjOhLJX3Gkw_34_3"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">58167004</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="0"
      id="Tc_QNxl_xMFNUS66H03vh6Cvg_34_6"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">58914540</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="0"
      id="Tc_4TZzVfxe_EmcXeCqGjxPqw_34_9"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">59633855</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_Z_Prm9qJ70eFL2eMb7_jWQ_35_3"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">1.69</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_dMKHiTS6u0aNBF0itPoq3A_35_6"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">3.88</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_4OaFc03FVUSX7yi_Xy4toA_35_9"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">2.83</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="0"
      id="Tc_zkrBAR1Elku-xXfzqpdgBg_36_3"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">61548158</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="0"
      id="Tc_jthfPfMJNk2rtoFSGWznCg_36_6"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">62291670</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="0"
      id="Tc_yuZgNE2gdUucBqPVjruQsw_36_9"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">60777696</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_u5MJWjpG00CIMEGLYOv-Mg_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">102983000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc__XkBEaWNDEOtA0xJXkMY4A_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">242431000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_wg8PgnOTqUWsK09KnN4yHg_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">166555000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_y6C15nr8OEKKmBcNgJvWsA_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39305000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_hzdw9rNwBEKkmK0kRh0GYw_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-50577000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_3leE86baR0mpW1CN9tnBng_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">319000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_VuTh4lZ8bUSDLRY8HAbL1Q_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1844000</csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax>
    <csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_ff-RKi5JqEa7t0rPVRr1Pw_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">953000</csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax>
    <csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_BjvZb6VRH0yIfSk8qGFlnw_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-246000</csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax>
    <csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_x0LodW1NzEqpYdQTyVSdVw_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5141000</csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax>
    <csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_3_k5_NW60UiTabZelF0omA_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5847000</csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax>
    <csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_wLTpraxj_U64YIVL1FH2SA_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-8752000</csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_kPgk4QdEgEOwTk0uGHQAoA_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">140198000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_n2pRjWqj7Uu178xrOR3rRA_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">189196000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_jyIqzq-JCUuPPdjR0qs4dQ_10_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">161027000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_vS3Kql8Sk06ZIjWuSlLbew_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2846000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_UTROSjSkEkSiFy7InItfEA_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">8241000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_8ap1YtG87UiF0-Vj_c8XcA_11_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-11100000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_ecqmsMZ7u0KIPGjMAg_C7A_12_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">137352000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_MLTiv68RIketGv5YjETRcw_12_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">180955000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_A_YH8ZVmfESBBMHCseWl9Q_12_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">172127000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_YRmJLv4FhEq4wT4N0l1Uhw"
      decimals="INF"
      id="Tc_brzQUAJ100K7khRLecIEwQ_7_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">57830149</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_YRmJLv4FhEq4wT4N0l1Uhw"
      decimals="-3"
      id="Tc_ApkCoPryH0i00NpDqEmGFg_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">701283000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_i7z_mT8UR0qmoSFQz9M4GA"
      decimals="-3"
      id="Tc_D76-db_c-UWHZGCC4BLNnw_7_10"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-8897000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_iZyLvAnXQUOf-cYLFs7KYw"
      decimals="-3"
      id="Tc_vUC3ZgwkWky76WzOuOajBA_7_12"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">284109000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_uKQgAd85UE26E9YVfrYiaA"
      decimals="-3"
      id="Tc_kABhz3frrU-pt47n82qO4g_7_14"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-91814000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_W7_iLhUQ3Eez7g2Mo37oHQ"
      decimals="-3"
      id="Tc_sTX6M86pOE-U3O24UYzwjA_7_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">884681000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_ydj5ZY5Y8Ua9C_AKPuDEKw"
      decimals="-3"
      id="Tc_3Mf9r67vQUu4AjNArPyteg_7_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">14709000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2016_1CpwSxbtS0GMUYvki678nw"
      decimals="-3"
      id="Tc_MP_E-uJA10OaYHNnh6H_8A_7_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">899390000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_tnkCAsg17UatLYmCq4DZOg"
      decimals="-3"
      id="Tc_DxCTo-ZY7k6L9qN2Qn8Hkg_8_12"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">99572000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_6PbLu5TwSUmMSICGFizlfQ"
      decimals="-3"
      id="Tc_d0jFxeJDxUSTectsm3IVPA_8_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">99572000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_BaJSwC-jvkyCCPCrMYdgKA"
      decimals="-3"
      id="Tc_wuoLOpIw4kegh0UhbdQYFQ_8_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3411000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_lMR7CyMv8EqRQicRpNerIw_8_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">102983000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_FgNhElgP3kS2e7fsR4dPHw"
      decimals="-3"
      id="Tc_K1NdCDv1H0q-A3Cm3UPtOA_9_14"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39870000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_6PbLu5TwSUmMSICGFizlfQ"
      decimals="-3"
      id="Tc_A_R7PRLngUms-jHhWjAUGQ_9_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39870000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_BaJSwC-jvkyCCPCrMYdgKA"
      decimals="-3"
      id="Tc_Se6HX9eYKUaTVRYs8B8E1Q_9_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-565000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_M8M_ojjJc0yQq3PxIDfatA_9_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39305000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_BaJSwC-jvkyCCPCrMYdgKA"
      decimals="-3"
      id="Tc_42Kz6VpvZUyjxu-cxc-IFw_10_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9994000</us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination>
    <us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_Vgmhiqfl_UGp2xbvuHj1qw_10_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9994000</us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_3bshPo-TZ0ewiTeq3vJttg"
      decimals="-3"
      id="Tc_RWPuIjQZ70SHkUMRTt6zMQ_11_10"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9314000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_6PbLu5TwSUmMSICGFizlfQ"
      decimals="-3"
      id="Tc_oseDYUwjD0q4iGxHiIx4jA_11_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9314000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_byzh51_v3EiLSYguXZqRiA_11_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9314000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4KI1NSica0SVQrvTiFXc5A"
      decimals="INF"
      id="Tc_Klfq7xUlx0yxiPJbhCYfPg_12_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">666536</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4KI1NSica0SVQrvTiFXc5A"
      decimals="-3"
      id="Tc_qoCPggwicUuyYkBA4HNpTA_12_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">879000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_6PbLu5TwSUmMSICGFizlfQ"
      decimals="-3"
      id="Tc_O3IiUDbkk0ai4w_fdU8gBw_12_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">879000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_6n_NFHxA-UKuxRmdgH5OxA_12_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">879000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_FgNhElgP3kS2e7fsR4dPHw"
      decimals="-3"
      id="Tc_TvYmquP2v0CW0IMoDj4kPA_13_14"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-2090000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_6PbLu5TwSUmMSICGFizlfQ"
      decimals="-3"
      id="Tc_7ZhlbXronUCEPg-4FoyKew_13_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-2090000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_fBo-8i1yh0GL8uLfPsB9aw_13_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-2090000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_MhItSDewjEKzRG13QOXYxg"
      decimals="INF"
      id="Tc_vKF3XvtFpkisHcfJ8SmYGA_14_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">58496685</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_MhItSDewjEKzRG13QOXYxg"
      decimals="-3"
      id="Tc_hGprZFGpk0GrHydeCCdOBw_14_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">702162000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_zE2JbIRn5kypFq2dATQL0g"
      decimals="-3"
      id="Tc_1zJtfoIcqUGkKgGHgbmKyg_14_10"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">417000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_MTtBiDh0OU6qc7uDXnfYtw"
      decimals="-3"
      id="Tc_PwSbUcZUiUumSnZlQZ6dvg_14_12"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">383681000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_mkHaTeKOW0SdDBSASSDWsg"
      decimals="-3"
      id="Tc_-gXj6A6NFEyeQcLecndrxA_14_14"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-54034000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_UuC4L8PWdE-xhUjS_fwCaQ"
      decimals="-3"
      id="Tc_EDb6tNWHb0qAjWf12-DiFw_14_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1032226000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2017_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_rXsoFsYiOEaqN_AHcIxLpQ"
      decimals="-3"
      id="Tc_kofO8yt6KkC10D2U8su4FA_14_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">27549000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2017_kjGpnzkm3E6qIMnIr7nQSg"
      decimals="-3"
      id="Tc_Mfjoo7JcLEaAx4nXNzFWKw_14_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1059775000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_wPuaHKDK3EuppnS5RxVAsw"
      decimals="-3"
      id="Tc_dIKcHhF_M0qsu9h4uExVMQ_15_12"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">237070000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_pT5qca5y5kSh4Qhx1-e_Ug"
      decimals="-3"
      id="Tc_RjkLdDLaMUCmksMvTEiEtQ_15_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">237070000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_f-LLvZmLtUSBjT1PIB5Bvw"
      decimals="-3"
      id="Tc_CGFqNnYKdUmgSZ4xzUWtyQ_15_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5361000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_U7S8T2vV4kOnebyK8W6yNw_15_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">242431000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cMS9441ftU2M1VNcmrYt5A"
      decimals="-3"
      id="Tc_grS3ZugUB0CCAPWdNgmuWQ_16_14"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-53457000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_pT5qca5y5kSh4Qhx1-e_Ug"
      decimals="-3"
      id="Tc_4wyFxiX09kSY6ES4LSlFHA_16_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-53457000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_f-LLvZmLtUSBjT1PIB5Bvw"
      decimals="-3"
      id="Tc_bZM41C5F0kGIcRfCoJ5dLg_16_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2880000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_ZVcfkkFk1kygO8q4boupXg_16_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-50577000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:CumulativeEffectOnRetainedEarningsTax1
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201409Member_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_qBSWTIZPEE6iQm_IqcezHg"
      decimals="-3"
      id="Tc_ApS5XDvKF0-sThi-q7LrGw_17_12"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1265000</us-gaap:CumulativeEffectOnRetainedEarningsTax1>
    <us-gaap:CumulativeEffectOnRetainedEarningsTax1
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201409Member_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_yeZsr6DhAUe-6DhVF4SYxA"
      decimals="-3"
      id="Tc_cGGeLVlDbUiLfz2RLalNpw_17_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1265000</us-gaap:CumulativeEffectOnRetainedEarningsTax1>
    <us-gaap:CumulativeEffectOnRetainedEarningsTax1
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201409Member_xsDZKzb8CEqyTHafiYrNhA"
      decimals="-3"
      id="Tc_Ik-e0M3os0C6g6LBErynOg_17_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1265000</us-gaap:CumulativeEffectOnRetainedEarningsTax1>
    <us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_f-LLvZmLtUSBjT1PIB5Bvw"
      decimals="-3"
      id="Tc_h58maHA1n0y7VmHsoSIMjw_18_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7703000</us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination>
    <us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_EW7uRFc3k0GjNDhsN8aINQ_18_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7703000</us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_f-LLvZmLtUSBjT1PIB5Bvw"
      decimals="-3"
      id="Tc_ZGrtf4lE3k6qJt-J5mc6QA_19_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6591000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_wV57uH_S3EeKmdlhutlHbg_19_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6591000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_f-LLvZmLtUSBjT1PIB5Bvw"
      decimals="-3"
      id="Tc_s_HtOz4xzEih_60NYELEMg_20_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10470000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Fof3kFnQVk6FkOdYp7bwDQ_20_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10470000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_tGbnrmV98k65EuUMZj90jw"
      decimals="-3"
      id="Tc_noN8UjudMUKdO5NlfXcV2g_21_10"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10258000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_pT5qca5y5kSh4Qhx1-e_Ug"
      decimals="-3"
      id="Tc_ok98y9W5EkmelfcxlQDZ2A_21_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10258000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_EwpsPkTU3UKQBouTf4V8YQ_21_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10258000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_nFjjiBi4lkSsIzXqFbge1g"
      decimals="INF"
      id="Tc_9e1WqGzQ_0SgMYDveU69Tg_22_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">683939</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_nFjjiBi4lkSsIzXqFbge1g"
      decimals="-3"
      id="Tc_xoozHFRZXk2lXNwWWbiX6g_22_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">769000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_pT5qca5y5kSh4Qhx1-e_Ug"
      decimals="-3"
      id="Tc_4ewkGAMS1USF4z0MK7VeRA_22_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">769000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_ojBR_l-ipU6xj-OV0JFGRQ_22_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">769000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cMS9441ftU2M1VNcmrYt5A"
      decimals="-3"
      id="Tc_VJRZU2URa0OoQ19tiza6VQ_23_14"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-8752000</csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap>
    <csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_pT5qca5y5kSh4Qhx1-e_Ug"
      decimals="-3"
      id="Tc_mKnlT32WWEWRNtA5EmCAfg_23_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-8752000</csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap>
    <csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_AWXRRCq-6kisw1h_5gyOOQ_23_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-8752000</csiq:OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cMS9441ftU2M1VNcmrYt5A"
      decimals="-3"
      id="Tc_c89Im06-rUewMnMI2T4z1A_24_14"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6094000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_pT5qca5y5kSh4Qhx1-e_Ug"
      decimals="-3"
      id="Tc_5kI3HJDCP0eDrAnCSGnk5w_24_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6094000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Iu5cC9BWW0GQKtipC85LFA_24_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6094000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_z65UHMJPyk2H29t9_g-73Q"
      decimals="INF"
      id="Tc_s1IgaGWbW0eeuKH0D3KCEg_25_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">59180624</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_z65UHMJPyk2H29t9_g-73Q"
      decimals="-3"
      id="Tc_aJgZ9iNf6k2CnFlHCaWbWQ_25_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">702931000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_F_rSpZnS2kWhxbLM1kMzag"
      decimals="-3"
      id="Tc_Kg9-BS1J6kiWeylo8fgK5g_25_10"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10675000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_lXIsF3A4akKkBYIQN-id3A"
      decimals="-3"
      id="Tc_E6psELDCiUWu9c-MyE1oWA_25_12"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">622016000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_qxbKlJGiF0OYebjptlrNIA"
      decimals="-3"
      id="Tc_15khyg5nl02Pmm-WWNI2Sg_25_14"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-110149000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_-CAIwk2Tok-B_IQAE1OWsw"
      decimals="-3"
      id="Tc_wy3rrG5C6kWkEgH2Gkc7MQ_25_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1225473000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_fCxkmUwsh0K-H0bNWqPkug"
      decimals="-3"
      id="Tc_ED-kNCdGZUO181QUpx-LeQ_25_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">47372000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_44W9o3SWzUmyF22h-_1few_25_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1272845000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_BvESqq7YKECcYeyhSu2GnA"
      decimals="-3"
      id="Tc_CbQ2BceaAEWpdCSD2Ne6cA_26_12"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">171585000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_WDuPwu4i6E6JTCsTHDHFZA"
      decimals="-3"
      id="Tc_j5DiQFMPTUueUP5MvjIPFQ_26_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">171585000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_uocq4WAIhEenWpsW1KQ3CA"
      decimals="-3"
      id="Tc_6j7uxYIBVUyH28vf5uAkYQ_26_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5030000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_nmkXFK6oD0K6U1Nz1__hPw_26_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">166555000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_2OIfeqpSGESfsPSlI6wM4A"
      decimals="-3"
      id="Tc_G6OMHt_bVEmLbgh7EkC2bQ_27_14"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6389000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_WDuPwu4i6E6JTCsTHDHFZA"
      decimals="-3"
      id="Tc_nG29BubvMUy-qbPvd8q99g_27_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6389000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_uocq4WAIhEenWpsW1KQ3CA"
      decimals="-3"
      id="Tc_gIF__WJU4EKlHZYUU3OQeQ_27_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-6070000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_l6E-YrGY3U6nAFV1ebvDSg_27_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">319000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_InOwCE-pbkqqFZ5f9Hzwsw"
      decimals="-3"
      id="Tc_lkO3iigEkEmlXHNewtxCZA_28_10"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4178000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_WDuPwu4i6E6JTCsTHDHFZA"
      decimals="-3"
      id="Tc_yXNDSreYYkqJ-wy9lX8zVQ_28_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4178000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_uocq4WAIhEenWpsW1KQ3CA"
      decimals="-3"
      id="Tc_IL2JPxmxtEyQxQr_gFvNMw_28_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9998000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_D31U3jfbmkKJ1h7rq80bKw_28_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">14176000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_P3MU0eWHLE61lxZGDcoFOw"
      decimals="INF"
      id="Tc_4zYEq-IXkUimPULp_XE5Qg_29_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">-609516</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Kf8H73bCqEylJ-QH_roF8g"
      decimals="0"
      id="Tc_DR98JPKHNEWyL4tYKbj6dA_29_6"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">609516</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_Kf8H73bCqEylJ-QH_roF8g"
      decimals="-3"
      id="Tc_TZhda804ekCPJlZ2jt1DAw_29_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11845000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_WDuPwu4i6E6JTCsTHDHFZA"
      decimals="-3"
      id="Tc_g6npWowQsUCGKV9a7ieZ4A_29_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11845000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_E3IlqwUTTkCSZBizmlTwEw_29_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11845000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_InOwCE-pbkqqFZ5f9Hzwsw"
      decimals="-3"
      id="Tc_Nf5ubK8b5keA1SIjzncxCQ_30_10"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10682000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_WDuPwu4i6E6JTCsTHDHFZA"
      decimals="-3"
      id="Tc_bBXxIFYdvE-4hZdpdujDuQ_30_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10682000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_iPN633H0-E-v4IZJgZ456g_30_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10682000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_P3MU0eWHLE61lxZGDcoFOw"
      decimals="INF"
      id="Tc_MeeZ-85LTEKuePW9pXegGw_31_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">800576</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_P3MU0eWHLE61lxZGDcoFOw"
      decimals="-3"
      id="Tc_xFVMN29gE0-lhn6DAZFz-A_31_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">875000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_WDuPwu4i6E6JTCsTHDHFZA"
      decimals="-3"
      id="Tc_b8vZO7O1q06uxL8qxU6jUw_31_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">875000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_Jw4J4LZAdUaOMyUesrB0jg_31_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">875000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_uocq4WAIhEenWpsW1KQ3CA"
      decimals="-3"
      id="Tc_jIEMXXucC0Ofr8G2Ok-9Mw_32_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5650000</us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest>
    <us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_LpgplHqVuU2BwAvJxfqnjg_32_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5650000</us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_2OIfeqpSGESfsPSlI6wM4A"
      decimals="-3"
      id="Tc_wAhMwldiKU-6HEBHLUVRsg_33_14"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5847000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_WDuPwu4i6E6JTCsTHDHFZA"
      decimals="-3"
      id="Tc_tACjrbskKEif93dyfbu4hg_33_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5847000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_oCklvAFWYEOvfS7hPgVntA_33_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5847000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_x5wJ9gYLeUeDnvVbqJ-eEw"
      decimals="INF"
      id="Tc_hdqcjHEFEkeyHMdG6YJUNg_34_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">59371684</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_x5wJ9gYLeUeDnvVbqJ-eEw"
      decimals="-3"
      id="Tc_l1ovoQcNd0q6adRfwy8jrA_34_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">703806000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_JQIQI4zpo0i_SPQaqY6QAw"
      decimals="INF"
      id="Tc_CkgLZLRm0kmkE--d9bpT-A_34_6"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">609516</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockMember_JQIQI4zpo0i_SPQaqY6QAw"
      decimals="-3"
      id="Tc_tYMbck9RVE-VCffs6ekDDw_34_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-11845000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_lckOyUUN0EK1kGCXzdJeGg"
      decimals="-3"
      id="Tc_77rwPB_wCUy-oxgFTXgDZg_34_10"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">17179000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_vmjBVpeQpUu2cciDTOBbrA"
      decimals="-3"
      id="Tc_chkeIhsnD0WCw3I7X1-4kA_34_12"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">793601000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_qH8zh0_p5UWYdTBQMf7jQA"
      decimals="-3"
      id="Tc_It_7IXhtL0qB9FozDY1Wpw_34_14"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-109607000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_zZioCX8geky17tQwyDEmiQ"
      decimals="-3"
      id="Tc_mreGoS46jkGp9EK4hHX1uw_34_16"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1393134000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_QaVTYJR-Sk-CJWrZwsHXTA"
      decimals="-3"
      id="Tc_OGZ-2bZ_O0eAdnHElz8KCQ_34_18"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">31924000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_DJfirnUuZk6TukKvVAwAww_34_20"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1425058000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_12_1_2019_To_12_31_2019_6Sb61chd0k6u_eevRjCz9g"
      decimals="INF"
      id="Narr_GvYWZfBwtUWYgGXE9imMag"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">609516</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_12_1_2019_To_12_31_2019_6Sb61chd0k6u_eevRjCz9g"
      decimals="-3"
      id="Narr_j9C3RP-DUEi5wvoChQi_eg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11845000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_D1tEpRlGlU-Sn9H9MzGMdg_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">102983000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_WelYYR7AZUOR8x3yUAt6zg_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">242431000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_cRQ-dZmD9Uuqy0TaXRtR-w_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">166555000</us-gaap:ProfitLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_z5xX1G12KkCIIW7HiHgY0Q_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">99273000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_4eS9mdyax0eAxPDBGmdx8w_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">129256000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_8gv_ZVcS9EqqsgmnPFEycw_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">159723000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_wH0MWAcrzk60PnGGlHnAfA_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-13976000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_ZO8HFQp6Rk2UVlpOpPK7kw_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-2565000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_AqFaVQnO6EebyGgH2uBetw_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1227000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_JYtM_GCUH0a66kMW_PyRhA_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">27803000</csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments>
    <csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_GkefzrdSzkOeV4NCICquoQ_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">36098000</csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments>
    <csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_ELMHCy6Pgkuc43GK4vM3JQ_9_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1666000</csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_8e5RHhm_REGAZstdbbV4Dw_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">47102000</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_0wXMJ_V6a0yiHgOf9jYkAA_10_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1928000</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_p__1GrxtsEaRIrWJ4xDwmg_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11626000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_shCpBeNtg0OB2IHe7dxu7w_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">30968000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_MRcU_0eTDEK72jbHAC-X6w_11_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">21866000</us-gaap:AssetImpairmentCharges>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_avGS9BYniEmMeT2Y2cH-3Q_12_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9016000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_9QO0cczt_E24_sQonQy_sA_12_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20194000</csiq:ProjectAssetsImpairmentCharge>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_nbOBeIyC3Uah11SE43iujQ_13_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3686000</us-gaap:ImpairmentOfInvestments>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_mrXsIcRtok2Cz4nY7cox4Q_13_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5738000</us-gaap:ImpairmentOfInvestments>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_E2uSh4TlEUSeteoxtd7jVg_14_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-272000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_vZl7kKDc1Eq6Y1uHLFsahQ_14_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-19230000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_wBtR7auZJkyzSF-pJjmbtQ_14_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-22218000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_y9n5xjiKxE-J1R68o6Jixg_15_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9411000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_QFYbsTYLvUO-gIe0cYmPkw_15_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5908000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_RrfRgep_G0SQxbniyaw7TA_15_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28948000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_dlljOtj-J0-EqeBeaLVQ6g_16_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7265000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_WwarjZCSiEWyKmq1H-TBQw_16_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2812000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_JCAFV0pGLUWBTYYJR_mogw_16_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1250000</us-gaap:ProvisionForDoubtfulAccounts>
    <csiq:NonCashOperatingLeaseExpenses
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_yozjHbYKBkK99RWpUJcxxw_17_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">14318000</csiq:NonCashOperatingLeaseExpenses>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_BExZiAxJS0KFbxGEpF5hjA_18_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">17820000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_BUnuCqoaNk-D72FikK-pMQ_18_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">14646000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_Q9lCuiFpPk-ZMjwmmo1o8g_18_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">19447000</us-gaap:InventoryWriteDown>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_b0pFb3c9Jk6muJTxuLdmIQ_19_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9314000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_AoGIgjDZFUSR6t5aVPXYDA_19_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10258000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_KUDL7Gnxr0-RwirYwjCAFw_19_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10682000</us-gaap:ShareBasedCompensation>
    <csiq:UnrealizedGainLossFromSalesToInvestees
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_uFTpO6AwG0mNGtrwmubDOQ_20_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-13065000</csiq:UnrealizedGainLossFromSalesToInvestees>
    <csiq:UnrealizedGainLossFromSalesToInvestees
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_XLzHUel8-0WQGi74eWdkmg_20_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13573000</csiq:UnrealizedGainLossFromSalesToInvestees>
    <csiq:UnrealizedGainLossFromSalesToInvestees
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_AsS5YxKNfketr38A7L55ug_20_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-6194000</csiq:UnrealizedGainLossFromSalesToInvestees>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_WPprDbFnxEW8cc66yQUIyg_22_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-46337000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_RCXSCxpwdUaifY2H0H1bHA_22_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">179607000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_TkP4bmHGpEGJZyR2qxd-lQ_22_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-51670000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_FqAkN_sIdEOBXteiLPn5dg_23_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-2345000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_BawDa6J0bk6pGaF1haz1IQ_23_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1158000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_AfoOxm-ArkGkHXZA3woThw_23_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15268000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_BqBtMn0L5k-Ja4imMM9SRg_24_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10089000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_c26kZp9C4EKGKHwuq3dGiQ_24_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-9237000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_URKzU8fa6UW6hXNURDuqiQ_24_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">17347000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_HFxyI8Hv-ky_saZeJtqJ0g_25_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">49024000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_vOYnbjY1P0yK2gTzTPnqTg_25_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-55408000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_0KmL9LtUaUqDKmmAUm6TUA_25_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">312781000</us-gaap:IncreaseDecreaseInInventories>
    <csiq:IncreaseDecreaseInValueAddedTaxReceivable
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_bNSAOzEJNEiMVlXrr5Ljjg_26_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">38190000</csiq:IncreaseDecreaseInValueAddedTaxReceivable>
    <csiq:IncreaseDecreaseInValueAddedTaxReceivable
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_rdKhAWxxj06EAmjfesRQow_26_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9206000</csiq:IncreaseDecreaseInValueAddedTaxReceivable>
    <csiq:IncreaseDecreaseInValueAddedTaxReceivable
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_Eo57wXEzGUO623klKKOE6w_26_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">849000</csiq:IncreaseDecreaseInValueAddedTaxReceivable>
    <csiq:IncreaseDecreaseInAdvanceToSuppliers
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_JWwrv_OZRECRWdU4LIIaiQ_27_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15990000</csiq:IncreaseDecreaseInAdvanceToSuppliers>
    <csiq:IncreaseDecreaseInAdvanceToSuppliers
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_fZfI6daKHkWkfbh4SxJONQ_27_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-29001000</csiq:IncreaseDecreaseInAdvanceToSuppliers>
    <csiq:IncreaseDecreaseInAdvanceToSuppliers
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_tBR9VC2FjEqtc4RMki-CbQ_27_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">27066000</csiq:IncreaseDecreaseInAdvanceToSuppliers>
    <csiq:IncreaseDecreaseInProjectAssets
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc__ru2tytD5EmONV0ZfxtVfA_28_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">128982000</csiq:IncreaseDecreaseInProjectAssets>
    <csiq:IncreaseDecreaseInProjectAssets
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_yBuQ2KB3VE6AwBLRwI15RA_28_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">30501000</csiq:IncreaseDecreaseInProjectAssets>
    <csiq:IncreaseDecreaseInProjectAssets
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_PMmVirlZFEiOKu9VBdW0DA_28_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-28527000</csiq:IncreaseDecreaseInProjectAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_nDZJxeah5kWrYXbrt_vz1g_29_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">49813000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_bbNAfR3Zu06PrXpiIZ0mCA_29_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2208000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_qchk-mvG7E61iJfh1dMd_w_29_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-33283000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_libW7wqQHkur40F75-wgAQ_30_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">23795000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_VE4pw_Nl_UKrF4Zqs6oORA_30_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-9387000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_-mlVkCgde0ymyDCBF6b4mA_30_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">24037000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_dsNcNw5wIkiKBnyzWG03-w_31_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-27758000</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_TCnc5Xof7Uu2d4PFcRM4Ng_31_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">47756000</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc__bhjajd_iUSjVKFuAybWpg_31_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">209175000</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInNotesPayableCurrent
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_f1HXrfoLSki9lD7o0M-Lgg_32_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">243685000</us-gaap:IncreaseDecreaseInNotesPayableCurrent>
    <us-gaap:IncreaseDecreaseInNotesPayableCurrent
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_wEaYMGNts0qwTOBi4ngD-w_32_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-173148000</us-gaap:IncreaseDecreaseInNotesPayableCurrent>
    <us-gaap:IncreaseDecreaseInNotesPayableCurrent
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_SQpMJ-b-fUCdFbrKnSKcqA_32_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">185827000</us-gaap:IncreaseDecreaseInNotesPayableCurrent>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_ZUIcMU2-UESXItIW0miC8w_33_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">33908000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_2v6uZMSppUWTGcMBk4lD7Q_33_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10467000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_c7LUVzoRbEikyAehxeK75g_33_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5798000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInOtherAccountsPayable
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_K7FdL_Zf9kmsQMHToNPd7Q_34_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5889000</us-gaap:IncreaseDecreaseInOtherAccountsPayable>
    <us-gaap:IncreaseDecreaseInOtherAccountsPayable
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_ZEO3SkV9vEOi--vvuyMKQg_34_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39791000</us-gaap:IncreaseDecreaseInOtherAccountsPayable>
    <us-gaap:IncreaseDecreaseInOtherAccountsPayable
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_03XOFoOgzkyzD6015RKLXw_34_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">42810000</us-gaap:IncreaseDecreaseInOtherAccountsPayable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_c0tSKiMtwUS5KQoYeVT0pQ_35_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-44985000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_3vVQBohtjEK9-DS0ymzfQw_35_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-11225000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_E-ixZAVFWUuujnBp8KGw1g_35_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">96115000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <csiq:IncreaseDecreaseInOperatingLeaseLiabilities
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_-1Hk3XWDQE2GeXLtpzV3jQ_36_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-12566000</csiq:IncreaseDecreaseInOperatingLeaseLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_3rJVES3LQEianV-KESZvww_37_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-18774000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_WiXNg8SIrE2tESLV_juJqA_37_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-29691000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_k0j1PDi7DkWioR69yrK_Wg_37_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-10851000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <csiq:IncreaseDecreaseInProductWarrantyAccrual
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_kQQ2G4DCU06s2AhZVu3tJg_38_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-6726000</csiq:IncreaseDecreaseInProductWarrantyAccrual>
    <csiq:IncreaseDecreaseInProductWarrantyAccrual
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_P-ccf9zvOEGxGFWX98IgtQ_38_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-3563000</csiq:IncreaseDecreaseInProductWarrantyAccrual>
    <csiq:IncreaseDecreaseInProductWarrantyAccrual
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_e50V5X2hFEyeXLMIm2v5-Q_38_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4624000</csiq:IncreaseDecreaseInProductWarrantyAccrual>
    <csiq:IncreaseDecreaseInPrepaidLandUseRight
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_r-Y7vatMik6-o8W7zqamaQ_39_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">30087000</csiq:IncreaseDecreaseInPrepaidLandUseRight>
    <csiq:IncreaseDecreaseInPrepaidLandUseRight
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_JoIikGqSPEWpLaXVtVK2gw_39_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-6557000</csiq:IncreaseDecreaseInPrepaidLandUseRight>
    <csiq:IncreaseDecreaseInPrepaidLandUseRight
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_qU4D1v1VNECMcLMMrDKF3A_39_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-2622000</csiq:IncreaseDecreaseInPrepaidLandUseRight>
    <csiq:IncreaseDecreaseInGoodwill
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_GShe1fLLEUWVmeEguxrnCg_40_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1369000</csiq:IncreaseDecreaseInGoodwill>
    <csiq:IncreaseDecreaseInGoodwill
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_31706Yl6tUK89X53zvXrRg_40_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5243000</csiq:IncreaseDecreaseInGoodwill>
    <csiq:IncreaseDecreaseInGoodwill
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_sk7-IY-H00uMf5jMuJkmPw_40_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1005000</csiq:IncreaseDecreaseInGoodwill>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_JjzAHn02i0iKDoFQ7EC8ig_41_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">833000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_bvV5xsw3LEWuiqCUTqPOJA_41_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10863000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_nASZU88vIkOr7v46ayAsNw_41_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-4775000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_-MR1Gccg0E-7TDzsu6lLeA_42_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-84939000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_usuUDD0zvECsdmYL_HjEcQ_42_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-37591000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_ILZhlTHEVki93pejVWKCaQ_42_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12455000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_zpGNcu6Qq0-CMY8dxcnJhQ_43_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1460000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_FCjBKuUQk06r9cd0HDa4-g_43_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-28731000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_h9T46d-CaU2nF6rpjgIINg_43_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">27012000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_NJNx6mUwzkCLRcHU98AJ4A_44_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4126000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_OMsgZOG4-kizz53hcCFuYA_45_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">203920000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_QlsNmiFk8EK1rpJhl9-jAg_45_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">216280000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_jUSKc0DLDU2qjUBigb0ykA_45_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">600111000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_htstnckCcE26VzIB57GvAw_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">92925000</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_mjSpxh-Q7EunaWFVEk7H5Q_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11036000</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_gQ7n2gJy_UayBP1dN50lDA_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7684000</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_rBwByD0DAUa-NQ-6latrxA_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4233000</us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital>
    <us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_RascmZhlE0adQjjx76bemw_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">816000</us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital>
    <us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_X74qGD0HjECDb092jiODjg_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3012000</us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital>
    <us-gaap:ProceedsFromSaleOfEquityMethodInvestments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_RhmIif9By0WFkYhHS8idbg_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">337773000</us-gaap:ProceedsFromSaleOfEquityMethodInvestments>
    <us-gaap:ProceedsFromSaleOfEquityMethodInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_JazCUzJ4i0y9iWnYlEa9vw_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1649000</us-gaap:ProceedsFromSaleOfEquityMethodInvestments>
    <csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_TfM9kX4yAESGgyhOwJJ7gg_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">276978000</csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets>
    <csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Bdbut6BA-EeNtC9ohMy5rw_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">316282000</csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets>
    <csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_Sf6hEBQlDUKGj_kof44YJQ_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">291182000</csiq:PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets>
    <csiq:PaymentsToAcquireSolarPowerSystems
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_aPgEvS9ISkSujqIo4Mrwzg_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">33697000</csiq:PaymentsToAcquireSolarPowerSystems>
    <csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_iZq9IAJuVEqLqrMLmsuBlA_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">128768000</csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems>
    <csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_PJHz97GJoE6wZNQUjk_omQ_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">17800000</csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems>
    <csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_1Vr_yYc24USGipeFWeHCkQ_10_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">103000</csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems>
    <us-gaap:ProceedsFromInsuranceSettlementInvestingActivities
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_cKkNrwMUcESR-uwN5KV1pg_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">43930000</us-gaap:ProceedsFromInsuranceSettlementInvestingActivities>
    <us-gaap:PaymentsToAcquireAdditionalInterestInSubsidiaries
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_1lCgK28m70ybwCH6iKACJQ_12_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12561000</us-gaap:PaymentsToAcquireAdditionalInterestInSubsidiaries>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_Ti98km25V0mHGkT1L8-bGQ_13_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-239230000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_qS-k3TFVOEitK7xmWtvJaA_13_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">29071000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_JYB2a0OawkWeUeBULZRsvA_13_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-294102000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_QFwKrGGXIEuT1x0PaAsZmA_15_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1646910000</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_RgRymgwjAEqnX-PQKgQ0Qg_15_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1430708000</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_25s3XJ9eN0eG5pWAOB46qQ_15_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1257009000</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_ELBPnMGA5Em9CzRx4bdejg_16_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2068069000</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_a50_zv4UM0ePt-sJPDJOxg_16_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2368967000</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_OTnazN4eEUqxZvhC17obUQ_16_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1649721000</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_FlAFH0GdkkuggOWZqMK6tg_17_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">690841000</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_GWkRNiZ-OU2mZZxcMsHDKg_17_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">382831000</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_f5BNJqVhWUulFNW4PmIQpw_17_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">530990000</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_myYQMLbYokSWuKIIrVhtOA_18_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6591000</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_zrSH_DJ_jU-hF1C6Qd3PYw_18_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">14176000</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:ProceedsFromMinorityShareholders
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_lGjUv2UraE6tl60m3NJpXA_19_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10470000</us-gaap:ProceedsFromMinorityShareholders>
    <us-gaap:ProceedsFromMinorityShareholders
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_SXnX53lI3UmFuPbkkORTXg_19_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11488000</us-gaap:ProceedsFromMinorityShareholders>
    <csiq:ProceedsFromThirdPartyFinancingLiabilities
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_rjKztCJwmEGjJYmh2Kaoag_20_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12243000</csiq:ProceedsFromThirdPartyFinancingLiabilities>
    <csiq:ProceedsFromThirdPartyFinancingLiabilities
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_VY9-rfoOu0avNjLgPP5uJw_20_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">119095000</csiq:ProceedsFromThirdPartyFinancingLiabilities>
    <csiq:ProceedsFromThirdPartyFinancingLiabilities
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_vTfdiJbfE0W04xqHa2vqpw_20_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3000000</csiq:ProceedsFromThirdPartyFinancingLiabilities>
    <us-gaap:SaleLeasebackTransactionNetProceedsFinancingActivities
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_wP-Awqw6RU6Kn1qab82QSg_21_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">61142000</us-gaap:SaleLeasebackTransactionNetProceedsFinancingActivities>
    <us-gaap:SaleLeasebackTransactionNetProceedsFinancingActivities
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_KbgHEfmDh0OjWOI8TBtNnA_21_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">35944000</us-gaap:SaleLeasebackTransactionNetProceedsFinancingActivities>
    <us-gaap:SaleLeasebackTransactionNetProceedsFinancingActivities
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_h0RXvmECCESWCs4b7eCowA_21_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9044000</us-gaap:SaleLeasebackTransactionNetProceedsFinancingActivities>
    <csiq:PaymentsOfDistributionsToTaxEquityInvestors
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_lzivvmbdrUa4qAXpgBuMbQ_22_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9582000</csiq:PaymentsOfDistributionsToTaxEquityInvestors>
    <csiq:PaymentsOfDistributionsToTaxEquityInvestors
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_fctZhZpsAUu6ixDrDHymZg_22_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3013000</csiq:PaymentsOfDistributionsToTaxEquityInvestors>
    <csiq:PaymentsOfDistributionsToTaxEquityInvestors
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_scdzpLOYq02eoczBxT4RPA_22_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1120000</csiq:PaymentsOfDistributionsToTaxEquityInvestors>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_kmH_mq9XB0S4u7PQrzAG6A_23_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">30128000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Y4EM7FiUNE2YvCu-9hav4w_23_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">64859000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_PgOyRWz00EKJNn8dhB8dmA_23_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">42658000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:RepaymentsOfCommercialPaper
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_ONyRNVmONU6nzfVOMj1K_A_24_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">138953000</us-gaap:RepaymentsOfCommercialPaper>
    <us-gaap:RepaymentsOfConvertibleDebt
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_evt4KnuBd0mxNRcNdP-TQw_25_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">127500000</us-gaap:RepaymentsOfConvertibleDebt>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_cq7YRCeRuE2_auA_5Vg7IA_26_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">879000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_r6vJ9bHwAEaJNPmhT3F8HA_26_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">769000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_GyO-DgAmh0Cr8BUR1MRcjA_26_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">875000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:PaymentsForRepurchaseOfOtherEquity
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_Bi0CnA-Z_kexiULd0EGjQw_27_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11845000</us-gaap:PaymentsForRepurchaseOfOtherEquity>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_sEa5iLLDWEK3KnzbKO9wTQ_28_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">165283000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_phd3RazPjEKp0I2nxjnodA_28_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-463613000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_pby2mybW10ybma439sj5Mg_28_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-34614000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_wXl8_JyKbkC3AyBTi_FOyw_29_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">51342000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Vr3MWsuVQk2C7dfqA0oqQg_29_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-38725000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_WMYA6bITHUa4nKAo-yFBWA_29_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-6965000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_y7xeYneNXEmc5ocTK1ms_A_30_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">181315000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_QPKLzXpBrEKZvyC27tZ3Ig_30_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-256987000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_w8kT5b_e3ECZWGRn7NrVEA_30_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">264430000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2016_1CpwSxbtS0GMUYvki678nw"
      decimals="-3"
      id="Tc_zpobSsuRFk2SScd6ngomDA_31_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1007700000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2017_kjGpnzkm3E6qIMnIr7nQSg"
      decimals="-3"
      id="Tc_b9gXjbr5t0W0-wOwXOs0JQ_31_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1190134000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_zihSZeTo_kK3u4Nh5AVMiQ_31_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">940990000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <csiq:NetIncreaseDecreaseCashAndCashEquivalentsAssetsHeldForSale
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_25r5P71A0Eu0uUSPFrpPww_32_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1119000</csiq:NetIncreaseDecreaseCashAndCashEquivalentsAssetsHeldForSale>
    <csiq:NetIncreaseDecreaseCashAndCashEquivalentsAssetsHeldForSale
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_PQ6BIycV0UmSFfeT93FWbQ_32_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-7843000</csiq:NetIncreaseDecreaseCashAndCashEquivalentsAssetsHeldForSale>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2017_kjGpnzkm3E6qIMnIr7nQSg"
      decimals="-3"
      id="Tc_ZgeAD7lx3UCJt5nL92Vxpw_33_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1190134000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_-tZKOIIto0afQQ6UyNGrig_33_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">940990000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_jPWK1YLV50OrI7ZpWD8xFg_33_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1205420000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_Kk6qwWHUiEuDnJzJ_PsOGQ_35_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">113513000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Ae50QTcUE0m2qQb1E14hNQ_35_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">103236000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_FetKQBhFJE-0Cb7nwVcP9Q_35_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">85362000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_tnQoyjLykk-S9XjnzNbAtw_36_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">45483000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_ttq32Qgi20aWuM2nNzlfMg_36_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">32135000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_lVvvuXXsu0OP7X6__3Ak5A_36_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">40454000</us-gaap:IncomeTaxesPaidNet>
    <csiq:SolarPowerSystemsReclassifiedToProjectAssets
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_lJotV0R_eE2QgIOxEVhANQ_38_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4782000</csiq:SolarPowerSystemsReclassifiedToProjectAssets>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_scqNLF1eYUeuEFeDa-wAvA_39_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">153017000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_ZscY_1Bn80q9CluRYPondw_39_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">228970000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_XgfcZyVhw06f-G9DY9PZiA_39_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">244483000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_metXh6pQsk6xm3xO0e-C5g_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">444298000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_rPoY1uZzjUyf7aNVAEITaQ_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">668770000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_ChqSHFOk6UOmzwScTxAxdA_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">480976000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_GeNXgaTWy0uuOdu62G1-HA_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">526723000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_zDeISFYBWUCVC_YvTjiAtg_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15716000</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_T7PbZSAypEeMAM_U-0Tv5w_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9927000</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_wQ9mZ6cQBkSOt2aUQoHuSQ_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">940990000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_9i2c6QtRlk-Bdw_9vVrXXg_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1205420000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:NatureOfOperations
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_XGTPfGIXfk6BzfHTvUb78Q">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;1. ORGANIZATION AND PRINCIPAL ACTIVITIES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Canadian Solar Inc. (&#x201c;CSI&#x201d;) was incorporated pursuant to the laws of the Province of Ontario in October 2001, and changed its jurisdiction by continuing under the Canadian federal corporate statute, the Canada Business Corporations Act, or CBCA, effective June 1, 2006.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;CSI and its subsidiaries (collectively, the &#x201c;Company&#x201d;) design, develop, and manufacture solar wafers, cells and solar power products. In recent years, the Company has increased investment in, and management attention on its total solutions business, which primarily consists of solar power project development and sale, EPC and development services, O&amp;amp;M services, operating solar power projects and sales of electricity, and sales of solar system kits. As of December 31, 2019, major subsidiaries of CSI are included in Appendix 1. &lt;/p&gt;</us-gaap:NatureOfOperations>
    <us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_wqodQOLIk0qpY2jzsLARsg">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(a)&#160;&#160;&#160;Basis of presentation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The consolidated financial statements of the Company have been prepared in accordance with U.S.&#160;generally accepted accounting principles (&#x201c;U.S.&#160;GAAP&#x201d;).&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(b)&#160;&#160;&#160;Basis of consolidation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The consolidated financial statements include the financial statements of the Company and its subsidiaries in which it has a controlling financial interest or variable interest entities (&#x201c;VIEs&#x201d;) for which the Company is a primary beneficiary. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;A controlling financial interest is typically determined when a company holds a majority of the voting equity interest in an entity. All intercompany balances and transactions between the Company and its subsidiaries have been eliminated in consolidation.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company consolidates VIEs when the Company is the primary beneficiary. VIEs are entities that lack sufficient equity to finance their activities without additional financial support from other parties or whose equity holders, as a group, lack one or more of the following characteristics: (a) direct or indirect ability to make decisions; (b) obligation to absorb expected losses; or (c) right to receive expected residual returns. VIEs must be evaluated quantitatively and qualitatively to determine the primary beneficiary, which is the reporting entity that has (a) the power to direct activities of a VIE that most significantly impact the VIEs economic performance and (b) the obligation to absorb losses of the VIE that could potentially be significant to the VIE or the right to receive benefits from the VIE that could potentially be significant to the VIE. The primary beneficiary is required to consolidate the VIE for financial reporting purposes. A VIE can have only one primary beneficiary, but may not have a primary beneficiary if no party meets the criteria described above.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;When evaluating whether the Company is the primary beneficiary of a VIE, and must therefore consolidate the entity, the Company performs a qualitative analysis that considers the design of the VIE, the nature of its involvement and the variable interests held by other parties. If that evaluation is inconclusive as to which party absorbs a majority of the entity&#x2019;s expected losses or residual returns, a quantitative analysis is performed to determine the primary beneficiary.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For the Company's consolidated VIEs, the Company has presented in note 10, to the extent material, the assets of its consolidated VIEs that can only be used to settle specific obligations of the consolidated VIE, and the liabilities of its consolidated VIEs for which creditors do not have recourse to its general assets outside of the consolidated VIE. All intercompany accounts and transactions between the Company and its consolidated VIEs have been eliminated in consolidation.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(c)&#160;&#160;&#160;Use of estimates&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The preparation of consolidated financial statements in conformity with U.S. GAAP requires the Company to make estimates and assumptions that affect reported amounts of assets and liabilities, disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates. Significant accounting estimates reflected in the Company&#x2019;s consolidated financial statements include revenue recognition for sales of solar power projects, EPC and development services accounted for under a cost-based input method, allowance for doubtful accounts receivable and advances to suppliers, valuation of inventories and provision for firm purchase commitments, provision for contingent liability, impairment of long-lived assets and project assets, the estimated useful lives of long-lived assets, determination of assets retirement obligation (&#x201c;ARO&#x201d;), discount rates used to measure operating lease liabilities, accrual for warranty and the recognition of the benefit from the purchased warranty insurance, fair value estimate of financial instruments including warrants and other types of derivative, accrual for uncertain tax positions, valuation allowances for deferred tax assets, applying acquisition method of accounting to business acquisitions and the grant-date fair value of share-based compensation awards and related forfeiture rates.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(d)&#160;&#160;&#160;Cash and cash equivalents and restricted cash&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Cash and cash equivalents are stated at cost, which approximates fair value. Cash and cash equivalents consist of cash on hand and demand deposits, which are unrestricted as to withdrawal and use, and have original maturities of three months or less when&#160;acquired.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Restricted cash represents amounts held by banks, which are not available for the Company&#x2019;s general use, as security for issuance of letters of credit, short-term notes payable and bank borrowings. Upon maturity of the letters of credit, repayment of short-term notes payable or bank borrowings, the deposits are released by the bank and become available for general use by the&#160;Company.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(e)&#160;&#160;&#160;Accounts receivable, unbilled&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Accounts receivable, unbilled represents a contract asset for revenue that has been recognized in advance of billing the customer. The Company uses a cost-based input method to recognize revenue from EPC and development services when all relevant revenue recognition criteria have been met. Under this accounting method, revenue may be recognized in advance of billing the customer, which results in the recording of accounts receivable, unbilled. Once the Company meets the billing criteria under such contract, the rights to consideration becomes unconditional, it bills the customer and reclassifies the unbilled balance to accounts receivable trade. Billing requirements vary by contract, but are generally structured around completion of certain construction milestones.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(f)&#160;&#160;&#160;&#160;Allowance for doubtful receivables&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company began purchasing insurance from China Export&#160;&amp;amp; Credit Insurance Corporation ("Sinosure") since 2009 for certain of its accounts receivable trade in order to reduce its exposure to bad debt loss. The Company provides an allowance for accounts receivable trade using primarily a specific identification methodology. An allowance is recorded based on the likelihood of collection from the specific customer regardless whether such account is covered by Sinosure. At the time the claim is made to Sinosure, the Company records a receivable from Sinosure equal to the expected recovery up to the amount of the specific allowance. The Company had recorded a receivable from Sinosure in prepaid expenses and other current assets of $164 and $166 as of December 31, 2018 and 2019, respectively and a corresponding reduction in bad debt&#160;expense.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(g)&#160;&#160;&#160;Advances to suppliers&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company makes prepayments to certain suppliers and such amounts are recorded in advances to suppliers in the consolidated balance sheets. Advances to suppliers expected to be utilized within twelve months as of each balance sheet date are recorded as current assets and the portion expected to be utilized after twelve months are classified as non-current assets in the consolidated balance&#160;sheets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(h)&#160;&#160;&#160;Inventories&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Inventories are stated at the lower of cost or net realizable value. Cost is determined by the weighted-average method. Cost of inventories consists of direct materials and, where applicable, direct labor costs, tolling costs and those overhead costs that have been incurred in bringing the inventories to their present location and condition.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Adjustments are recorded to write down the cost of obsolete and excess inventories to the estimated net realizable value based on historical and forecast demand. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(i)&#160;&#160;&#160;&#160;Project assets&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Project assets consist primarily of capitalized costs relating to solar power projects in various stages of development prior to the intended sale of the solar power projects to a third party. These costs include certain acquisition costs, land costs and costs for developing and constructing a solar power system. Development costs can include legal, consulting, permitting, and other similar costs. Construction costs can include execution of field construction, installation of solar equipment, solar modules and related equipment. Interest costs incurred on debt during the construction phase and all deferred financing costs amortized during the construction phase are also capitalized within project assets.  &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Solar power projects are preliminarily classified as project assets unless the Company has intention not to sell them to third parties. In that case, they will be classified as solar power systems on the balance sheet. During the development phase, solar power projects are accounted for in accordance with the recognition, initial measurement and subsequent measurement subtopics of ASC 970- 360, as they are considered in substance real estates. The costs to construct solar power projects are presented as operating activities or investing activities in the consolidated statement of cash flows, if they are related to project assets or solar power systems, respectively. While the solar power projects are in the development phase, they are generally classified as non-current assets, unless it is anticipated that the sale will occur within one year.  Appropriateness of the classification of the solar power projects is assessed based on the circumstances on each balance sheet date. Solar power projects that the Company intends to sell within one year, which meet the criteria of ASC 360, are classified as project assets-current. Solar power projects that the Company intends to hold and operate to generate electricity are still classified as solar power systems. &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company reviews project assets for impairment whenever events or changes in circumstances indicate that the carrying amount may not be recoverable. The Company considers a project commercially viable or recoverable if it is anticipated to be sold for a profit once it is either fully developed or fully constructed. The Company considers a partially developed or partially constructed project commercially viable or recoverable if the anticipated selling price is higher than the carrying value of the related project assets. The Company examines a number of factors to determine if the project will be recoverable, the most notable of which include whether there are any changes in environmental, ecological, permitting, market pricing or regulatory conditions that impact the project. Such changes could cause the costs of the project to increase or the selling price of the project to decrease. If a project is not considered recoverable, the Company impairs the respective project assets and adjusts the carrying value to the estimated recoverable amount, with the resulting impairment recorded within operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Project assets are often held in separate legal entities which are formed for the special purpose of constructing the project assets, which the Company refers to as &#x201c;project companies&#x201d;. The Company consolidates project companies as described in note 2 (b) above. The cash paid to the non-controlling interest in connection with disposal of such project companies was recorded as a financing activity in the consolidated statement of cash flows.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;The Company does not depreciate the project assets. Any revenue generated from a solar power system connected to the grid would be considered incidental revenue and accounted for as a reduction of the capitalized project costs for development.  If circumstances change, and the Company will begin to operate the project assets for the purpose of generating income from the sale of electricity, the project assets will be reclassified to solar power systems.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(j)&#160;&#160;&#160;&#160;Business combination&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Business combinations are recorded using the acquisition method of accounting and, accordingly, the acquired assets and liabilities are recorded at their fair market value at the date of acquisition. Any excess of acquisition cost over the fair value of the acquired assets and liabilities, including identifiable intangible assets, is recorded as goodwill. The Company charges acquisition related costs that are not part of the purchase price consideration to general and administrative expenses as they are incurred. These costs typically include transaction and integration costs, such as legal, accounting, and other professional fees. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(k)&#160;&#160;&#160;Assets acquisition&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;When the Company acquires other entities, if the assets acquired and liabilities assumed do not constitute a business, the transaction is accounted for as an asset acquisition. Assets are recognized based on the cost, which generally includes the transaction costs of the asset acquisition, and no gain or loss is recognized unless the fair value of noncash assets given as consideration differs from the assets&#x2019; carrying amounts on the Company&#x2019;s books. If the consideration given is not in the form of cash (that is, in the form of noncash assets, liabilities incurred, or equity interests issued), measurement is based on either the cost to the acquiring entity or the fair value of the assets (or net assets) acquired, whichever is more clearly evident and, thus, more reliably measurable. The cost of a group of assets acquired in an asset acquisition is allocated to the individual assets acquired or liabilities assumed based on their relative fair value and does not give rise to goodwill.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(l)&#160;&#160;Property, plant and equipment&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Property, plant and equipment is recorded at cost less accumulated depreciation. The cost of property, plant and equipment comprises its purchase price and any directly attributable costs, including interest costs capitalized during the period the asset is brought to its working condition and location for its intended use. The Company expenses repair and maintenance costs as&#160;incurred.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Depreciation is computed on a straight-line basis over the following estimated useful&#160;lives:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Buildings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;20 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Over the shorter of the lease term or their estimated useful lives&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Machinery&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_wCQYZoz750uAEDFs_tX9Mg"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;5&lt;/span&gt;&lt;/span&gt;-10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Furniture, fixtures and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;5 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Motor vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;5 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Costs incurred in constructing new facilities, including progress payments, capitalized interests and other costs relating to the construction, are capitalized and transferred to property, plant and equipment on completion and depreciation commences from that&#160;time.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For property, plant and equipment that has been placed into service, but is subsequently idled temporarily, the Company continues to record depreciation expense during the idle period. The Company adjusts the estimated useful life of the idled assets if the estimated useful life has&#160;changed.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;b style="font-weight:bold;"&gt; &lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(m)&#160;&#160;&#160;Solar power systems&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Solar power systems are comprised of ground-mounted projects and roof top systems that the Company intends to hold for use. The solar power systems are stated at cost less accumulated depreciation.  The cost consists primarily of direct costs incurred in various stages of development prior to the commencement of operations. For a self-developed solar power system, the actual cost capitalized is the amount of the expenditure incurred for the application of the feed-in tariff (&#x2018;&#x2018;FIT&#x2019;&#x2019;) or other similar contracts, permits, consents, construction costs, interest costs capitalized, and other costs capitalized. For a solar power system acquired from third parties, the initial costs include the consideration transferred and certain direct acquisition costs.  Expenditures for major additions and improvements are capitalized and minor replacements, maintenance, and repairs are charged to expense as incurred. &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;When solar power systems is retired, or otherwise disposed of, the cost and accumulated depreciation is removed from the balance sheets and any resulting gain or loss is included in the results of operations for the respective period. Depreciation is recognized using the straight-line method over the estimated useful lives of the solar power systems of &lt;span style="-sec-ix-hidden:Hidden_9fnvDhRg006UIcqPOGt6AQ"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;20&lt;/span&gt;&lt;/span&gt; to 25 years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(n)&#160;&#160;&#160;Intangible assets&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Intangible assets primarily represent the technical know-how and computer software purchased from third parties. Intangible assets are recorded at fair value at the time of acquisition less accumulated amortization, if applicable. Amortization is recorded according to the following table on a straight-line basis for all intangible assets:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:49.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:49.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Technical know-how&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:49.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Computer software&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_DzwZBiVHl02oSzavGfXqEg"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;1&lt;/span&gt;&lt;/span&gt;-10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(o)&#160;&#160;&#160;Prepaid land use rights&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Prepaid land use rights, in substance right-of-use assets recorded according to ASC 842 from January 1, 2019, represent amounts paid for the use right of lands located in China (&#x201c;PRC&#x201d;) and Japan. Amounts are charged to earnings ratably over the lease periods of &lt;span style="-sec-ix-hidden:Hidden_7NBhpV-8hEejJzqz3LlyIw"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;20&lt;/span&gt;&lt;/span&gt; to 50 years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(p)&#160;&#160;&#160;&#160;Investments in affiliates&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company uses the equity method of accounting for the investments. The Company records the equity method investments at historical cost and subsequently adjusts the carrying amount each period for share of the earnings or losses of the investee and other adjustments required by the equity method of accounting. Dividends received from the equity method investments are recorded as reductions in the cost of such investments. The amount associated with the share of earnings are considered as return of investment, and the rest received amount are considered as return on investment.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Investments are evaluated for impairment when facts or circumstances indicate that the fair value of the investment is less than its carrying value. An impairment is recognized when a decline in fair value is determined to be other-than-temporary. The Company reviews several factors to determine whether a loss is other-than-temporary. These factors include, but are not limited to, the: (i)&#160;nature of the investment; (ii)&#160;cause and duration of the impairment; (iii)&#160;extent to which fair value is less than cost; (iv)&#160;financial conditions and near term prospects of the affiliates; and (v)&#160;ability to hold the security for a period of time sufficient to allow for any anticipated recovery in fair value. During the years ended December 31, 2017, 2018 and 2019, the Company recorded $3,686, $5,738 and nil impairment charges on its investments, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(q)&#160;&#160;&#160;&#160;Impairment of long-lived assets&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company assesses the recoverability of the carrying value of long-lived assets when an indicator of impairment has been identified. The Company reviews the long-lived assets each reporting period to assess whether impairment indicators are present. For purposes of recognition and measurement of an impairment loss, a long-lived asset or assets is grouped with other assets and liabilities at the lowest level for which identifiable cash flows are largely independent of the cash flows of other assets and liabilities. For long-lived assets, when impairment indicators are present, the Company compares undiscounted future cash flows, including the eventual disposition of the asset group at market value, to the asset group&#x2019;s carrying value to determine if the asset group is recoverable. Assessments also consider changes in asset group utilization, including the temporary idling of capacity and the expected timing of placing this capacity back into production. If the sum of the expected undiscounted cash flows is less than the carrying amount of the assets, the Company will recognize an impairment loss based on the fair value of the assets. The Company recorded impairment charges for long-lived assets of $11,626, $30,968 and $21,866 for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(r)&#160;&#160;&#160;&#160;Interest capitalization&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company capitalizes interest costs as part of the historical costs of acquiring or constructing certain assets during the period of time required to get the assets ready for their intended use or sell the asset to a customer. The Company capitalizes interest costs to the extent that expenditures to acquire, construct, or develop an asset have occurred and interest costs have been incurred. Interest capitalized for property, plant and equipment, or solar power systems is depreciated over the estimated useful life of the related asset, as the qualifying asset is placed into service. The interest capitalized for project assets forms part of the cost of revenues when such project assets are sold and all revenue recognition criteria are met. Interest capitalization ceases once a project is substantially complete or no longer undergoing construction activities to prepare it for its intended use.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(s)&#160;&#160;&#160;Assets retirement obligation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Certain jurisdictions in which the Company's project assets are located or certain land lease agreements require the removal of the solar power systems when the project is decommissioned. Assets retirement obligation (&#x201c;ARO&#x201d;) for the estimated costs of decommissioning associated with long-lived assets at a future date are accounted for in accordance with ASC 410-20, Asset Retirement Obligations (&#x201c;ASC 410-20&#x201d;). ASC 410-20 requires an entity to recognize the fair value of a liability for an ARO in the period in which it is incurred and a reasonable estimate of fair value can be made. Upon initial recognition of a liability for an ARO, the asset retirement cost is capitalized by increasing the carrying amount of the related long-lived asset by the same amount. Over time, the liability is accreted to its expected future value, while the capitalized cost is depreciated over the useful life of the related asset. The Company's ARO included in solar power systems were $43 and $26 as of December 31, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(t)&#160;&#160;&#160;Leases&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Effective January 1, 2019, the Company adopted Accounting Standards Update ("ASU") No. 2016-02, Leases (Topic 842), as amended ("ASC 842") for its lease arrangements, which were recorded under ASC 840, Leases, before implementation. Upon adoption of ASC 842, the Company elected to use the remaining lease term as of January 1, 2019 in the estimation of the applicable discount rate for leases that were in place at adoption. For the initial measurement of the lease liability for leases commencing after January 1, 2019, the Company use the discount rate as of the commencement date of the lease, incorporating the entire lease term. The Company, as a lessee, has both finance and operating lease arrangements. Right-of-use ("ROU") assets and operating lease liabilities on the consolidated balance sheets include operating lease agreements. Finance lease agreements are recorded in property, plant and equipment, other payables and other non-current liabilities on the consolidated balance sheets. Lease liabilities that become due within one year of the balance sheet date are classified as current liabilities. The Company elected the practical expedient to combine the lease and related non-lease components for all existing leases.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company determines if an arrangement is a lease at inception. Leases are classified as operating or finance leases in accordance with the recognition criteria in ASC 842-20-25. At the commencement date of a lease, the Company determines the classification of the lease based on the relevant factors and presents and records a right-of- use ("ROU") asset and lease liability. ROU assets represent the right to use an underlying asset for the lease term and lease liabilities represent the obligation to make lease payments arising from the lease. ROU assets and lease liabilities are calculated as the present value of the lease payments not yet paid. Variable lease payments are excluded from the ROU asset and lease liability calculations and are recognized in the period which the obligations for those payments are incurred. Operating lease ROU assets also include any lease prepayments made, initial direct costs and deferred rent if any and exclude lease incentives. As the rate implicit in the Company&#x2019;s operating leases is not typically readily available, the Company uses an incremental borrowing rate based on the information available at the lease commencement date in determining the present value of lease payments. Some of the Company&#x2019;s lease agreements include options to extend or terminate the lease, which are not included in its minimum lease terms unless they are reasonably certain to be exercised. All operating lease expenses are fixed, which are accounted for on a straight-line basis over the lease term and that of finance lease include interest and amortization expenses incurred during the current year.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company's leases do not contain any material residual value guarantees or material restrictive covenants. Leases with an initial lease term of 12 months or less are not recorded on the consolidated balance sheet.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For finance leases, the amortization of the asset is recognized over the shorter of the lease term or useful life of the underlying asset within depreciation and amortization expense and other expenses from managed and franchised properties in consolidated statements of operations. The interest expense related to finance leases, including any variable lease payments, is recognized in interest expense in consolidated statements of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company assesses ROU assets for impairment quarterly. When events or circumstances indicate the carrying value may not be recoverable, the Company evaluates the net book value of the asset for impairment by comparison to the projected undiscounted future cash flows. If the carrying value of the asset is determined to not be recoverable and is in excess of the estimated fair value, the Company recognizes an impairment charge in asset impairments on its consolidated statements of income.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(u)&#160;&#160;&#160;Contingencies&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Liabilities for loss contingencies arising from claims, assessments, litigation, fines, and penalties and other sources are recorded when it is probable that a liability has been incurred and the amount can be reasonably estimated. If a potential material loss contingency is not probable but is reasonably possible, or is probable but the amount cannot be estimated, then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, is disclosed. Legal costs incurred in connection with loss contingencies are expensed as&#160;incurred.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(v)&#160;&#160;Income taxes&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Deferred income taxes are recognized for temporary differences between the tax basis of assets and liabilities and their reported amounts in the financial statements, net tax loss carry-forwards and credits using the enacted tax rates expected to apply to taxable income in the periods in which the deferred tax liability or asset is expected to be settled or realized. Deferred tax assets are reduced by a valuation allowance when it is more likely than not that some portion or all of the deferred tax assets will not be realized. Current income taxes are provided for in accordance with the laws of the relevant taxing authorities.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Income tax expense includes (i) deferred tax expense, which generally represents the net change in the deferred tax asset or liability balance during the year plus any change in valuation allowances; (ii) current tax expense, which represents the amount of tax payable to or receivable from a taxing authority; and (iii) non-current tax expense, which represents the increases and decreases in amounts related to uncertain tax positions from prior periods and not settled with cash or other tax attributes. The Company only recognizes tax benefits related to uncertain tax positions when such positions are more likely than not of being sustained upon examination. For such positions, the amount of tax benefit that the Company recognizes is the largest amount of tax benefit that is more than fifty percent likely of being sustained upon the ultimate settlement of such uncertain tax position. The Company records penalties and interests associated with the uncertain tax positions as a component of income tax expense. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;The Company uses the flow-through method to account for investment tax credits earned on qualifying projects placed into service. Under this method the investment tax credits are recognized as a reduction to income tax expense in the year the credit arises.  The use of the flow-through method also results in a basis difference from the recognition of a deferred tax liability and an immediate income tax expense for reduced future tax depreciation of the related assets. Such basis differences are accounted for pursuant to the income statement method.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(w)&#160;&#160;&#160;Revenue recognition&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company recognizes revenue when it satisfies a performance obligation by transferring a promised good or service to a customer.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Solar power products and materials&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Solar power products, including solar modules, other solar power products, solar system kits and materials related to solar power products are transferred at a point in time when the customer obtains control of the products, which is typically upon shipment or delivery depending on the contract terms. Revenues of solar product sales also include reimbursements received from customers for shipping and handling costs. Sales agreements typically contain the assurance-type customary product warranties but do not contain any post-shipment obligations nor any return or credit provisions, see note 2 (aa) for the Company&#x2019;s accounting policy for warranty. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company assessed whether it is probable that the Company will collect substantially all of the consideration to which it will be entitled in exchange for the products that will be transferred to the customer. As of December 31, 2018 and 2019, the Company had inventories of $9.0&#160;million and $7.7&#160;million, respectively, relating to sales to customers where revenues were not recognized because the collection of payment was determined to be not probable. The delivered products remain as inventories on consolidated balance sheets, regardless of whether the control has been transferred. If the collection of payment becomes probable in the future, the Company would then recognize revenue, adjust inventories and recognize cost of revenues. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;O&amp;amp;M services&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;O&amp;amp;M services are transferred over time when customers receive and consume the benefits provided by the Company&#x2019;s performance under the terms of service arrangements. Revenues from O&amp;amp;M services are recognized overtime based on the work completed to date which does not require re-performances and the costs of O&amp;amp;M services are expensed when incurred.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;EPC and development services&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;The Company recognizes revenue for sales of EPC and development services over time based on the estimated progress to completion using a cost-based input method. In applying the cost-based input method of revenue recognition, the Company use the actual costs incurred relative to the total estimated costs to determine the Company&#x2019;s progress towards contract completion and to calculate the corresponding amount of revenue and gross profit to recognize. Cost-based input method of revenue recognition is considered a faithful depiction of the Company&#x2019;s efforts to satisfy EPC and development services contracts and therefore reflect the transfer of goods or services to a customer under such contracts. Costs incurred towards contract completion may include costs associated with direct materials, labor, subcontractors, and other indirect costs related to contract performance. The cost-based input method of revenue recognition requires the Company  to make estimates of net contract revenues and costs to complete the Company&#x2019;s projects. In making such estimates, significant judgment is required to evaluate assumptions related to the amount of net contract revenues, including the impact of any performance incentives, liquidated damages, and other payments to customers. Significant judgment is also required to evaluate assumptions related to the costs to complete the Company&#x2019;s projects, including materials, labor, contingencies, and other system costs. If estimated total costs of any contract are greater than the estimated net revenues, of the contract, the Company recognizes the entire estimated loss in the period the loss becomes known. The cumulative effect of revisions to estimates related to net contract revenues and costs to complete contracts, including penalties, claims, change orders, performance incentives, anticipated losses, and others are recorded in the period in which revisions to estimates are identified and the amounts can be reasonably estimated. &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Solar power projects&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Sales of solar power projects are recognized at a point in time when customers obtain control of solar power projects. For sales of solar power projects in which the company obtains an interest in the project sold to the customer, the Company recognizes all of the revenue for the consideration received, including the fair value of the non-controlling interest the Company obtained, and defer any profit associated with the interest obtained.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Electricity revenue&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Electricity revenue is generated primarily by the Company&#x2019;s solar power plants under long-term PPAs and performance based energy incentives. For electricity sold under PPAs, the Company recognizes electricity revenue based on the price stated in the PPAs when electricity has been generated and transmitted to the grid. Performance-based energy incentives are awarded under certain state programs for the delivery of renewable electricity when the conditions attached to it have been met and there is reasonable assurance that the incentives will be received. During the years ended December 31, 2017, 2018 and 2019, the Company recognized performance-based energy incentives of $10.9 million, $4.7 million, and $3.9 million, respectively, related to electricity generated and recognized in revenue.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Disaggregation of Revenue&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The table represents a disaggregation of revenue from contracts with customers for the years ended December 31, 2017, 2018, and 2019. See Segment Information Note 22 for details of revenues generated from each product or service and revenues generated from different geographic locations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table represents a disaggregation of revenue recognized at a point in time or over time:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;MSS:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Revenue recognized at a point in time&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,705,985&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,095,743&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,238,310&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Revenue recognized over time&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,938&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 73,175&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 242,828&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Energy:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Revenue recognized at a point in time&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 633,195&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,542,906&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 668,476&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Revenue recognized over time&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44,275&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,688&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,969&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,390,393&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,744,512&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,200,583&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-style:italic;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company&#x2019;s contract assets and liabilities are as follow:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;br/&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:12.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December31,&lt;br/&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fluctuation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:40.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contract Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accounts receivables, unbilled&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 38&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,256&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,218&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contract Liabilities&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Advances from customers&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,024&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 134,806&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 95,782&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other current liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,381&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,917&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (30,464)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 90,405&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 155,723&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 65,318&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-style:italic;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For the year ended December 31, 2019, $62.0 million revenue is recognized from the beginning balance of contract liabilities as of January 1, 2019. Contract liabilities of $155.7 million as of December 31, 2019 are expected to be realized within one year.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Practical Expedients and Exemptions&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company applies the new revenue standard requirements to a portfolio of contracts (or performance obligations) with similar characteristics for transactions where it is expected that the effects on the financial statements of applying the revenue recognition guidance to the portfolio would not differ materially from applying this guidance to the individual contracts (or performance obligations) within that portfolio. Therefore, the Company has elected the portfolio approach in applying the new revenue guidance.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company has made an accounting policy election to not assess whether promised products are performance obligations if they are immaterial in the context of the contract with the customer. If the revenue related to a performance obligation that includes products that are immaterial in the context of the contract is recognized before those immaterial products are transferred to the customer, then the related costs to transfer those products are accrued.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company does not disclose the value of unsatisfied performance obligations for (i) contracts with an original expected length of one year or less and (ii) contracts for which the Company recognizes revenue at the amount to which it has the right to invoice for services performed.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company generally expenses incremental costs of obtaining a contract when incurred because the amortization period would be less than one year. The incremental costs are recorded in operating expense. Incremental costs of obtaining a contract with an amortization period more than one year are not material to the Company.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(x)&#160;&#160;&#160;Shipping and handling costs&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Payments received from customers for shipping and handling costs are included in net revenues. Shipping and handling costs relating to sales of $79,853, $69,855 and $88,079, are included in selling expenses for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:3pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(y)&#160;&#160;&#160;&#160;Research and development&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Costs related to the design, development, testing and enhancement of products and silicon reclamation program are included in research and development expenses. Research and development costs are expensed when incurred and amounted to $28,777, $44,193 and $47,045 for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(z)&lt;/span&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Other operating income, net&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Other operating income, net primarily consists of gains or losses on disposal of solar power systems and property, plant and equipment, and government grants received, and compensation from business interruption insurance.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Government grants received by the Company consist of unrestricted and restricted grants and subsidies. Unrestricted grants that allowed the Company&#x2019;s full discretion in utilizing the funds are recognized as other operating income upon receipt of cash and when all the conditions for their receipt have been satisfied. Restricted grants related to prepaid land use rights, property, plants and equipment and certain projects, are recorded as deferred subsidies in other non-current liabilities and are amortized on a straight-line basis over the term of related assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table summarizes the Company&#x2019;s other operating income, net:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net gain on disposal of solar power system&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (27,803)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (36,098)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,666)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net loss on disposal of property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,960&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,565&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,227&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Government grants&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,473)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (11,013)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (10,097)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Business interruption insurance compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (15,238)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;&lt;span style="margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (47,554)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (44,546)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (10,536)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(aa)&#160;Warranty cost&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Before June 2009, the Company typically sold its standard solar modules with a two-year guarantee for defects in materials and workmanship and a 10-year and 25-year warranty against declines of more than 10% and 20%, respectively, from the initial minimum power generation capacity at the time of delivery. In June 2009, the Company increased its guarantee for defects in materials and workmanship to six years. In August 2011, the Company increased its guarantee for defects in materials and workmanship to ten years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2019, the Company increased its guarantee for defects in materials and workmanship up to twelve years and the Company warrant that, for a period of 25 years, its standard polycrystalline modules will maintain the following performance levels: (i) during the first year, the actual power output of the module will be no less than 97.5% of the labeled power output; (ii) from the second year to the 24th year, the actual annual power output decline of the module will be no more than 0.7%; and (iii) by the end of the 25th year, the actual power output of the module will be no less than 80.7% of the labeled power output.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company has lengthened the warranty against decline in performance for its bifacial module and double glass module products to 30 years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For solar power projects built by the Company, the Company provides a limited workmanship or balance of system warranty against defects in engineering design, installation and construction under normal use, operation and service conditions for a period of up to ten years following the energizing of the solar power project. In resolving claims under the workmanship or balance of system warranty, the Company has the option of remedying through repair, refurbishment or replacement of equipment. The Company has entered into similar workmanship warranties with its suppliers to back up its&#160;warranties.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company maintains warranty reserves to cover potential liabilities that could arise under these guarantees and warranties. Due to limited warranty claims to date, the Company accrues the estimated costs of warranties based on an assessment of its competitors&#x2019; and its own actual claim history, industry-standard accelerated testing, estimates of failure rates from the Company&#x2019;s quality review, and other assumptions that the Company believes to be reasonable under the circumstances. Actual warranty costs are accumulated and charged against the accrued warranty liability. To the extent that accrual for warranty costs differs from the estimates, the Company will prospectively revise its accrual rate. The Company currently records a 1% warranty provision against the revenue for sales of solar power&#160;products.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company has entered into agreements with a group of insurance companies with high credit ratings to back up its warranties. Under the terms of the insurance policies, which are designed to match the terms of the Company&#x2019;s solar&#160;module product warranty policy, the insurance companies are obliged to reimburse the Company, subject to certain maximum claim limits and certain deductibles, for the actual product warranty costs that the Company incurs under the terms of its solar&#160;module product warranty policy. The Company records the insurance premiums initially as prepaid expenses and amortizes them over the respective policy period of one year. The unamortized carrying amount is $1,286 and $1,486 as of December 31, 2018 and 2019, respectively and was included as a component of prepaid expenses and other current&#160;assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The warranty obligations the Company records relate to defects that existed when the product was sold to the customer. The event which the Company is insured against through its insurance policies is the sale of products with these defects. Accordingly, the Company views the insured losses attributable to the shipment of defective products covered under its warranty as analogous to potential claims, or claims that have been incurred as of the product ship date, but not yet reported. The Company expects to recover all or a portion of the cost of its obligations with respect to the defective products through insurance claims. Therefore, the Company&#x2019;s accounting policy is to record an asset for the amount determined to be probable of recovery from the insurance claims (not&#160;to exceed the amount of the total losses incurred), consistent with the guidance set forth at ASC&#160;410-30.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company considers the following factors in determining whether an insurance receivable that is probable and recoverability can be reasonably estimated: (i) reputation and credit rating of the insurance company; (ii) comparison of the solar module product warranty policy against the terms of the insurance policies, to ensure valid warranty claims submitted by customers will be covered by the policy and therefore reimbursed by the insurance companies; and (iii) with respect to specific claims submitted, written communications from the insurance company are monitored to ensure the claim has been submitted to the insurance company, and reimbursements are probable to be subsequently collected. The successfully processed claims provide further evidence that the insurance policies are functioning as anticipated.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;To the extent uncertainties regarding the solvency of insurance carriers or the legal sufficiency of insurance claims (including if they became subject to litigation) were to arise, the Company will establish a provision for uncollectible amounts based on the specific facts and circumstances. To date, no provision had been determined to be necessary. In addition, to the extent that accrual for warranty costs differs from the estimates and the Company prospectively changes its accrual rate, this change may result in a change to the amount expected to be recovered from&#160;insurance.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As the warranty obligation and related recovery asset do not meet the criteria for offsetting, the gross amounts are reported in the Company&#x2019;s consolidated balance sheets. The asset is expected to be realized over the life of the warranty obligation, which is &lt;span style="-sec-ix-hidden:Hidden_QfSZT8C17EqqpvabdpjiWw"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;25&lt;/span&gt;&lt;/span&gt; or 30 years and is treated as a non-current asset consistent with the underlying warranty obligation. When a specific claim is submitted, and the corresponding insurance proceeds will be collected within twelve months of the balance sheet date, the Company will reclassify that portion of the receivable as being current. The insurance receivable amounts were $75,617 and $79,888 as of December 31, 2018 and 2019, respectively, and were included as a component of other non-current assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company made downward adjustments to its accrued warranty costs of $1,446 and other non-current assets of $800, for the year ended December 31, 2019, to reflect the general declining trend of the average selling price of solar modules, which is a primary input into the estimated warranty costs. Accrued warranty costs (net effect of adjustments) of $19,793, $13,188 and $28,044 are included in cost of revenues for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ab)&#160;Foreign currency translation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The United States dollars (&#x201c;U.S. dollars&#x201d; or &#x201c;$&#x201d;), the currency in which a substantial amount of the Company&#x2019;s transactions are denominated, is used as the functional and reporting currency of CSI. Monetary assets and liabilities denominated in currencies other than the U.S. dollars are translated into U.S. dollars at the rates of exchange ruling at the balance sheet date. Transactions in currencies other than the U.S. dollars during the year are converted into the U.S. dollars at the applicable rates of exchange prevailing on the transaction date. Transaction gains and losses are recognized in the consolidated statements of operations. Gains and losses on intra-entity foreign currency transactions that are of a long-term-investment nature (that is, settlement is not planned or anticipated in the foreseeable future) between consolidated entities are not recognized in earnings, but are included as a component of other comprehensive income.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The financial records of certain of the Company&#x2019;s subsidiaries are maintained in local currencies other than the U.S. dollars, such as Renminbi (&#x201c;RMB&#x201d;), Euros, Canadian dollars (&#x201c;CAD&#x201d;), Japanese yen and Brazilian reals (&#x201c;BRL&#x201d;), which are their functional currencies. Assets and liabilities are translated at the exchange rates at the balance sheet date, equity accounts are translated at historical exchange rates and revenues, expenses, gains and losses are translated using the average rate for the year. Translation adjustments are reported as foreign currency translation adjustment and are shown as a separate component of other comprehensive income in the statements of comprehensive income.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ac)&#160;Comprehensive income&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Comprehensive income includes all changes in equity except those resulting from investments by owners and distributions to owners. For the years presented, total comprehensive income included (i)&#160;net income, (ii)&#160;foreign currency translation adjustments, (iii)&#160;gains and losses on intra-entity foreign currency transactions that are of a long-term-investment nature (that is, settlement is not planned or anticipated in the foreseeable future) between consolidated entities and (iv) the unrealized gains or losses (effective portion) on derivative instruments that qualify for and have been designated as cash flow hedges. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ad)&#160;Foreign currency risk&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The majority of the Company&#x2019;s sales in 2017, 2018 and 2019 were denominated in U.S. dollars, Renminbi and Japanese yen, with the remainder in other currencies such as Euros, Brazilian reals, Australian dollars, Canadian dollars.. The Company&#x2019;s Renminbi costs and expenses are primarily related to the sourcing of solar cells, silicon wafers and silicon, other raw materials, including aluminum and silver paste, toll manufacturing fees, labor costs and local overhead expenses within the PRC. From time to time, the Company enters into loan arrangements with commercial banks that are denominated primarily in Renminbi, U.S. dollars and Japanese yen. Most of its cash and cash equivalents and restricted cash are denominated in Renminbi. Fluctuations in exchange rates, particularly between the U.S. dollars, Renminbi, Thailand Baht, British pounds, Canadian dollars, Japanese yen and Euros, may result in foreign exchange gains or losses. Since 2008, the Company has hedged part of its foreign currency exposures against the U.S. dollars using foreign currency forward or option contracts.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ae)&#160;Concentration of credit risk&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Financial instruments that potentially expose the Company to concentrations of credit risk consist primarily of cash and cash equivalents, restricted cash, accounts receivable, advances to suppliers and amounts due from related parties. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;All of the Company's cash and cash equivalents are held with financial institutions that Company management believes to have high credit quality.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company conducts credit evaluations of customers and generally does not require collateral or other security from its customers. The Company establishes an allowance for doubtful accounts primarily based upon the age of the receivables and factors surrounding the credit risk of specific customers. With respect to advances to suppliers, such suppliers are primarily suppliers of raw materials. The Company performs ongoing credit evaluations of its suppliers' financial conditions. The Company generally does not require collateral or security against advances to suppliers, however, it maintains a reserve for potential credit losses and such losses have historically been within management's expectation.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The prepayments made by the Company are unsecured and expose the Company to supplier credit risk. As of December 31, 2018 and 2019, prepayments made to individual suppliers were all less than 10% of total advances to suppliers and the concentration risk is relatively low.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(af)&#160;Fair value of financial instruments&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company applies authoritative guidance for fair value measurements for its financial assets and liabilities. The guidance defines fair value as an exit price representing the amount that would be received upon the sale of an asset or paid to transfer a liability in an orderly transaction between market participants. The guidance also establishes a fair value hierarchy, which prioritized the inputs used in measuring fair value. The standard describes three levels of inputs that may be used to measure fair value:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Level 1&lt;/i&gt;&#x2014;Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets. The Company&#x2019;s restricted cash balance for all periods presented uses level one fair value inputs.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Level 2&lt;/i&gt;&#x2014;Inputs reflect quoted prices for identical assets or liabilities in markets that are not active; quoted prices for similar assets or liabilities in active markets; inputs other than quoted prices that are observable for the assets or liabilities; or inputs that are derived principally from or corroborated by observable market data by correlation or other means.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Level 3&#x2014;&lt;/i&gt;Unobservable inputs reflecting the Company&#x2019;s own assumptions incorporated in valuation techniques used to determine fair value. These assumptions are required to be consistent with market participant assumptions that are reasonably available.&lt;span style="font-style:italic;font-weight:bold;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ag)&#160;Derivatives instruments and hedging activity&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company&#x2019;s primary objective for holding derivative financial instruments is to manage risks. Depending on the terms of the specific derivative instruments and market conditions, some of the Company&#x2019;s derivative instruments may be assets and liabilities at any particular point in time. The recognition of gains or losses resulting from changes in fair value of these derivative instruments is based on the use of each derivative instrument and whether it qualifies for hedge accounting.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company enters into derivatives to hedge its foreign currency risk exposure to losses from price adjustments of electricity and interest rate risk. When the Company determines to designate a derivative instrument as a cash flow hedge, the Company formally documents the hedging relationship and its risk management objective and strategy for undertaking the hedge, the hedging instrument, the hedged item, the nature of the risk being hedged, how the hedging instrument&#x2019;s effectiveness in offsetting the hedged risk will be assessed, and a description of the method of measuring ineffectiveness. The Company also formally assesses, both at the hedge&#x2019;s inception and on an ongoing basis, whether the derivative that is used in hedging transactions is highly effective in offsetting changes in cash flows of hedged items. The effective portion of gains and losses on derivatives designated as cash flow hedges are initially deferred in other comprehensive income before being recognized in the statements of operations in the same period as the hedged transactions are reflected in earnings. Gains and losses on derivatives that are not designated or fail to qualify as effective hedges are recognized in the statements of operations as incurred.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Fair value of the derivative instruments is determined using pricing models developed based on the underlying price of the hedged items. The values are also adjusted to reflect nonperformance risk of the counterparty and the Company, as necessary. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ah)&#160;Earnings (loss) per share&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Basic earnings (loss) is computed by dividing income (loss) attributable to holders of common shares by the weighted average number of common shares outstanding during the year. Diluted earnings (loss) per common share reflects the potential dilution that could occur if securities or other contracts to issue common shares were exercised or converted into common shares. Common share equivalents are not included in the calculation of dilutive earnings per share if their effects are anti-dilutive.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ai)&#160;Share-based compensation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company&#x2019;s share-based compensation with employees, such as share options, restricted shares and restricted share units (&#x201c;RSUs&#x201d;), is measured at the grant date, based on the fair value of the award, and is recognized as compensation expense, net of estimated forfeitures, over the period during which an employee is required to provide service in exchange for the award, which is generally the vesting&#160;period.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(aj)&#160;Recently issued accounting pronouncements&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In February 2016, the FASB issued ASU 2016-02, "Leases (Topic 842)", requires the recognition of right-of-use ("ROU") assets and lease liabilities on the balance sheet and changes the pattern of expense recognition in the statement of operations. In July 2018, the FASB issued ASU 2018-11, &#x201c;Leases (Topic 842)&#x2014;Targeted Improvements&#x201d;, which provided an optional transition method to apply the new lease requirements through a cumulative-effect adjustment in the period of adoption.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company adopted the new standard on January 1, 2019 using this optional transition method to all leases existed at the date of initial application. In addition, the Company elected the transition practical referred to as the &#x201c;package of three&#x201d;, that must be taken together and allows entities to (1) not reassess whether existing contracts contain leases, (2) carryforward the existing lease classification, and (3) not reassess initial direct costs associated with existing leases. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;This adoption primarily affects the Company's leases arrangements previously accounted for under Topic 840. As a result of adoption, the Company recognized right-of-use ("ROU") assets and lease liabilities on the balance sheet for operating leases of $33,829. Upon adoption of ASC 842, the Company elected to use the remaining lease term as of January 1, 2019 in the estimation of the applicable discount rate for leases that were in place at adoption. For the initial measurement of the lease liability for leases commencing after January 1, 2019, the Company use the discount rate as of the commencement date of the lease, incorporating the entire lease term. The treatment of finance leases has no difference with that under Topic 840 and there is no significant impact on results of operations or cash flows.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The reported results for year 2019 reflect the adoption of Topic 842, while the reported results for year 2017 and 2018 were prepared under the previous lease accounting guidance. There is no impact to the beginning balance of retained earnings on January 1, 2019 for this adoption.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In June 2016, the FASB issued ASU 2016-13, &#x201c;Financial Instruments&#x2014;Credit Losses (Topic 326)&#x201d;, which has been subsequently updated by ASU 2019-04, 2019-05, 2019-10, 2019-11 and 2020-03. The amendments change the impairment model for most financial assets, and will require the use of an &#x201c;expected loss&#x201d; model for instruments measured at amortized cost. Under this model, entities will be required to estimate the lifetime expected credit loss on such instruments and record an allowance to offset the amortized cost basis of the financial asset, resulting in a net presentation of the amount expected to be collected on the financial asset. This pronouncement is effective for fiscal years, and for interim periods within those fiscal years, beginning after December 15, 2019. The Company does not expect a material impact to its consolidated financial statement upon adoption of this ASU.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;In August 2018, the FASB issued ASU 2018-13, &#x201c;Fair Value Measurement (Topic 820): Disclosure Framework&#x2013;Changes to the Disclosure Requirements for Fair Value&#x201d;. ASU 2018-13 removes and modifies existing disclosure requirements on fair value measurement, namely regarding transfers between levels of the fair value hierarchy and the valuation processes for Level 3 fair value measurements. Additionally, ASU 2018-13 adds further disclosure requirements for Level 3 fair value measurements, specifically changes in unrealized gains and losses and other quantitative information. ASU 2018-13 is effective for fiscal years and interim periods within those fiscal years, beginning after December 15, 2019, with early adoption permitted.  The Company does not expect a material impact to its consolidated financial statement upon adoption of this ASU.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In October 2018, the FASB issued ASU 2018-17, &#x201c;Consolidation (Topic 810): Targeted Improvements to Related Party Guidance for Variable Interest Entities&#x201d;, which expands variable interests to indirect interests held through related parties under common control. ASU 2018-17 is effective for fiscal years and interim periods within those fiscal years, beginning after December 15, 2019, with early adoption permitted. It is required to be applied retrospectively with a cumulative-effect adjustment to retained earnings at the beginning of the earliest period presented. The Company does not expect a material impact to its consolidated financial statement upon adoption of this ASU.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In December 2019, the FASB issued ASU 2019-12, Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes (&#x201c;ASU 2019-12&#x201d;), which simplifies income tax accounting in various areas including, but not limited to, the accounting for hybrid tax regimes, tax implications related to business combinations, and interim period accounting for enacted changes in tax law, along with some codification improvements. ASU 2019-12 is effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2020, with early adoption permitted. Certain changes in the standard require retrospective or modified retrospective adoption, while other changes must be adopted prospectively. The Company is currently evaluating ASU 2019-12 and its impact on its consolidated financial statements.&lt;/p&gt;</us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_olhG7QdxXkay-6pLuPRcdQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(a)&#160;&#160;&#160;Basis of presentation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The consolidated financial statements of the Company have been prepared in accordance with U.S.&#160;generally accepted accounting principles (&#x201c;U.S.&#160;GAAP&#x201d;).&lt;/p&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_bVds4cAka0qH2Wg7RHzwXA">&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(b)&#160;&#160;&#160;Basis of consolidation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The consolidated financial statements include the financial statements of the Company and its subsidiaries in which it has a controlling financial interest or variable interest entities (&#x201c;VIEs&#x201d;) for which the Company is a primary beneficiary. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;A controlling financial interest is typically determined when a company holds a majority of the voting equity interest in an entity. All intercompany balances and transactions between the Company and its subsidiaries have been eliminated in consolidation.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company consolidates VIEs when the Company is the primary beneficiary. VIEs are entities that lack sufficient equity to finance their activities without additional financial support from other parties or whose equity holders, as a group, lack one or more of the following characteristics: (a) direct or indirect ability to make decisions; (b) obligation to absorb expected losses; or (c) right to receive expected residual returns. VIEs must be evaluated quantitatively and qualitatively to determine the primary beneficiary, which is the reporting entity that has (a) the power to direct activities of a VIE that most significantly impact the VIEs economic performance and (b) the obligation to absorb losses of the VIE that could potentially be significant to the VIE or the right to receive benefits from the VIE that could potentially be significant to the VIE. The primary beneficiary is required to consolidate the VIE for financial reporting purposes. A VIE can have only one primary beneficiary, but may not have a primary beneficiary if no party meets the criteria described above.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;When evaluating whether the Company is the primary beneficiary of a VIE, and must therefore consolidate the entity, the Company performs a qualitative analysis that considers the design of the VIE, the nature of its involvement and the variable interests held by other parties. If that evaluation is inconclusive as to which party absorbs a majority of the entity&#x2019;s expected losses or residual returns, a quantitative analysis is performed to determine the primary beneficiary.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For the Company's consolidated VIEs, the Company has presented in note 10, to the extent material, the assets of its consolidated VIEs that can only be used to settle specific obligations of the consolidated VIE, and the liabilities of its consolidated VIEs for which creditors do not have recourse to its general assets outside of the consolidated VIE. All intercompany accounts and transactions between the Company and its consolidated VIEs have been eliminated in consolidation.&lt;/p&gt;</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_mb01o_-wj02tWjQbsSDJYA">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(c)&#160;&#160;&#160;Use of estimates&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The preparation of consolidated financial statements in conformity with U.S. GAAP requires the Company to make estimates and assumptions that affect reported amounts of assets and liabilities, disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates. Significant accounting estimates reflected in the Company&#x2019;s consolidated financial statements include revenue recognition for sales of solar power projects, EPC and development services accounted for under a cost-based input method, allowance for doubtful accounts receivable and advances to suppliers, valuation of inventories and provision for firm purchase commitments, provision for contingent liability, impairment of long-lived assets and project assets, the estimated useful lives of long-lived assets, determination of assets retirement obligation (&#x201c;ARO&#x201d;), discount rates used to measure operating lease liabilities, accrual for warranty and the recognition of the benefit from the purchased warranty insurance, fair value estimate of financial instruments including warrants and other types of derivative, accrual for uncertain tax positions, valuation allowances for deferred tax assets, applying acquisition method of accounting to business acquisitions and the grant-date fair value of share-based compensation awards and related forfeiture rates.&lt;/p&gt;</us-gaap:UseOfEstimates>
    <us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_NR0gRH1ogUW4yHjiJvv5Kw">&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(d)&#160;&#160;&#160;Cash and cash equivalents and restricted cash&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Cash and cash equivalents are stated at cost, which approximates fair value. Cash and cash equivalents consist of cash on hand and demand deposits, which are unrestricted as to withdrawal and use, and have original maturities of three months or less when&#160;acquired.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Restricted cash represents amounts held by banks, which are not available for the Company&#x2019;s general use, as security for issuance of letters of credit, short-term notes payable and bank borrowings. Upon maturity of the letters of credit, repayment of short-term notes payable or bank borrowings, the deposits are released by the bank and become available for general use by the&#160;Company.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;</us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy>
    <us-gaap:TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_mT9Sshohr0SoGm2NmOGoQg">&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(e)&#160;&#160;&#160;Accounts receivable, unbilled&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Accounts receivable, unbilled represents a contract asset for revenue that has been recognized in advance of billing the customer. The Company uses a cost-based input method to recognize revenue from EPC and development services when all relevant revenue recognition criteria have been met. Under this accounting method, revenue may be recognized in advance of billing the customer, which results in the recording of accounts receivable, unbilled. Once the Company meets the billing criteria under such contract, the rights to consideration becomes unconditional, it bills the customer and reclassifies the unbilled balance to accounts receivable trade. Billing requirements vary by contract, but are generally structured around completion of certain construction milestones.&lt;/p&gt;</us-gaap:TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy>
    <csiq:AllowanceForDoubtfulAccountsPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_qoB0QIZxE0S9ioyv8YObRw">&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(f)&#160;&#160;&#160;&#160;Allowance for doubtful receivables&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company began purchasing insurance from China Export&#160;&amp;amp; Credit Insurance Corporation ("Sinosure") since 2009 for certain of its accounts receivable trade in order to reduce its exposure to bad debt loss. The Company provides an allowance for accounts receivable trade using primarily a specific identification methodology. An allowance is recorded based on the likelihood of collection from the specific customer regardless whether such account is covered by Sinosure. At the time the claim is made to Sinosure, the Company records a receivable from Sinosure equal to the expected recovery up to the amount of the specific allowance. The Company had recorded a receivable from Sinosure in prepaid expenses and other current assets of $164 and $166 as of December 31, 2018 and 2019, respectively and a corresponding reduction in bad debt&#160;expense.&lt;/p&gt;</csiq:AllowanceForDoubtfulAccountsPolicyTextBlock>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2018_us-gaap_GainContingenciesByNatureAxis_us-gaap_InsuranceSettlementMember_yGSW8aHKvUCU-cyWWTmOiw"
      decimals="-3"
      id="Narr_ZMR7DMyivUuTCa_W91oqig"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">164000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2019_us-gaap_GainContingenciesByNatureAxis_us-gaap_InsuranceSettlementMember_nVEHOs6J7kaN3n9wRUvIvA"
      decimals="-3"
      id="Narr_AVuKcrvTJEuDLKM5bt8gVg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">166000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <csiq:AdvancesToSuppliersPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_gr7CJ0yc3UqYaGN5l_tCpA">&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(g)&#160;&#160;&#160;Advances to suppliers&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company makes prepayments to certain suppliers and such amounts are recorded in advances to suppliers in the consolidated balance sheets. Advances to suppliers expected to be utilized within twelve months as of each balance sheet date are recorded as current assets and the portion expected to be utilized after twelve months are classified as non-current assets in the consolidated balance&#160;sheets.&lt;/p&gt;</csiq:AdvancesToSuppliersPolicyTextBlock>
    <us-gaap:InventoryPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_079wBtwvL0iccKYwFl5AoQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(h)&#160;&#160;&#160;Inventories&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Inventories are stated at the lower of cost or net realizable value. Cost is determined by the weighted-average method. Cost of inventories consists of direct materials and, where applicable, direct labor costs, tolling costs and those overhead costs that have been incurred in bringing the inventories to their present location and condition.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Adjustments are recorded to write down the cost of obsolete and excess inventories to the estimated net realizable value based on historical and forecast demand. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;</us-gaap:InventoryPolicyTextBlock>
    <csiq:ProjectAssetsPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_big4lF43J0W3eAwWlbxVaQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(i)&#160;&#160;&#160;&#160;Project assets&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Project assets consist primarily of capitalized costs relating to solar power projects in various stages of development prior to the intended sale of the solar power projects to a third party. These costs include certain acquisition costs, land costs and costs for developing and constructing a solar power system. Development costs can include legal, consulting, permitting, and other similar costs. Construction costs can include execution of field construction, installation of solar equipment, solar modules and related equipment. Interest costs incurred on debt during the construction phase and all deferred financing costs amortized during the construction phase are also capitalized within project assets.  &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Solar power projects are preliminarily classified as project assets unless the Company has intention not to sell them to third parties. In that case, they will be classified as solar power systems on the balance sheet. During the development phase, solar power projects are accounted for in accordance with the recognition, initial measurement and subsequent measurement subtopics of ASC 970- 360, as they are considered in substance real estates. The costs to construct solar power projects are presented as operating activities or investing activities in the consolidated statement of cash flows, if they are related to project assets or solar power systems, respectively. While the solar power projects are in the development phase, they are generally classified as non-current assets, unless it is anticipated that the sale will occur within one year.  Appropriateness of the classification of the solar power projects is assessed based on the circumstances on each balance sheet date. Solar power projects that the Company intends to sell within one year, which meet the criteria of ASC 360, are classified as project assets-current. Solar power projects that the Company intends to hold and operate to generate electricity are still classified as solar power systems. &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company reviews project assets for impairment whenever events or changes in circumstances indicate that the carrying amount may not be recoverable. The Company considers a project commercially viable or recoverable if it is anticipated to be sold for a profit once it is either fully developed or fully constructed. The Company considers a partially developed or partially constructed project commercially viable or recoverable if the anticipated selling price is higher than the carrying value of the related project assets. The Company examines a number of factors to determine if the project will be recoverable, the most notable of which include whether there are any changes in environmental, ecological, permitting, market pricing or regulatory conditions that impact the project. Such changes could cause the costs of the project to increase or the selling price of the project to decrease. If a project is not considered recoverable, the Company impairs the respective project assets and adjusts the carrying value to the estimated recoverable amount, with the resulting impairment recorded within operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Project assets are often held in separate legal entities which are formed for the special purpose of constructing the project assets, which the Company refers to as &#x201c;project companies&#x201d;. The Company consolidates project companies as described in note 2 (b) above. The cash paid to the non-controlling interest in connection with disposal of such project companies was recorded as a financing activity in the consolidated statement of cash flows.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;The Company does not depreciate the project assets. Any revenue generated from a solar power system connected to the grid would be considered incidental revenue and accounted for as a reduction of the capitalized project costs for development.  If circumstances change, and the Company will begin to operate the project assets for the purpose of generating income from the sale of electricity, the project assets will be reclassified to solar power systems.&lt;/span&gt;&lt;/p&gt;</csiq:ProjectAssetsPolicyTextBlock>
    <us-gaap:BusinessCombinationsPolicy
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_sqN_SsbAsUyQ3DXVkV8jgw">&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(j)&#160;&#160;&#160;&#160;Business combination&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Business combinations are recorded using the acquisition method of accounting and, accordingly, the acquired assets and liabilities are recorded at their fair market value at the date of acquisition. Any excess of acquisition cost over the fair value of the acquired assets and liabilities, including identifiable intangible assets, is recorded as goodwill. The Company charges acquisition related costs that are not part of the purchase price consideration to general and administrative expenses as they are incurred. These costs typically include transaction and integration costs, such as legal, accounting, and other professional fees. &lt;/p&gt;</us-gaap:BusinessCombinationsPolicy>
    <csiq:AssetsAcquisitionPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_aDwXhyoLZEeCZhnB51-v4w">&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(k)&#160;&#160;&#160;Assets acquisition&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;When the Company acquires other entities, if the assets acquired and liabilities assumed do not constitute a business, the transaction is accounted for as an asset acquisition. Assets are recognized based on the cost, which generally includes the transaction costs of the asset acquisition, and no gain or loss is recognized unless the fair value of noncash assets given as consideration differs from the assets&#x2019; carrying amounts on the Company&#x2019;s books. If the consideration given is not in the form of cash (that is, in the form of noncash assets, liabilities incurred, or equity interests issued), measurement is based on either the cost to the acquiring entity or the fair value of the assets (or net assets) acquired, whichever is more clearly evident and, thus, more reliably measurable. The cost of a group of assets acquired in an asset acquisition is allocated to the individual assets acquired or liabilities assumed based on their relative fair value and does not give rise to goodwill.&lt;/p&gt;</csiq:AssetsAcquisitionPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_dgMVvSnNwkKJzek58xGMcQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(l)&#160;&#160;Property, plant and equipment&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Property, plant and equipment is recorded at cost less accumulated depreciation. The cost of property, plant and equipment comprises its purchase price and any directly attributable costs, including interest costs capitalized during the period the asset is brought to its working condition and location for its intended use. The Company expenses repair and maintenance costs as&#160;incurred.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Depreciation is computed on a straight-line basis over the following estimated useful&#160;lives:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Buildings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;20 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Over the shorter of the lease term or their estimated useful lives&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Machinery&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_wCQYZoz750uAEDFs_tX9Mg"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;5&lt;/span&gt;&lt;/span&gt;-10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Furniture, fixtures and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;5 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Motor vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;5 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Costs incurred in constructing new facilities, including progress payments, capitalized interests and other costs relating to the construction, are capitalized and transferred to property, plant and equipment on completion and depreciation commences from that&#160;time.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For property, plant and equipment that has been placed into service, but is subsequently idled temporarily, the Company continues to record depreciation expense during the idle period. The Company adjusts the estimated useful life of the idled assets if the estimated useful life has&#160;changed.&lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <csiq:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_ykvxbwJ_T0-FBIo0HaJL_A">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Buildings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;20 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Over the shorter of the lease term or their estimated useful lives&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Machinery&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_wCQYZoz750uAEDFs_tX9Mg"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;5&lt;/span&gt;&lt;/span&gt;-10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Furniture, fixtures and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;5 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Motor vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;5 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_KO24wHZchkqHiv_tqI_pHg"
      id="Tc_bjE0CVZPkUu6Wog5Wd_Kpw_1_2">P20Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_7BuK5Is_jUOdijrh5slMdA"
      id="Narr_brPYCOyK70-0Mu83wg64yA">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_QCxegUFpaEygc6lrzQyDPw"
      id="Tc_3bSHF9H9-Em5RhQBgjiFLw_4_2">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_zMFy0cwj_EGgEoxjE1bHDQ"
      id="Tc_l1v9ddcoqkG2uo2cZLMD7w_5_2">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <csiq:SolarPowerSystemsPolicyPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_85PAyxFxBkaMKAXv1gJDOQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(m)&#160;&#160;&#160;Solar power systems&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Solar power systems are comprised of ground-mounted projects and roof top systems that the Company intends to hold for use. The solar power systems are stated at cost less accumulated depreciation.  The cost consists primarily of direct costs incurred in various stages of development prior to the commencement of operations. For a self-developed solar power system, the actual cost capitalized is the amount of the expenditure incurred for the application of the feed-in tariff (&#x2018;&#x2018;FIT&#x2019;&#x2019;) or other similar contracts, permits, consents, construction costs, interest costs capitalized, and other costs capitalized. For a solar power system acquired from third parties, the initial costs include the consideration transferred and certain direct acquisition costs.  Expenditures for major additions and improvements are capitalized and minor replacements, maintenance, and repairs are charged to expense as incurred. &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;When solar power systems is retired, or otherwise disposed of, the cost and accumulated depreciation is removed from the balance sheets and any resulting gain or loss is included in the results of operations for the respective period. Depreciation is recognized using the straight-line method over the estimated useful lives of the solar power systems of &lt;span style="-sec-ix-hidden:Hidden_9fnvDhRg006UIcqPOGt6AQ"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;20&lt;/span&gt;&lt;/span&gt; to 25 years.&lt;/p&gt;</csiq:SolarPowerSystemsPolicyPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_la7eVIq5FUmKAJ9EhM-u8A"
      id="Narr_ZMcoNEKZY0uM3obd6ZtXBA">P25Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_9X-GYHtOxEGFWxlh6_mDQw">&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(n)&#160;&#160;&#160;Intangible assets&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Intangible assets primarily represent the technical know-how and computer software purchased from third parties. Intangible assets are recorded at fair value at the time of acquisition less accumulated amortization, if applicable. Amortization is recorded according to the following table on a straight-line basis for all intangible assets:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:49.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:49.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Technical know-how&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:49.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Computer software&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_DzwZBiVHl02oSzavGfXqEg"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;1&lt;/span&gt;&lt;/span&gt;-10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_dk02bjx4-Eermbp3HYRvsQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:49.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:49.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Technical know-how&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:49.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Computer software&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:48.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_DzwZBiVHl02oSzavGfXqEg"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;1&lt;/span&gt;&lt;/span&gt;-10 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_ELYLOouZJEe_L8lh_Cqbvw"
      id="Tc_IKk0zlY6RUy5w7J-jjo_DQ_1_2">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_K97Cvf-9h0GjjJqdTs-NZA"
      id="Narr_LIGUOrOdWE6pU8pmdPHYBg">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <csiq:PrepaymentForLandUseRightPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_j2ZwW9wyj0CpjqZn6uSjmw">&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(o)&#160;&#160;&#160;Prepaid land use rights&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Prepaid land use rights, in substance right-of-use assets recorded according to ASC 842 from January 1, 2019, represent amounts paid for the use right of lands located in China (&#x201c;PRC&#x201d;) and Japan. Amounts are charged to earnings ratably over the lease periods of &lt;span style="-sec-ix-hidden:Hidden_7NBhpV-8hEejJzqz3LlyIw"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;20&lt;/span&gt;&lt;/span&gt; to 50 years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</csiq:PrepaymentForLandUseRightPolicyTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_F7ZFnp-TpEq-nGa7S5yP7A"
      id="Narr_3AHKP3-Mf0OG7O46NIvQeA">P50Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:EquityMethodInvestmentsPolicy
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_IGH_RtuEuUen2sLdKgNjMg">&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(p)&#160;&#160;&#160;&#160;Investments in affiliates&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company uses the equity method of accounting for the investments. The Company records the equity method investments at historical cost and subsequently adjusts the carrying amount each period for share of the earnings or losses of the investee and other adjustments required by the equity method of accounting. Dividends received from the equity method investments are recorded as reductions in the cost of such investments. The amount associated with the share of earnings are considered as return of investment, and the rest received amount are considered as return on investment.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Investments are evaluated for impairment when facts or circumstances indicate that the fair value of the investment is less than its carrying value. An impairment is recognized when a decline in fair value is determined to be other-than-temporary. The Company reviews several factors to determine whether a loss is other-than-temporary. These factors include, but are not limited to, the: (i)&#160;nature of the investment; (ii)&#160;cause and duration of the impairment; (iii)&#160;extent to which fair value is less than cost; (iv)&#160;financial conditions and near term prospects of the affiliates; and (v)&#160;ability to hold the security for a period of time sufficient to allow for any anticipated recovery in fair value. During the years ended December 31, 2017, 2018 and 2019, the Company recorded $3,686, $5,738 and nil impairment charges on its investments, respectively.&lt;/p&gt;</us-gaap:EquityMethodInvestmentsPolicy>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Narr_pZTzTEGGukG23ZYnVHEbyQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3686000</us-gaap:ImpairmentOfInvestments>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Narr_AU3BDMRR4ESIJkVvOoRTww"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5738000</us-gaap:ImpairmentOfInvestments>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_sSZyNxy-f0qKKW8wwjpm3g"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">0</us-gaap:ImpairmentOfInvestments>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_SgZAMb61w02jrdjIQtcz7g">&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(q)&#160;&#160;&#160;&#160;Impairment of long-lived assets&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company assesses the recoverability of the carrying value of long-lived assets when an indicator of impairment has been identified. The Company reviews the long-lived assets each reporting period to assess whether impairment indicators are present. For purposes of recognition and measurement of an impairment loss, a long-lived asset or assets is grouped with other assets and liabilities at the lowest level for which identifiable cash flows are largely independent of the cash flows of other assets and liabilities. For long-lived assets, when impairment indicators are present, the Company compares undiscounted future cash flows, including the eventual disposition of the asset group at market value, to the asset group&#x2019;s carrying value to determine if the asset group is recoverable. Assessments also consider changes in asset group utilization, including the temporary idling of capacity and the expected timing of placing this capacity back into production. If the sum of the expected undiscounted cash flows is less than the carrying amount of the assets, the Company will recognize an impairment loss based on the fair value of the assets. The Company recorded impairment charges for long-lived assets of $11,626, $30,968 and $21,866 for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Narr_1iqXDn0Tf022Tlsa3ICb1w"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11626000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Narr_1DL5Ypl8QEi72-ncY03jVQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">30968000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_uec88muWKUms67n96XEzIQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">21866000</us-gaap:AssetImpairmentCharges>
    <us-gaap:InterestCapitalizationPolicyPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_ZEe7Y8cs6k2tXXMmT6LHHQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(r)&#160;&#160;&#160;&#160;Interest capitalization&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company capitalizes interest costs as part of the historical costs of acquiring or constructing certain assets during the period of time required to get the assets ready for their intended use or sell the asset to a customer. The Company capitalizes interest costs to the extent that expenditures to acquire, construct, or develop an asset have occurred and interest costs have been incurred. Interest capitalized for property, plant and equipment, or solar power systems is depreciated over the estimated useful life of the related asset, as the qualifying asset is placed into service. The interest capitalized for project assets forms part of the cost of revenues when such project assets are sold and all revenue recognition criteria are met. Interest capitalization ceases once a project is substantially complete or no longer undergoing construction activities to prepare it for its intended use.&lt;/p&gt;</us-gaap:InterestCapitalizationPolicyPolicyTextBlock>
    <us-gaap:AssetRetirementObligationsPolicy
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_Ian7rVrO6UiqhvE00Gb2Aw">&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(s)&#160;&#160;&#160;Assets retirement obligation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Certain jurisdictions in which the Company's project assets are located or certain land lease agreements require the removal of the solar power systems when the project is decommissioned. Assets retirement obligation (&#x201c;ARO&#x201d;) for the estimated costs of decommissioning associated with long-lived assets at a future date are accounted for in accordance with ASC 410-20, Asset Retirement Obligations (&#x201c;ASC 410-20&#x201d;). ASC 410-20 requires an entity to recognize the fair value of a liability for an ARO in the period in which it is incurred and a reasonable estimate of fair value can be made. Upon initial recognition of a liability for an ARO, the asset retirement cost is capitalized by increasing the carrying amount of the related long-lived asset by the same amount. Over time, the liability is accreted to its expected future value, while the capitalized cost is depreciated over the useful life of the related asset. The Company's ARO included in solar power systems were $43 and $26 as of December 31, 2018 and 2019, respectively.&lt;/p&gt;</us-gaap:AssetRetirementObligationsPolicy>
    <us-gaap:AssetRetirementObligation
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Narr_DBU69tbeB0ap7pqlGMEjug"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">43000</us-gaap:AssetRetirementObligation>
    <us-gaap:AssetRetirementObligation
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_FHWPQztdmUaPwXPiKO4E0g"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">26000</us-gaap:AssetRetirementObligation>
    <us-gaap:LesseeLeasesPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_cYl_9bcUn0-faRPku2FC1A">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(t)&#160;&#160;&#160;Leases&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Effective January 1, 2019, the Company adopted Accounting Standards Update ("ASU") No. 2016-02, Leases (Topic 842), as amended ("ASC 842") for its lease arrangements, which were recorded under ASC 840, Leases, before implementation. Upon adoption of ASC 842, the Company elected to use the remaining lease term as of January 1, 2019 in the estimation of the applicable discount rate for leases that were in place at adoption. For the initial measurement of the lease liability for leases commencing after January 1, 2019, the Company use the discount rate as of the commencement date of the lease, incorporating the entire lease term. The Company, as a lessee, has both finance and operating lease arrangements. Right-of-use ("ROU") assets and operating lease liabilities on the consolidated balance sheets include operating lease agreements. Finance lease agreements are recorded in property, plant and equipment, other payables and other non-current liabilities on the consolidated balance sheets. Lease liabilities that become due within one year of the balance sheet date are classified as current liabilities. The Company elected the practical expedient to combine the lease and related non-lease components for all existing leases.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company determines if an arrangement is a lease at inception. Leases are classified as operating or finance leases in accordance with the recognition criteria in ASC 842-20-25. At the commencement date of a lease, the Company determines the classification of the lease based on the relevant factors and presents and records a right-of- use ("ROU") asset and lease liability. ROU assets represent the right to use an underlying asset for the lease term and lease liabilities represent the obligation to make lease payments arising from the lease. ROU assets and lease liabilities are calculated as the present value of the lease payments not yet paid. Variable lease payments are excluded from the ROU asset and lease liability calculations and are recognized in the period which the obligations for those payments are incurred. Operating lease ROU assets also include any lease prepayments made, initial direct costs and deferred rent if any and exclude lease incentives. As the rate implicit in the Company&#x2019;s operating leases is not typically readily available, the Company uses an incremental borrowing rate based on the information available at the lease commencement date in determining the present value of lease payments. Some of the Company&#x2019;s lease agreements include options to extend or terminate the lease, which are not included in its minimum lease terms unless they are reasonably certain to be exercised. All operating lease expenses are fixed, which are accounted for on a straight-line basis over the lease term and that of finance lease include interest and amortization expenses incurred during the current year.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company's leases do not contain any material residual value guarantees or material restrictive covenants. Leases with an initial lease term of 12 months or less are not recorded on the consolidated balance sheet.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For finance leases, the amortization of the asset is recognized over the shorter of the lease term or useful life of the underlying asset within depreciation and amortization expense and other expenses from managed and franchised properties in consolidated statements of operations. The interest expense related to finance leases, including any variable lease payments, is recognized in interest expense in consolidated statements of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company assesses ROU assets for impairment quarterly. When events or circumstances indicate the carrying value may not be recoverable, the Company evaluates the net book value of the asset for impairment by comparison to the projected undiscounted future cash flows. If the carrying value of the asset is determined to not be recoverable and is in excess of the estimated fair value, the Company recognizes an impairment charge in asset impairments on its consolidated statements of income.&lt;/p&gt;</us-gaap:LesseeLeasesPolicyTextBlock>
    <us-gaap:CommitmentsAndContingenciesPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_eI9T1kr18UyurDefGg-N7A">&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(u)&#160;&#160;&#160;Contingencies&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Liabilities for loss contingencies arising from claims, assessments, litigation, fines, and penalties and other sources are recorded when it is probable that a liability has been incurred and the amount can be reasonably estimated. If a potential material loss contingency is not probable but is reasonably possible, or is probable but the amount cannot be estimated, then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, is disclosed. Legal costs incurred in connection with loss contingencies are expensed as&#160;incurred.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;</us-gaap:CommitmentsAndContingenciesPolicyTextBlock>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_DjTDtkjK5USUpj6smWTHKQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(v)&#160;&#160;Income taxes&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Deferred income taxes are recognized for temporary differences between the tax basis of assets and liabilities and their reported amounts in the financial statements, net tax loss carry-forwards and credits using the enacted tax rates expected to apply to taxable income in the periods in which the deferred tax liability or asset is expected to be settled or realized. Deferred tax assets are reduced by a valuation allowance when it is more likely than not that some portion or all of the deferred tax assets will not be realized. Current income taxes are provided for in accordance with the laws of the relevant taxing authorities.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Income tax expense includes (i) deferred tax expense, which generally represents the net change in the deferred tax asset or liability balance during the year plus any change in valuation allowances; (ii) current tax expense, which represents the amount of tax payable to or receivable from a taxing authority; and (iii) non-current tax expense, which represents the increases and decreases in amounts related to uncertain tax positions from prior periods and not settled with cash or other tax attributes. The Company only recognizes tax benefits related to uncertain tax positions when such positions are more likely than not of being sustained upon examination. For such positions, the amount of tax benefit that the Company recognizes is the largest amount of tax benefit that is more than fifty percent likely of being sustained upon the ultimate settlement of such uncertain tax position. The Company records penalties and interests associated with the uncertain tax positions as a component of income tax expense. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;The Company uses the flow-through method to account for investment tax credits earned on qualifying projects placed into service. Under this method the investment tax credits are recognized as a reduction to income tax expense in the year the credit arises.  The use of the flow-through method also results in a basis difference from the recognition of a deferred tax liability and an immediate income tax expense for reduced future tax depreciation of the related assets. Such basis differences are accounted for pursuant to the income statement method.&lt;/span&gt;&lt;/p&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_f_A25HYeS0C0dKfgrgcwjg">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(w)&#160;&#160;&#160;Revenue recognition&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company recognizes revenue when it satisfies a performance obligation by transferring a promised good or service to a customer.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Solar power products and materials&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Solar power products, including solar modules, other solar power products, solar system kits and materials related to solar power products are transferred at a point in time when the customer obtains control of the products, which is typically upon shipment or delivery depending on the contract terms. Revenues of solar product sales also include reimbursements received from customers for shipping and handling costs. Sales agreements typically contain the assurance-type customary product warranties but do not contain any post-shipment obligations nor any return or credit provisions, see note 2 (aa) for the Company&#x2019;s accounting policy for warranty. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company assessed whether it is probable that the Company will collect substantially all of the consideration to which it will be entitled in exchange for the products that will be transferred to the customer. As of December 31, 2018 and 2019, the Company had inventories of $9.0&#160;million and $7.7&#160;million, respectively, relating to sales to customers where revenues were not recognized because the collection of payment was determined to be not probable. The delivered products remain as inventories on consolidated balance sheets, regardless of whether the control has been transferred. If the collection of payment becomes probable in the future, the Company would then recognize revenue, adjust inventories and recognize cost of revenues. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;O&amp;amp;M services&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;O&amp;amp;M services are transferred over time when customers receive and consume the benefits provided by the Company&#x2019;s performance under the terms of service arrangements. Revenues from O&amp;amp;M services are recognized overtime based on the work completed to date which does not require re-performances and the costs of O&amp;amp;M services are expensed when incurred.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;EPC and development services&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;The Company recognizes revenue for sales of EPC and development services over time based on the estimated progress to completion using a cost-based input method. In applying the cost-based input method of revenue recognition, the Company use the actual costs incurred relative to the total estimated costs to determine the Company&#x2019;s progress towards contract completion and to calculate the corresponding amount of revenue and gross profit to recognize. Cost-based input method of revenue recognition is considered a faithful depiction of the Company&#x2019;s efforts to satisfy EPC and development services contracts and therefore reflect the transfer of goods or services to a customer under such contracts. Costs incurred towards contract completion may include costs associated with direct materials, labor, subcontractors, and other indirect costs related to contract performance. The cost-based input method of revenue recognition requires the Company  to make estimates of net contract revenues and costs to complete the Company&#x2019;s projects. In making such estimates, significant judgment is required to evaluate assumptions related to the amount of net contract revenues, including the impact of any performance incentives, liquidated damages, and other payments to customers. Significant judgment is also required to evaluate assumptions related to the costs to complete the Company&#x2019;s projects, including materials, labor, contingencies, and other system costs. If estimated total costs of any contract are greater than the estimated net revenues, of the contract, the Company recognizes the entire estimated loss in the period the loss becomes known. The cumulative effect of revisions to estimates related to net contract revenues and costs to complete contracts, including penalties, claims, change orders, performance incentives, anticipated losses, and others are recorded in the period in which revisions to estimates are identified and the amounts can be reasonably estimated. &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Solar power projects&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Sales of solar power projects are recognized at a point in time when customers obtain control of solar power projects. For sales of solar power projects in which the company obtains an interest in the project sold to the customer, the Company recognizes all of the revenue for the consideration received, including the fair value of the non-controlling interest the Company obtained, and defer any profit associated with the interest obtained.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Electricity revenue&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Electricity revenue is generated primarily by the Company&#x2019;s solar power plants under long-term PPAs and performance based energy incentives. For electricity sold under PPAs, the Company recognizes electricity revenue based on the price stated in the PPAs when electricity has been generated and transmitted to the grid. Performance-based energy incentives are awarded under certain state programs for the delivery of renewable electricity when the conditions attached to it have been met and there is reasonable assurance that the incentives will be received. During the years ended December 31, 2017, 2018 and 2019, the Company recognized performance-based energy incentives of $10.9 million, $4.7 million, and $3.9 million, respectively, related to electricity generated and recognized in revenue.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Disaggregation of Revenue&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The table represents a disaggregation of revenue from contracts with customers for the years ended December 31, 2017, 2018, and 2019. See Segment Information Note 22 for details of revenues generated from each product or service and revenues generated from different geographic locations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table represents a disaggregation of revenue recognized at a point in time or over time:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;MSS:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Revenue recognized at a point in time&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,705,985&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,095,743&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,238,310&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Revenue recognized over time&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,938&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 73,175&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 242,828&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Energy:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Revenue recognized at a point in time&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 633,195&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,542,906&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 668,476&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Revenue recognized over time&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44,275&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,688&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,969&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,390,393&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,744,512&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,200,583&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-style:italic;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company&#x2019;s contract assets and liabilities are as follow:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;br/&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:12.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December31,&lt;br/&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fluctuation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:40.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contract Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accounts receivables, unbilled&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 38&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,256&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,218&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contract Liabilities&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Advances from customers&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,024&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 134,806&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 95,782&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other current liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,381&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,917&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (30,464)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 90,405&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 155,723&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 65,318&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-style:italic;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For the year ended December 31, 2019, $62.0 million revenue is recognized from the beginning balance of contract liabilities as of January 1, 2019. Contract liabilities of $155.7 million as of December 31, 2019 are expected to be realized within one year.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Practical Expedients and Exemptions&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company applies the new revenue standard requirements to a portfolio of contracts (or performance obligations) with similar characteristics for transactions where it is expected that the effects on the financial statements of applying the revenue recognition guidance to the portfolio would not differ materially from applying this guidance to the individual contracts (or performance obligations) within that portfolio. Therefore, the Company has elected the portfolio approach in applying the new revenue guidance.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company has made an accounting policy election to not assess whether promised products are performance obligations if they are immaterial in the context of the contract with the customer. If the revenue related to a performance obligation that includes products that are immaterial in the context of the contract is recognized before those immaterial products are transferred to the customer, then the related costs to transfer those products are accrued.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company does not disclose the value of unsatisfied performance obligations for (i) contracts with an original expected length of one year or less and (ii) contracts for which the Company recognizes revenue at the amount to which it has the right to invoice for services performed.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company generally expenses incremental costs of obtaining a contract when incurred because the amortization period would be less than one year. The incremental costs are recorded in operating expense. Incremental costs of obtaining a contract with an amortization period more than one year are not material to the Company.&lt;/p&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2018_us-gaap_PublicUtilitiesInventoryAxis_csiq_UncollectableRevenueMember_TvJpH0SJtE-DtIo8F_DXEQ"
      decimals="-5"
      id="Narr_kY9SUXtQw0-yHeqDkvuuAg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9000000.0</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2019_us-gaap_PublicUtilitiesInventoryAxis_csiq_UncollectableRevenueMember_mXmvI0l1EEeM5fFueacxQw"
      decimals="-5"
      id="Narr_9xIJIAmPNk2hIYTEsweFHA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7700000</us-gaap:InventoryNet>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_Soojqgr3cUKB2qyCL8yiyg"
      decimals="-5"
      id="Narr_fbOy9lLCtUmlS-z8ZrETgg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10900000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_ZAWDmQFn9E6h6EhTX_7omQ"
      decimals="-5"
      id="Narr_7ORTE0V0uk6Xh84Qbj_FKg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4700000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_BUFxCdL0A0y6BF12QikXqw"
      decimals="-5"
      id="Narr_RckIIpxizU-ThT7oXDnX6Q"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3900000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_XKHLQYQxJk2gB43KMxB1FA">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;MSS:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Revenue recognized at a point in time&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,705,985&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,095,743&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,238,310&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Revenue recognized over time&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,938&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 73,175&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 242,828&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Energy:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Revenue recognized at a point in time&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 633,195&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,542,906&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 668,476&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Revenue recognized over time&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44,275&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,688&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,969&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,390,393&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,744,512&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,200,583&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_QKxAMf0-RUuVnpa5Qx3uPQ"
      decimals="-3"
      id="Tc_ocADd6Q15kKaVq9tDiNhhg_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2705985000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_GlG3OIvwy0uSqltQ5VaYKQ"
      decimals="-3"
      id="Tc_kd9lf52Gw0iCBtOoC9DYgA_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2095743000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_kqYJQ7mlgECOTJtnUDOsew"
      decimals="-3"
      id="Tc_h94i-cCNxkq4IeUaN1Pg3A_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2238310000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_xGoYbHVe-kWTZT4uU4a_yQ"
      decimals="-3"
      id="Tc_qQ2ktVDxYUWaAvhkIQHqZA_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6938000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_fPGbU_p6XkysfyIatvq8Qw"
      decimals="-3"
      id="Tc_BOCfdY7NDEWdN0S1CrFLSg_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">73175000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_fEC69IZKekeIix6zZJbfuw"
      decimals="-3"
      id="Tc_4XP0QZT4W0C8oCIY3ngrmg_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">242828000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_aDu_dfgu3ky_qZHc0wIUSQ"
      decimals="-3"
      id="Tc_LbIxNGmwvk2wHoIurQtcfQ_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">633195000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_vxEfED5fB0WIbLKJSQuPTg"
      decimals="-3"
      id="Tc_2OtApepN9EKosgXWOwocTg_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1542906000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_4C5vV0JRf06kUycJ0C1Beg"
      decimals="-3"
      id="Tc_Eq4YcUMT-kinZMSymSsF_Q_9_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">668476000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_sgvDmWqwaEuQg93l1PKZqA"
      decimals="-3"
      id="Tc_h2g5rdKhq0uGhjwFWmmMFw_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">44275000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_ryBfuNTHlkGuLlfppM_PYw"
      decimals="-3"
      id="Tc_2_dRH44IWUG1ykoXkdAGAA_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">32688000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_CDFN3rq2cEmAuhz7QKBAyw"
      decimals="-3"
      id="Tc_nRafzk7j1kWb_uYOBKPXyg_10_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">50969000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_Kc1UH4t5s0u2KJw24YQWGQ_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3390393000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Xvhd0RqFz0WB8oz0_qQCIA_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3744512000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_8nbBE6vu90mlcjY7mvFTxA_11_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3200583000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_srRq954XqESWH_5zv2-ACA">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;br/&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:12.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December31,&lt;br/&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fluctuation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:40.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contract Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accounts receivables, unbilled&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 38&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,256&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,218&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contract Liabilities&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Advances from customers&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,024&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 134,806&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 95,782&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other current liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,381&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,917&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (30,464)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 90,405&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 155,723&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 65,318&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_-fA-NU7SXkCb-4x7VBy65w_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">38000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_4OPpusb8tkOvAMbkFlzjMg_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15256000</us-gaap:UnbilledReceivablesCurrent>
    <csiq:IncreaseDecreaseInAccountsReceivablesUnbilled
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_zcnGUtaCckC95N5diMBvCQ_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15218000</csiq:IncreaseDecreaseInAccountsReceivablesUnbilled>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_4O4pF2RG2Uy6RGXm8WCJXQ_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39024000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_KBKA1Ur0fEy2-JB2V2qkPA_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">134806000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <csiq:IncreaseDecreaseInAdvancesFromCustomers
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_0QzX1KYdWEmhUEUu_XqJKQ_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">95782000</csiq:IncreaseDecreaseInAdvancesFromCustomers>
    <csiq:ContractLiabilitiesOtherCurrentLiabilities
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_bDvZRLrpjkSUhF_vciQXbg_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">51381000</csiq:ContractLiabilitiesOtherCurrentLiabilities>
    <csiq:ContractLiabilitiesOtherCurrentLiabilities
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_5KuDhrMS3keKOKfcA7dRoQ_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20917000</csiq:ContractLiabilitiesOtherCurrentLiabilities>
    <csiq:OtherCurrentLiabilitiesFluctuations
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_fizBVhI3sU22QrFaGncgVg_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-30464000</csiq:OtherCurrentLiabilitiesFluctuations>
    <us-gaap:ContractWithCustomerLiability
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_87EajRlKR0iAf2K0g1BLDQ_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">90405000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_y1ThO5Ujq06eG8UWIj8Q_g_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">155723000</us-gaap:ContractWithCustomerLiability>
    <csiq:IncreaseDecreaseInContractLiabilities
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_OoW2uoENMUqP91mt3T1rSg_9_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">65318000</csiq:IncreaseDecreaseInContractLiabilities>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-5"
      id="Narr_R64pYR6glEejj8U4m06BDA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">62000000.0</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="As_Of_12_31_2019_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_csiq_cnst_2020-01-01_6S66jUOou0-n7G8ZoHbbPQ"
      decimals="-5"
      id="Narr_CEuxQ_T5L0yTQDNB-NtSAA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">155700000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="As_Of_12_31_2019_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_csiq_cnst_2020-01-01_6S66jUOou0-n7G8ZoHbbPQ"
      id="Narr_G7cGX7z7DUuW8jMDgrXa9g">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <csiq:ShippingsAndHandlingCostPolicyPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_DHiu7AwKuUykLdH4zmVyjQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(x)&#160;&#160;&#160;Shipping and handling costs&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Payments received from customers for shipping and handling costs are included in net revenues. Shipping and handling costs relating to sales of $79,853, $69,855 and $88,079, are included in selling expenses for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:3pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</csiq:ShippingsAndHandlingCostPolicyPolicyTextBlock>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_KrpZ0JApM0atDRTxQ0MKkg"
      decimals="-3"
      id="Narr_OVkolovYtUKZOX_CukjPHw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">79853000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_X6HdNMxyLk6UYPVRb0alxA"
      decimals="-3"
      id="Narr_CaZwnash30KtzhVxI0F-5g"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">69855000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_jjHP3wxIbk6iZgzCWyXAXA"
      decimals="-3"
      id="Narr_p3VcyL0H_0-bftAxvENv_w"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">88079000</us-gaap:SellingExpense>
    <us-gaap:ResearchAndDevelopmentExpensePolicy
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_DTSoS1JfU0q1uPM-3NC43Q">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(y)&#160;&#160;&#160;&#160;Research and development&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Costs related to the design, development, testing and enhancement of products and silicon reclamation program are included in research and development expenses. Research and development costs are expensed when incurred and amounted to $28,777, $44,193 and $47,045 for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;</us-gaap:ResearchAndDevelopmentExpensePolicy>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Narr_tGAaDwUBfEml3c3FkPgR7g"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28777000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Narr_ggVdOqp7b06paLx1LVVsZw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">44193000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_V3X06S-FUEGbvT1J6ai45Q"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">47045000</us-gaap:ResearchAndDevelopmentExpense>
    <csiq:OtherOperatingIncomeExpensePolicyPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_ZGJLKTB8fE-mXW9fTXxMyQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(z)&lt;/span&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Other operating income, net&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Other operating income, net primarily consists of gains or losses on disposal of solar power systems and property, plant and equipment, and government grants received, and compensation from business interruption insurance.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Government grants received by the Company consist of unrestricted and restricted grants and subsidies. Unrestricted grants that allowed the Company&#x2019;s full discretion in utilizing the funds are recognized as other operating income upon receipt of cash and when all the conditions for their receipt have been satisfied. Restricted grants related to prepaid land use rights, property, plants and equipment and certain projects, are recorded as deferred subsidies in other non-current liabilities and are amortized on a straight-line basis over the term of related assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table summarizes the Company&#x2019;s other operating income, net:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net gain on disposal of solar power system&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (27,803)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (36,098)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,666)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net loss on disposal of property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,960&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,565&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,227&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Government grants&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,473)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (11,013)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (10,097)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Business interruption insurance compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (15,238)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;&lt;span style="margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (47,554)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (44,546)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (10,536)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</csiq:OtherOperatingIncomeExpensePolicyPolicyTextBlock>
    <csiq:ScheduleOfOtherOperatingIncomeExpenseTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_mTB2sA-zVU-7lTSdq2md1Q">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net gain on disposal of solar power system&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (27,803)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (36,098)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,666)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net loss on disposal of property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,960&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,565&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,227&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Government grants&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,473)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (11,013)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (10,097)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Business interruption insurance compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (15,238)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;&lt;span style="margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (47,554)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (44,546)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (10,536)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfOtherOperatingIncomeExpenseTableTextBlock>
    <csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_lwNk0Of5j0GmqRGPxxwcag_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">27803000</csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments>
    <csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_rMqsW7YgrEqrj6jNlymxWQ_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">36098000</csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments>
    <csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_wh9dZdd-j0KzIvTs7poH7w_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1666000</csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments>
    <csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc__n8i7MB65EeE6ssHeRJjNg_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1960000</csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense>
    <csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_o51hLgoLzkayhlSReB7fvg_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2565000</csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense>
    <csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_iPLfGaAmLECIJwZOQL3qZQ_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1227000</csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_us-gaap_GrantMember_IyVp6WbfrEmmRnpLB78etw"
      decimals="-3"
      id="Tc_O680W_KDskaUBW_nHEIRRQ_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6473000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_us-gaap_GrantMember_2srcXON2jEuS-ffiEI4ABA"
      decimals="-3"
      id="Tc_q4iehGC_g0mPFgczWNOBfw_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11013000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_GrantMember_GSLY653ToEWIvP0MwCXxPg"
      decimals="-3"
      id="Tc_ZNJ2wgoBlU6tzz-HEkoBEw_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10097000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:GainOnBusinessInterruptionInsuranceRecovery
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_uLSULGG7KUKoHGYXHN0Tlg_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15238000</us-gaap:GainOnBusinessInterruptionInsuranceRecovery>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_cIW6dw2nSkGAT46IvAnYJw_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">47554000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_-ANu8VjtTky59k9s49w8oQ_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">44546000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_9aeHZrLhK0WGT8yzK13bpA_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10536000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:StandardProductWarrantyPolicy
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_0cx_1zS89Uy5veFVWZTzXA">&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(aa)&#160;Warranty cost&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Before June 2009, the Company typically sold its standard solar modules with a two-year guarantee for defects in materials and workmanship and a 10-year and 25-year warranty against declines of more than 10% and 20%, respectively, from the initial minimum power generation capacity at the time of delivery. In June 2009, the Company increased its guarantee for defects in materials and workmanship to six years. In August 2011, the Company increased its guarantee for defects in materials and workmanship to ten years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2019, the Company increased its guarantee for defects in materials and workmanship up to twelve years and the Company warrant that, for a period of 25 years, its standard polycrystalline modules will maintain the following performance levels: (i) during the first year, the actual power output of the module will be no less than 97.5% of the labeled power output; (ii) from the second year to the 24th year, the actual annual power output decline of the module will be no more than 0.7%; and (iii) by the end of the 25th year, the actual power output of the module will be no less than 80.7% of the labeled power output.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company has lengthened the warranty against decline in performance for its bifacial module and double glass module products to 30 years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For solar power projects built by the Company, the Company provides a limited workmanship or balance of system warranty against defects in engineering design, installation and construction under normal use, operation and service conditions for a period of up to ten years following the energizing of the solar power project. In resolving claims under the workmanship or balance of system warranty, the Company has the option of remedying through repair, refurbishment or replacement of equipment. The Company has entered into similar workmanship warranties with its suppliers to back up its&#160;warranties.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company maintains warranty reserves to cover potential liabilities that could arise under these guarantees and warranties. Due to limited warranty claims to date, the Company accrues the estimated costs of warranties based on an assessment of its competitors&#x2019; and its own actual claim history, industry-standard accelerated testing, estimates of failure rates from the Company&#x2019;s quality review, and other assumptions that the Company believes to be reasonable under the circumstances. Actual warranty costs are accumulated and charged against the accrued warranty liability. To the extent that accrual for warranty costs differs from the estimates, the Company will prospectively revise its accrual rate. The Company currently records a 1% warranty provision against the revenue for sales of solar power&#160;products.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company has entered into agreements with a group of insurance companies with high credit ratings to back up its warranties. Under the terms of the insurance policies, which are designed to match the terms of the Company&#x2019;s solar&#160;module product warranty policy, the insurance companies are obliged to reimburse the Company, subject to certain maximum claim limits and certain deductibles, for the actual product warranty costs that the Company incurs under the terms of its solar&#160;module product warranty policy. The Company records the insurance premiums initially as prepaid expenses and amortizes them over the respective policy period of one year. The unamortized carrying amount is $1,286 and $1,486 as of December 31, 2018 and 2019, respectively and was included as a component of prepaid expenses and other current&#160;assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The warranty obligations the Company records relate to defects that existed when the product was sold to the customer. The event which the Company is insured against through its insurance policies is the sale of products with these defects. Accordingly, the Company views the insured losses attributable to the shipment of defective products covered under its warranty as analogous to potential claims, or claims that have been incurred as of the product ship date, but not yet reported. The Company expects to recover all or a portion of the cost of its obligations with respect to the defective products through insurance claims. Therefore, the Company&#x2019;s accounting policy is to record an asset for the amount determined to be probable of recovery from the insurance claims (not&#160;to exceed the amount of the total losses incurred), consistent with the guidance set forth at ASC&#160;410-30.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company considers the following factors in determining whether an insurance receivable that is probable and recoverability can be reasonably estimated: (i) reputation and credit rating of the insurance company; (ii) comparison of the solar module product warranty policy against the terms of the insurance policies, to ensure valid warranty claims submitted by customers will be covered by the policy and therefore reimbursed by the insurance companies; and (iii) with respect to specific claims submitted, written communications from the insurance company are monitored to ensure the claim has been submitted to the insurance company, and reimbursements are probable to be subsequently collected. The successfully processed claims provide further evidence that the insurance policies are functioning as anticipated.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;To the extent uncertainties regarding the solvency of insurance carriers or the legal sufficiency of insurance claims (including if they became subject to litigation) were to arise, the Company will establish a provision for uncollectible amounts based on the specific facts and circumstances. To date, no provision had been determined to be necessary. In addition, to the extent that accrual for warranty costs differs from the estimates and the Company prospectively changes its accrual rate, this change may result in a change to the amount expected to be recovered from&#160;insurance.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As the warranty obligation and related recovery asset do not meet the criteria for offsetting, the gross amounts are reported in the Company&#x2019;s consolidated balance sheets. The asset is expected to be realized over the life of the warranty obligation, which is &lt;span style="-sec-ix-hidden:Hidden_QfSZT8C17EqqpvabdpjiWw"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;25&lt;/span&gt;&lt;/span&gt; or 30 years and is treated as a non-current asset consistent with the underlying warranty obligation. When a specific claim is submitted, and the corresponding insurance proceeds will be collected within twelve months of the balance sheet date, the Company will reclassify that portion of the receivable as being current. The insurance receivable amounts were $75,617 and $79,888 as of December 31, 2018 and 2019, respectively, and were included as a component of other non-current assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company made downward adjustments to its accrued warranty costs of $1,446 and other non-current assets of $800, for the year ended December 31, 2019, to reflect the general declining trend of the average selling price of solar modules, which is a primary input into the estimated warranty costs. Accrued warranty costs (net effect of adjustments) of $19,793, $13,188 and $28,044 are included in cost of revenues for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;</us-gaap:StandardProductWarrantyPolicy>
    <csiq:StandardProductWarrantyPeriod
      contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_OIwjmEy-g0-jBi_IfTdnJg"
      id="Narr_jkJhYqBo1kmYN4R6FzvwTA">P2Y</csiq:StandardProductWarrantyPeriod>
    <csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity
      contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_OIwjmEy-g0-jBi_IfTdnJg"
      id="Narr_kJO3uD0a7U-oyzI0w8RGaw">P10Y</csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity>
    <csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity
      contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_OIwjmEy-g0-jBi_IfTdnJg"
      id="Narr_TN5VjgqnD0SYO0Rl94Nbzg">P25Y</csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity>
    <csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty
      contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_OIwjmEy-g0-jBi_IfTdnJg"
      decimals="2"
      id="Narr_cgtOs1-eOEmr7ixTQmlEeg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.10</csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty>
    <csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty
      contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_OIwjmEy-g0-jBi_IfTdnJg"
      decimals="2"
      id="Narr_XLNDOiKIwUKSWZnXpTLVXQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.20</csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_6_1_2009_To_6_30_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_t8cQY5bAzU-yeV-sxSagdA"
      id="Narr_JNiPe8jn7EC_7KSdA8Pi-g">P6Y</csiq:InsurancePolicyTerm>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_8_1_2011_To_8_31_2011_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_MIQgX1VwqEybOAeurlaxHg"
      id="Narr_SnAGdNP2qkK8f5b-JKs5vA">P10Y</csiq:InsurancePolicyTerm>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_XhAYtJxcUkeQuRT0kk1amw"
      id="Narr_tpByK_fiMEC53bME5Cw1HA">P12Y</csiq:InsurancePolicyTerm>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_7rh37m38QEi6EfxAGudRHQ"
      id="Narr_JAs3jUib1EuVvsgX7vB_Dw">P25Y</csiq:InsurancePolicyTerm>
    <csiq:ProductWarrantyAccrualRateForSalesOfSolarModules
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetySevenPercentInitialPowerCapacityMember_gyvGzgoBPk6U5a_JhPV_mg"
      decimals="3"
      id="Narr_ycr0kDtC70OBnjdEHEGeNQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.975</csiq:ProductWarrantyAccrualRateForSalesOfSolarModules>
    <csiq:ProductWarrantyAccrualRateForSalesOfSolarModules
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_NinetyThreeInitialPowerCapacityMember_e6D4t8_Q3k6-4Du3ukDoww"
      decimals="3"
      id="Narr_n3Va-n5pOU6Ub4fhYuslKg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.007</csiq:ProductWarrantyAccrualRateForSalesOfSolarModules>
    <csiq:ProductWarrantyAccrualRateForSalesOfSolarModules
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_GuaranteeObligationsByNatureAxis_csiq_EightyPercentInitialPowerCapacityMember_ovzvu2KUh0q2ohJZ4l8x7Q"
      decimals="3"
      id="Narr_BjS1NwGIq0KJHw_0UX2ynA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.807</csiq:ProductWarrantyAccrualRateForSalesOfSolarModules>
    <csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_BifacialModuleAndDoubleGlassModuleMember_GaiVxGQb-Ea-Pf708CGEmA"
      id="Narr_iSRSUa7m2kimhO8Om8acBQ">P30Y</csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity>
    <csiq:StandardProductWarrantyPeriod
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarPowerProjectMember_bm-757FtQU68ZBQWkstNJQ"
      id="Narr_8gguWfQAxkme8TNUu1A3UQ">P10Y</csiq:StandardProductWarrantyPeriod>
    <csiq:ProductWarrantyAccrualRateForSalesOfSolarModules
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Narr_5obfnDzSYESUX6iZnqcgDg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.01</csiq:ProductWarrantyAccrualRateForSalesOfSolarModules>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_LqpZMl0SikKSyVwiKSvwoA">P1Y</csiq:InsurancePolicyTerm>
    <csiq:InsurancePremiumUnamortizedAmountNoncurrent
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Narr_2KOpfEZO1ECW5KHFaX43ng"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1286000</csiq:InsurancePremiumUnamortizedAmountNoncurrent>
    <csiq:InsurancePremiumUnamortizedAmountNoncurrent
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_9zEKANnuqUKlVJLBAnfx5Q"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1486000</csiq:InsurancePremiumUnamortizedAmountNoncurrent>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_DZYOKKqhF0210mfrrrZweA"
      id="Narr_KMurX0j6hESTk6TkkFrb9w">P30Y</csiq:InsurancePolicyTerm>
    <us-gaap:InsuranceSettlementsReceivableNoncurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Narr_knvjv__99US4lAJjpQ3xBw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">75617000</us-gaap:InsuranceSettlementsReceivableNoncurrent>
    <us-gaap:InsuranceSettlementsReceivableNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_r46Fw1na_EWtMxqPkHlnew"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">79888000</us-gaap:InsuranceSettlementsReceivableNoncurrent>
    <us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_miemmXa-CkWj3r_thGn1LA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1446000</us-gaap:StandardProductWarrantyAccrualPreexistingIncreaseDecrease>
    <csiq:OtherNoncurrentAssetsAdjustment
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_Ou51d-oYQEq7-bHMsIxHwQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">800000</csiq:OtherNoncurrentAssetsAdjustment>
    <us-gaap:ProductWarrantyExpense
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Narr_6JkUQO9OD0yKJ2XjZQw9PA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">19793000</us-gaap:ProductWarrantyExpense>
    <us-gaap:ProductWarrantyExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Narr_Wxof2A4UzEC8m4Ob1o_Lqg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13188000</us-gaap:ProductWarrantyExpense>
    <us-gaap:ProductWarrantyExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_gh3YRSvLJESFtADz6y_8Ig"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28044000</us-gaap:ProductWarrantyExpense>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_l9cwlbvsA0-_8Kc3KWyD7Q">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ab)&#160;Foreign currency translation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The United States dollars (&#x201c;U.S. dollars&#x201d; or &#x201c;$&#x201d;), the currency in which a substantial amount of the Company&#x2019;s transactions are denominated, is used as the functional and reporting currency of CSI. Monetary assets and liabilities denominated in currencies other than the U.S. dollars are translated into U.S. dollars at the rates of exchange ruling at the balance sheet date. Transactions in currencies other than the U.S. dollars during the year are converted into the U.S. dollars at the applicable rates of exchange prevailing on the transaction date. Transaction gains and losses are recognized in the consolidated statements of operations. Gains and losses on intra-entity foreign currency transactions that are of a long-term-investment nature (that is, settlement is not planned or anticipated in the foreseeable future) between consolidated entities are not recognized in earnings, but are included as a component of other comprehensive income.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The financial records of certain of the Company&#x2019;s subsidiaries are maintained in local currencies other than the U.S. dollars, such as Renminbi (&#x201c;RMB&#x201d;), Euros, Canadian dollars (&#x201c;CAD&#x201d;), Japanese yen and Brazilian reals (&#x201c;BRL&#x201d;), which are their functional currencies. Assets and liabilities are translated at the exchange rates at the balance sheet date, equity accounts are translated at historical exchange rates and revenues, expenses, gains and losses are translated using the average rate for the year. Translation adjustments are reported as foreign currency translation adjustment and are shown as a separate component of other comprehensive income in the statements of comprehensive income.&lt;/p&gt;</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:ComprehensiveIncomePolicyPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_SOBgQTtu3U29QkCJypCfYQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ac)&#160;Comprehensive income&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Comprehensive income includes all changes in equity except those resulting from investments by owners and distributions to owners. For the years presented, total comprehensive income included (i)&#160;net income, (ii)&#160;foreign currency translation adjustments, (iii)&#160;gains and losses on intra-entity foreign currency transactions that are of a long-term-investment nature (that is, settlement is not planned or anticipated in the foreseeable future) between consolidated entities and (iv) the unrealized gains or losses (effective portion) on derivative instruments that qualify for and have been designated as cash flow hedges. &lt;/p&gt;</us-gaap:ComprehensiveIncomePolicyPolicyTextBlock>
    <csiq:ForeignCurrencyRiskPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_WIsBmFOA0EuihwtnPh3a8w">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ad)&#160;Foreign currency risk&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The majority of the Company&#x2019;s sales in 2017, 2018 and 2019 were denominated in U.S. dollars, Renminbi and Japanese yen, with the remainder in other currencies such as Euros, Brazilian reals, Australian dollars, Canadian dollars.. The Company&#x2019;s Renminbi costs and expenses are primarily related to the sourcing of solar cells, silicon wafers and silicon, other raw materials, including aluminum and silver paste, toll manufacturing fees, labor costs and local overhead expenses within the PRC. From time to time, the Company enters into loan arrangements with commercial banks that are denominated primarily in Renminbi, U.S. dollars and Japanese yen. Most of its cash and cash equivalents and restricted cash are denominated in Renminbi. Fluctuations in exchange rates, particularly between the U.S. dollars, Renminbi, Thailand Baht, British pounds, Canadian dollars, Japanese yen and Euros, may result in foreign exchange gains or losses. Since 2008, the Company has hedged part of its foreign currency exposures against the U.S. dollars using foreign currency forward or option contracts.&lt;/p&gt;</csiq:ForeignCurrencyRiskPolicyTextBlock>
    <us-gaap:ConcentrationRiskCreditRisk
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_eevuNVUV-EWQXTCrbgllOg">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ae)&#160;Concentration of credit risk&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Financial instruments that potentially expose the Company to concentrations of credit risk consist primarily of cash and cash equivalents, restricted cash, accounts receivable, advances to suppliers and amounts due from related parties. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;All of the Company's cash and cash equivalents are held with financial institutions that Company management believes to have high credit quality.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company conducts credit evaluations of customers and generally does not require collateral or other security from its customers. The Company establishes an allowance for doubtful accounts primarily based upon the age of the receivables and factors surrounding the credit risk of specific customers. With respect to advances to suppliers, such suppliers are primarily suppliers of raw materials. The Company performs ongoing credit evaluations of its suppliers' financial conditions. The Company generally does not require collateral or security against advances to suppliers, however, it maintains a reserve for potential credit losses and such losses have historically been within management's expectation.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The prepayments made by the Company are unsecured and expose the Company to supplier credit risk. As of December 31, 2018 and 2019, prepayments made to individual suppliers were all less than 10% of total advances to suppliers and the concentration risk is relatively low.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_AXt9SAnDUEuhkkgcr5KiWg">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(af)&#160;Fair value of financial instruments&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company applies authoritative guidance for fair value measurements for its financial assets and liabilities. The guidance defines fair value as an exit price representing the amount that would be received upon the sale of an asset or paid to transfer a liability in an orderly transaction between market participants. The guidance also establishes a fair value hierarchy, which prioritized the inputs used in measuring fair value. The standard describes three levels of inputs that may be used to measure fair value:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Level 1&lt;/i&gt;&#x2014;Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets. The Company&#x2019;s restricted cash balance for all periods presented uses level one fair value inputs.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Level 2&lt;/i&gt;&#x2014;Inputs reflect quoted prices for identical assets or liabilities in markets that are not active; quoted prices for similar assets or liabilities in active markets; inputs other than quoted prices that are observable for the assets or liabilities; or inputs that are derived principally from or corroborated by observable market data by correlation or other means.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Level 3&#x2014;&lt;/i&gt;Unobservable inputs reflecting the Company&#x2019;s own assumptions incorporated in valuation techniques used to determine fair value. These assumptions are required to be consistent with market participant assumptions that are reasonably available.&lt;span style="font-style:italic;font-weight:bold;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:DerivativesPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_kNkqE0jLXE6VmsmiQB9g-A">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ag)&#160;Derivatives instruments and hedging activity&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company&#x2019;s primary objective for holding derivative financial instruments is to manage risks. Depending on the terms of the specific derivative instruments and market conditions, some of the Company&#x2019;s derivative instruments may be assets and liabilities at any particular point in time. The recognition of gains or losses resulting from changes in fair value of these derivative instruments is based on the use of each derivative instrument and whether it qualifies for hedge accounting.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company enters into derivatives to hedge its foreign currency risk exposure to losses from price adjustments of electricity and interest rate risk. When the Company determines to designate a derivative instrument as a cash flow hedge, the Company formally documents the hedging relationship and its risk management objective and strategy for undertaking the hedge, the hedging instrument, the hedged item, the nature of the risk being hedged, how the hedging instrument&#x2019;s effectiveness in offsetting the hedged risk will be assessed, and a description of the method of measuring ineffectiveness. The Company also formally assesses, both at the hedge&#x2019;s inception and on an ongoing basis, whether the derivative that is used in hedging transactions is highly effective in offsetting changes in cash flows of hedged items. The effective portion of gains and losses on derivatives designated as cash flow hedges are initially deferred in other comprehensive income before being recognized in the statements of operations in the same period as the hedged transactions are reflected in earnings. Gains and losses on derivatives that are not designated or fail to qualify as effective hedges are recognized in the statements of operations as incurred.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Fair value of the derivative instruments is determined using pricing models developed based on the underlying price of the hedged items. The values are also adjusted to reflect nonperformance risk of the counterparty and the Company, as necessary. &lt;/p&gt;</us-gaap:DerivativesPolicyTextBlock>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb__nPIKehUMEG82tJTCPmTjA">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ah)&#160;Earnings (loss) per share&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Basic earnings (loss) is computed by dividing income (loss) attributable to holders of common shares by the weighted average number of common shares outstanding during the year. Diluted earnings (loss) per common share reflects the potential dilution that could occur if securities or other contracts to issue common shares were exercised or converted into common shares. Common share equivalents are not included in the calculation of dilutive earnings per share if their effects are anti-dilutive.&lt;/p&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_4oLlyDC0xE6-hFga8PECWQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ai)&#160;Share-based compensation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company&#x2019;s share-based compensation with employees, such as share options, restricted shares and restricted share units (&#x201c;RSUs&#x201d;), is measured at the grant date, based on the fair value of the award, and is recognized as compensation expense, net of estimated forfeitures, over the period during which an employee is required to provide service in exchange for the award, which is generally the vesting&#160;period.&lt;/p&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_kt5kv_jPqkW2PLg6o-IFsA">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(aj)&#160;Recently issued accounting pronouncements&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In February 2016, the FASB issued ASU 2016-02, "Leases (Topic 842)", requires the recognition of right-of-use ("ROU") assets and lease liabilities on the balance sheet and changes the pattern of expense recognition in the statement of operations. In July 2018, the FASB issued ASU 2018-11, &#x201c;Leases (Topic 842)&#x2014;Targeted Improvements&#x201d;, which provided an optional transition method to apply the new lease requirements through a cumulative-effect adjustment in the period of adoption.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company adopted the new standard on January 1, 2019 using this optional transition method to all leases existed at the date of initial application. In addition, the Company elected the transition practical referred to as the &#x201c;package of three&#x201d;, that must be taken together and allows entities to (1) not reassess whether existing contracts contain leases, (2) carryforward the existing lease classification, and (3) not reassess initial direct costs associated with existing leases. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;This adoption primarily affects the Company's leases arrangements previously accounted for under Topic 840. As a result of adoption, the Company recognized right-of-use ("ROU") assets and lease liabilities on the balance sheet for operating leases of $33,829. Upon adoption of ASC 842, the Company elected to use the remaining lease term as of January 1, 2019 in the estimation of the applicable discount rate for leases that were in place at adoption. For the initial measurement of the lease liability for leases commencing after January 1, 2019, the Company use the discount rate as of the commencement date of the lease, incorporating the entire lease term. The treatment of finance leases has no difference with that under Topic 840 and there is no significant impact on results of operations or cash flows.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The reported results for year 2019 reflect the adoption of Topic 842, while the reported results for year 2017 and 2018 were prepared under the previous lease accounting guidance. There is no impact to the beginning balance of retained earnings on January 1, 2019 for this adoption.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In June 2016, the FASB issued ASU 2016-13, &#x201c;Financial Instruments&#x2014;Credit Losses (Topic 326)&#x201d;, which has been subsequently updated by ASU 2019-04, 2019-05, 2019-10, 2019-11 and 2020-03. The amendments change the impairment model for most financial assets, and will require the use of an &#x201c;expected loss&#x201d; model for instruments measured at amortized cost. Under this model, entities will be required to estimate the lifetime expected credit loss on such instruments and record an allowance to offset the amortized cost basis of the financial asset, resulting in a net presentation of the amount expected to be collected on the financial asset. This pronouncement is effective for fiscal years, and for interim periods within those fiscal years, beginning after December 15, 2019. The Company does not expect a material impact to its consolidated financial statement upon adoption of this ASU.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;In August 2018, the FASB issued ASU 2018-13, &#x201c;Fair Value Measurement (Topic 820): Disclosure Framework&#x2013;Changes to the Disclosure Requirements for Fair Value&#x201d;. ASU 2018-13 removes and modifies existing disclosure requirements on fair value measurement, namely regarding transfers between levels of the fair value hierarchy and the valuation processes for Level 3 fair value measurements. Additionally, ASU 2018-13 adds further disclosure requirements for Level 3 fair value measurements, specifically changes in unrealized gains and losses and other quantitative information. ASU 2018-13 is effective for fiscal years and interim periods within those fiscal years, beginning after December 15, 2019, with early adoption permitted.  The Company does not expect a material impact to its consolidated financial statement upon adoption of this ASU.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In October 2018, the FASB issued ASU 2018-17, &#x201c;Consolidation (Topic 810): Targeted Improvements to Related Party Guidance for Variable Interest Entities&#x201d;, which expands variable interests to indirect interests held through related parties under common control. ASU 2018-17 is effective for fiscal years and interim periods within those fiscal years, beginning after December 15, 2019, with early adoption permitted. It is required to be applied retrospectively with a cumulative-effect adjustment to retained earnings at the beginning of the earliest period presented. The Company does not expect a material impact to its consolidated financial statement upon adoption of this ASU.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In December 2019, the FASB issued ASU 2019-12, Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes (&#x201c;ASU 2019-12&#x201d;), which simplifies income tax accounting in various areas including, but not limited to, the accounting for hybrid tax regimes, tax implications related to business combinations, and interim period accounting for enacted changes in tax law, along with some codification improvements. ASU 2019-12 is effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2020, with early adoption permitted. Certain changes in the standard require retrospective or modified retrospective adoption, while other changes must be adopted prospectively. The Company is currently evaluating ASU 2019-12 and its impact on its consolidated financial statements.&lt;/p&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_1_1_2019_JrXLyDz_iE6bXdd_RjWC4w"
      decimals="-3"
      id="Narr_QsIDYus2ZU6AZo0GS3fbag"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">33829000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:AllowanceForCreditLossesTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_er5wBCflKkWMa2tcauLzzA">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;3.&#160;ALLOWANCE FOR DOUBTFUL ACCOUNTS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Allowance for doubtful accounts are comprised of allowances for accounts receivable trade, advances to&#160;suppliers and other receivables.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;An analysis of allowances for accounts receivable, trade for the years ended December 31, 2017, 2018 and 2019 is as&#160;follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Beginning of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,119&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,941&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,733&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Allowances made (reversed) during the year, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,345&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 869&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,386)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accounts written-off against allowances&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (174)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (297)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (309)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,651&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (780)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,493)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Closing balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,941&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,733&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,545&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;An analysis of allowances for advances to suppliers for the years ended December 31, 2017, 2018 and 2019 is as&#160;follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Beginning of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,527&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,762&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,926&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Allowances made (reversed) during the year, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (833)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,287&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 738&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accounts written-off against allowances&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,452)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (123)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 69&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Closing balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,762&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,926&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,281&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;An analysis of allowances for other receivables for the years ended December 31, 2017, 2018 and 2019 is as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Beginning of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,251&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,349&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,704&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Allowances made (reversed) during the year, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 549&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (175)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,919&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 549&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (470)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (192)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Closing balance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,349&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,704&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,431&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:AllowanceForCreditLossesTextBlock>
    <us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_tq-G0UD3eEqDOF452JF6iA"
      id="Tb_qO3ujPwtl068I-T3gpQVbQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Beginning of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,119&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,941&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,733&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Allowances made (reversed) during the year, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,345&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 869&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,386)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accounts written-off against allowances&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (174)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (297)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (309)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,651&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (780)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,493)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Closing balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,941&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,733&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,545&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2016_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_mZ3g8MrpQ0-vybcY6Rvc3A"
      decimals="-3"
      id="Tc_94pLOJl3p0mhH5_KSJADmg_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">26119000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_-ZDYmEARK0q3GwoucbAxwQ"
      decimals="-3"
      id="Tc_Y2xCZV71z0OPCd7TwZmnYA_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">32941000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_rPxbvVZoyUOdbR494kekJQ"
      decimals="-3"
      id="Tc_ZO5JkFUtjEaK_mOafvavbg_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">32733000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_JJciRvPUpECtWVLfVRf7Qw"
      decimals="-3"
      id="Tc_jYwn66_tlUiLxsCAit4-7g_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5345000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_qw-rezekUkyLyb8G-vtAGQ"
      decimals="-3"
      id="Tc_lvIgbWno-kKwoGbjcUpWHQ_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">869000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_tq-G0UD3eEqDOF452JF6iA"
      decimals="-3"
      id="Tc_NyAmy2SzxUC4DbCTmVbHUw_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1386000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_JJciRvPUpECtWVLfVRf7Qw"
      decimals="-3"
      id="Tc_XWgzVASkx0uemEBx2pAWbA_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">174000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_qw-rezekUkyLyb8G-vtAGQ"
      decimals="-3"
      id="Tc_hAtk6w0NrECH5LsvbxIvxQ_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">297000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_tq-G0UD3eEqDOF452JF6iA"
      decimals="-3"
      id="Tc_kcD68A5O_kicJXggeAQZZg_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">309000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_JJciRvPUpECtWVLfVRf7Qw"
      decimals="-3"
      id="Tc_YEsJL4XcsEuDAIbYMQ3XCg_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1651000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_qw-rezekUkyLyb8G-vtAGQ"
      decimals="-3"
      id="Tc_eLFxjWcGvUOYuP5d0w64sQ_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-780000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_tq-G0UD3eEqDOF452JF6iA"
      decimals="-3"
      id="Tc_4qnhX-h22EKSX-9FdddyMw_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1493000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_-ZDYmEARK0q3GwoucbAxwQ"
      decimals="-3"
      id="Tc_f2Sll-fSw0eXwaT2s0ygHg_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">32941000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_rPxbvVZoyUOdbR494kekJQ"
      decimals="-3"
      id="Tc_sP2J1tertESXT1aXDJC-MQ_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">32733000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_5lpDB7_z30avE2UgNnsrpg"
      decimals="-3"
      id="Tc_K5UiFf8McUSfd-Kiv0jUmw_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">29545000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_08NS4dDeZkW17xdMEfRQ9w"
      id="Tb_ToenKxpPG0eJ0CSRSpAbhw">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Beginning of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,527&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,762&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,926&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Allowances made (reversed) during the year, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (833)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,287&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 738&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accounts written-off against allowances&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,452)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (123)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 69&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Closing balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,762&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,926&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,281&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="As_Of_12_31_2016_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_xssyVKCLdUyZfs-laxRgLg"
      decimals="-3"
      id="Tc_YnKt-wqVakWyI3C1YkK8dA_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">19527000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_rzoWy5S0EkWwbsFQPMyqGg"
      decimals="-3"
      id="Tc_nE3UNz-N8k-xg4AdFlxfzg_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18762000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_Hu3uJbMqmEG18Ij44StFEw"
      decimals="-3"
      id="Tc_kUrWt0qpPUmYPI9b6v2bOw_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20926000</us-gaap:ValuationAllowancesAndReservesBalance>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_b6e0wD063U6jthTtcMue7A"
      decimals="-3"
      id="Tc_wPJVfryRIEqzpI5M_7fzbQ_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-833000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_tYZydkbTaU2vPy50VkeoYw"
      decimals="-3"
      id="Tc_YIsMpFPRJ0CkntrtYvMnJw_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2287000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_08NS4dDeZkW17xdMEfRQ9w"
      decimals="-3"
      id="Tc_XysySH2ctEi-bMhkcfD0RQ_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">738000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_08NS4dDeZkW17xdMEfRQ9w"
      decimals="-3"
      id="Tc_FBzj0KAmMkaCJlXJBtke3g_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1452000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_b6e0wD063U6jthTtcMue7A"
      decimals="-3"
      id="Tc_iQXrSwCSekqOCqSm_VF8Fg_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">68000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_tYZydkbTaU2vPy50VkeoYw"
      decimals="-3"
      id="Tc_C8FLroJu5EWfDKTt_gvwJw_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-123000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_08NS4dDeZkW17xdMEfRQ9w"
      decimals="-3"
      id="Tc_I3VKV1YI0UudYHLCokUkyg_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">69000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_rzoWy5S0EkWwbsFQPMyqGg"
      decimals="-3"
      id="Tc_sx_Xoj57fEa9yI3v_1c-wg_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18762000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_Hu3uJbMqmEG18Ij44StFEw"
      decimals="-3"
      id="Tc_DsGeLJVEw0u_m32XUKu7kw_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20926000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_s7bHWbeGUUmQciZIb5al9A"
      decimals="-3"
      id="Tc_M84YHPiRF02TYQ37SZZvPA_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20281000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_YSGxzb659E6SbtJO6dhrig"
      id="Tb_jz1PUvTylkmnDB15Xk6jvQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Beginning of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,251&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,349&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,704&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Allowances made (reversed) during the year, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 549&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (175)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,919&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 549&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (470)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (192)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Closing balance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,349&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,704&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,431&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="As_Of_12_31_2016_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_qqgz7TDEAEyfQkphhizXGw"
      decimals="-3"
      id="Tc_aHUXCv1zlEeTy7wD9niLpQ_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9251000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember__7suTM6Hl0-XrUgrMFpSRQ"
      decimals="-3"
      id="Tc_eB6SoUW6yk6x11bXZQEVYg_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10349000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_RW_HNDzYM0mIk6SisQrGfA"
      decimals="-3"
      id="Tc_ARF0wzPQIEyc0oykRfkNZQ_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9704000</us-gaap:ValuationAllowancesAndReservesBalance>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_AeiW6cj5mkCw2wBtgwjN8A"
      decimals="-3"
      id="Tc_3iSMaZos0UWonAUigp_Isg_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">549000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_4ZJXuiw2vEibW7MY-48vow"
      decimals="-3"
      id="Tc_mLCjwEX9DE2YQIBtCcU-7Q_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-175000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_YSGxzb659E6SbtJO6dhrig"
      decimals="-3"
      id="Tc_3mFPJOZtkkORU5H9IdJIyQ_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1919000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_AeiW6cj5mkCw2wBtgwjN8A"
      decimals="-3"
      id="Tc_SeZRUbk1fkqwvEOpPixznw_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">549000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_4ZJXuiw2vEibW7MY-48vow"
      decimals="-3"
      id="Tc_Lz23Ac2yV0mD6O68ydaqzQ_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-470000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_YSGxzb659E6SbtJO6dhrig"
      decimals="-3"
      id="Tc_hN1PTZ01Ak6c8ARZY88BxQ_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-192000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember__7suTM6Hl0-XrUgrMFpSRQ"
      decimals="-3"
      id="Tc_roT9Ymh0lECu8wuKI-CGJw_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10349000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_RW_HNDzYM0mIk6SisQrGfA"
      decimals="-3"
      id="Tc_WAEJ19_6G0m-AeSp8f3odw_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9704000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_qpPI1Oh1oUibN5u0UaWsjA"
      decimals="-3"
      id="Tc_M9m-CY0OlkKSYotQugdpsQ_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11431000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_l52gUMOfUUKWzdnBlsn20w">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;4.&#160;INVENTORIES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Inventories consist of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Raw materials&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 47,759&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 75,722&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Work-in-process&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 46,817&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 74,105&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Finished goods&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 167,446&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 404,243&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 262,022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 554,070&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In 2017, 2018 and 2019, inventory was written down by $17,820, $14,646 and $19,447, respectively, to reflect the lower of cost and net realizable value.&lt;/p&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_wshIUdwKSUWHTa9AUY_LaQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Raw materials&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 47,759&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 75,722&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Work-in-process&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 46,817&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 74,105&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Finished goods&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 167,446&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 404,243&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 262,022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 554,070&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_R_6WW1864k2QYIeK8zIweA_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">47759000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_MnKW8jW2wkOe5mBJSExCuA_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">75722000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_ObM2BMDzpEWjZFNqoar6iw_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">46817000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_YdO7oBPSP0-434znL7vwjw_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">74105000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_oqCxUpUa-EyQn6osJsQBig_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">167446000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_0krxvki83k-pzj0FFmFj1g_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">404243000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_cMvZzNURhUiUUKnnP9zRvg_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">262022000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_vX2tRCvuGE-irrEiJ58hgQ_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">554070000</us-gaap:InventoryNet>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Narr_kcsYkRURu0m7qUEEGrZ2wQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">17820000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Narr_5LhXQ6Hf-keFimZN2y3IYQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">14646000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_ZSE44PRU9k-I-CAutwiFsA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">19447000</us-gaap:InventoryWriteDown>
    <csiq:ProjectAssetsDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb__cz293t-lE-AAHxW6_kd6w">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;5.&#160;PROJECT ASSETS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Project assets consist of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Project assets &#x2014; Acquisition cost&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,635&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,158&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Project assets &#x2014; EPC and other cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,234,128&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,031,976&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,285,763&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,087,134&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 933,563&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 604,083&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Non-current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 352,200&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 483,051&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company recorded impairment charges and write-off for project assets of nil, $9,016 and $20,194 for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;</csiq:ProjectAssetsDisclosureTextBlock>
    <csiq:ScheduleOfProjectAssetsTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_x9coUkUtbEqQHjdTHwu5sw">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Project assets &#x2014; Acquisition cost&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,635&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,158&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Project assets &#x2014; EPC and other cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,234,128&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,031,976&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,285,763&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,087,134&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 933,563&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 604,083&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Non-current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="text-decoration:underline;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 352,200&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 483,051&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfProjectAssetsTableTextBlock>
    <csiq:ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_Te0C1L2ag0Wag10jNSL0-Q_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">51635000</csiq:ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost>
    <csiq:ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_78bxt5NVgku9jjwqMP-K0w_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">55158000</csiq:ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost>
    <csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_gHWcUqpZx0WU-0hfCAjYyg_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1234128000</csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost>
    <csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_DNjt1AeVfE-5UqZgGT1RzQ_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1031976000</csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost>
    <csiq:ProjectAssetsPlantsAndLand
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_NGZTYUkQOkaLVmfyaB3Dww_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1285763000</csiq:ProjectAssetsPlantsAndLand>
    <csiq:ProjectAssetsPlantsAndLand
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_eFMgRby1pUKRsD9jSXOcNA_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1087134000</csiq:ProjectAssetsPlantsAndLand>
    <csiq:ProjectAssetsPlantsAndLandCurrentPortion
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_z-NMJn-4EUOGsMzQYBExtw_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">933563000</csiq:ProjectAssetsPlantsAndLandCurrentPortion>
    <csiq:ProjectAssetsPlantsAndLandCurrentPortion
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_8FjQBHGyz0aXWrdgudRzEA_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">604083000</csiq:ProjectAssetsPlantsAndLandCurrentPortion>
    <csiq:ProjectAssetsPlantsAndLandNonCurrentPortion
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_Uu4sbiYIKkmxMY8uXn0Byg_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">352200000</csiq:ProjectAssetsPlantsAndLandNonCurrentPortion>
    <csiq:ProjectAssetsPlantsAndLandNonCurrentPortion
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_SE0l3KQz5ku3-YZNwgSM1Q_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">483051000</csiq:ProjectAssetsPlantsAndLandNonCurrentPortion>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Narr_aivO7Cj0PUq-NCmKuwBetA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">0</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Narr_7d_sYD1-sUaIsWXm934Rnw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9016000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_yUVuYFEqikqABPlzJmWTrg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20194000</csiq:ProjectAssetsImpairmentCharge>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_ZcymERfYxUGAjCTO9YBceg">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;6.&#160;PROPERTY, PLANT AND EQUIPMENT, NET&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Property, plant and equipment, net consist of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Buildings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 441,975&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 453,712&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,058&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,225&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Machinery&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 785,874&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,074,460&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Furniture, fixtures and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 64,135&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 64,117&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Motor vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,351&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Land&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,810&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,451&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,329,952&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,633,316&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accumulated depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (489,927)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (598,297)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Impairment&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (30,503)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (45,437)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Subtotal&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 809,522&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 989,582&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Construction in process&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 75,464&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 56,453&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Property, plant and equipment, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 884,986&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,046,035&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Depreciation expense of property, plant and equipment was $88,931, $120,834 and $148,034 for the years ended December 31, 2017, 2018 and 2019, respectively. Construction in process primarily represents production facilities under construction and the machinery under installation. &lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_hoBCqG4XIkCpQpAjW8pGLg">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Buildings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 441,975&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 453,712&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,058&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,225&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Machinery&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 785,874&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,074,460&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Furniture, fixtures and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 64,135&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 64,117&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Motor vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,351&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Land&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,810&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,451&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,329,952&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,633,316&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accumulated depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (489,927)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (598,297)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Impairment&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (30,503)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (45,437)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Subtotal&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 809,522&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 989,582&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Construction in process&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 75,464&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 56,453&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Property, plant and equipment, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 884,986&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,046,035&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_73Du0plvqkiawKwqIzGOGg"
      decimals="-3"
      id="Tc__YTGed_z3E6DXU1xneKt2Q_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">441975000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_GmK6ZhYAyUi6cHKvxVmutA"
      decimals="-3"
      id="Tc_itEGF6riBk2w7bLmPDbzkQ_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">453712000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_f23kuwYC1kSUyMEzckDNDw"
      decimals="-3"
      id="Tc_K37-eI60nkGj60x6UwjoDw_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13058000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_TFQxLmDgpU6Abr3M6KeTqA"
      decimals="-3"
      id="Tc_CMV9ob3VJkaEZF4X7saKZA_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">14225000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_zEWZcmjnkEGNpRkscYszFQ"
      decimals="-3"
      id="Tc_BQXvYRV2MEWI1CvEqsrQFA_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">785874000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_9nSd53ws90GOLDtJ9RZaQQ"
      decimals="-3"
      id="Tc_8UWcjM7GzUyd2RcgASetkw_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1074460000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_fg65wBq9OEmHr2oisAXdGQ"
      decimals="-3"
      id="Tc_e418Bsyq9U-k2Tmnykd30A_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">64135000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_XVRtc1OvPUGFBVrUd_vkSw"
      decimals="-3"
      id="Tc_QFbkLXeRzUmsU5uCYLL6EA_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">64117000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_RLUT85lMikOg6iM3_9GsDw"
      decimals="-3"
      id="Tc_tS2Qe_5aBE6SLbrJcDBkQg_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6100000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_B1LeOq-rGUmqf5I8JC8q0g"
      decimals="-3"
      id="Tc_l7C4OFfpIkOMO8VFg6dyrg_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6351000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_dzJaDJrpCUiB_VVzFGUM9Q"
      decimals="-3"
      id="Tc_mpGSza-Wqk6DNJZEoWdJvw_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18810000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_qlK4e-1Bd0i9oV_AQt6GZQ"
      decimals="-3"
      id="Tc_irJUsViNnEGUESXpCAS9qQ_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20451000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_dDD-5L-CgUGA7rgKJnfiiQ_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1329952000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_K1KX3GUsdE2iRUIjOeql5g_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1633316000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_aY-WBxrIekmO1QhxKWU0ow_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">489927000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_ZMLCoEQjEUK34LkM5l2XKQ_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">598297000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <csiq:AccumulatedAssetImpairmentCharges
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_wT1jJoO_K0ui91w32g2t0g_12_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">30503000</csiq:AccumulatedAssetImpairmentCharges>
    <csiq:AccumulatedAssetImpairmentCharges
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_IX6OYUXn70OjTVjXRVchkw_12_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">45437000</csiq:AccumulatedAssetImpairmentCharges>
    <csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_24cQKI1IY0ibhmy5YDqcgg_13_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">809522000</csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet>
    <csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_VWeHFRpm0k-XsrjHhBOofg_13_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">989582000</csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet>
    <us-gaap:ConstructionInProgressGross
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_6ccR67fGAkK6O1IHRDmj5w_14_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">75464000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_sClpR4wbt0O9tSza3NcAEA_14_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">56453000</us-gaap:ConstructionInProgressGross>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_JfNlNt7hJEmiShKZE0qXkQ_15_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">884986000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_f2aKh-33y0itm0rtrQpPfw_15_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1046035000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Narr_YMVTFnQGrE2WZWMaTNF2Dw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">88931000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Narr_Jurd2NCF1062Y7PmWGPQMQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">120834000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_oWjZNNhPxUqEB60I5T4yAA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">148034000</us-gaap:Depreciation>
    <csiq:SolarPowerSystemsTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_-tmxj6qQPkeu97xyp-borw">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;7. SOLAR POWER SYSTEMS , NET&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Solar power systems, net consist of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Solar power systems in operation&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 66,641&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 70,449&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Solar power systems under construction&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,484&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,830&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accumulated depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (16,227)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (22,322)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Solar power systems, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 54,898&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,957&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Depreciation expense of solar power systems was $5,683, $3,756 and $6,379 for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;</csiq:SolarPowerSystemsTextBlock>
    <csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_6KrP4rBmp0aKpiUH4J14Qg">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Solar power systems in operation&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 66,641&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 70,449&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Solar power systems under construction&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,484&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,830&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Accumulated depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (16,227)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (22,322)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Solar power systems, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 54,898&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 52,957&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_f4MtRWEu2U-HkSSZiE7hHQ"
      decimals="-3"
      id="Tc_5TxlDsnxVECuZubNRjp5ig_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">66641000</csiq:SolarPowerSystems>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_vYOHebeiJ0eGj6XPOERzxA"
      decimals="-3"
      id="Tc_bm7_X0S950WNTH0O_EAxEw_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">70449000</csiq:SolarPowerSystems>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_7qu8sGJfDkWFDX8HCOXxIg"
      decimals="-3"
      id="Tc_g8AfH4LzNkyQPuBOce79vQ_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4484000</csiq:SolarPowerSystems>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_6UpYfub3BUGWytj8LnT_5A"
      decimals="-3"
      id="Tc_MC7taacQHESOFj2D2G0sOg_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4830000</csiq:SolarPowerSystems>
    <csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_Z3iRwjxM-kyWzIX--9U1nw_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">16227000</csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems>
    <csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_N7VuqvssIEGf9e2PSl_bnQ_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">22322000</csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_UuT-lRBC8UCyzEJ9w-Z5sg_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">54898000</csiq:SolarPowerSystems>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_MAknqQi3-Em0vapoPqHXWg_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">52957000</csiq:SolarPowerSystems>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_-I3Bne7KJUiW8JUykJbA3g"
      decimals="-3"
      id="Narr_f7QtOFxMikq7rN3EXcbFLg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5683000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_XeAS5nO-GkW-gpPwSZVHmw"
      decimals="-3"
      id="Narr_vkXGZM87_EO6RbhQxxBMow"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3756000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_V3meU-7P10KA5q68VsFk0g"
      decimals="-3"
      id="Narr_jJlvc4Ki-UG6klM7Ys2ylw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6379000</us-gaap:Depreciation>
    <us-gaap:IntangibleAssetsDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_nH6u-ibBcU6KY-hxhxIjbg">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;8.&#160;INTANGIBLE ASSETS, NET&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table summarizes the Company&#x2019;s intangible assets:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Technical know-how&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,428&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,425)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Computer software &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 38,205&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (15,417)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,788&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total intangible assets, net &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,633&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (16,842)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,791&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31, 2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Technical know-how&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,369&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,458)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 911&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Computer software &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,882&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (11,890)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,992&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total intangible assets, net &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,251&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (13,348)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,903&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Amortization expense for the years ended December 31, 2017, 2018 and 2019 were $4,659, $4,666 and $5,310, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Amortization expenses of the above intangible assets are expected to be approximately $4.4&#160;million, $3.6&#160;million, $3.1&#160;million, $2.5&#160;million and $9.2&#160;million for the years ended December&#160;31, 2020, 2021, 2022, 2023, 2024 and thereafter, respectively.&lt;/p&gt;</us-gaap:IntangibleAssetsDisclosureTextBlock>
    <csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_UoDWHjSpMkWAD-2PnvMJ6w">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Technical know-how&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,428&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,425)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Computer software &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 38,205&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (15,417)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,788&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total intangible assets, net &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,633&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (16,842)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,791&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At December&#160;31, 2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Technical know-how&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,369&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,458)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 911&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Computer software &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,882&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (11,890)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,992&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total intangible assets, net &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,251&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (13,348)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,903&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_K9s1t9xmDEi1P_8wpselHw"
      decimals="-3"
      id="Tc_cQM2vn-EbUOU0ZXWTvHWqA_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1428000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_K9s1t9xmDEi1P_8wpselHw"
      decimals="-3"
      id="Tc_uCY9XiS3cUmTj-1c1bmZWQ_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1425000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_K9s1t9xmDEi1P_8wpselHw"
      decimals="-3"
      id="Tc_WgwN9e2m_E2gwi1P71fBKg_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_eiq8SALzx0OHXfXWP63Q7A"
      decimals="-3"
      id="Tc_jHuVDM3L5USst35ajaTlVA_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">38205000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_eiq8SALzx0OHXfXWP63Q7A"
      decimals="-3"
      id="Tc_wQ8Wu3L58E-TfGNza9RmGg_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15417000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_eiq8SALzx0OHXfXWP63Q7A"
      decimals="-3"
      id="Tc_bddl621HsUyawVaQZSkR0A_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">22788000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_ZnO_m2h820GcKU7DYHMOKw_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39633000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_yhMQF9zSgUakW7XborvBzg_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">16842000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_JRMmzdQbcUWER4YfkdYIGw_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">22791000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2018_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_3uJmFY4lBE2owhw_xfx0XA"
      decimals="-3"
      id="Tc_NEXsyT3B4kepSkGqVV-m5g_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2369000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2018_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_3uJmFY4lBE2owhw_xfx0XA"
      decimals="-3"
      id="Tc_1SJoKjsHbU-2ksHeCjPoMw_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1458000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2018_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_3uJmFY4lBE2owhw_xfx0XA"
      decimals="-3"
      id="Tc_EigpJ3hYEUKhatpb6y3ZsA_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">911000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2018_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_-etyClXZPEScfax9xrGO3A"
      decimals="-3"
      id="Tc_SjM6SIYct0iaqzXzmCGl0Q_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">25882000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2018_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_-etyClXZPEScfax9xrGO3A"
      decimals="-3"
      id="Tc_5dy8SZCK8UqA13mUx0zktQ_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11890000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2018_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_-etyClXZPEScfax9xrGO3A"
      decimals="-3"
      id="Tc_zih0kJeNVkmj0ybr8hMjOw_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13992000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_iApA0LaivESNI_3e7Nl7Rg_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28251000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_rKSZ6OMlak6anokW9KlrZw_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13348000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_7Lu3QVvoTkSM2E2W1pgKxg_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">14903000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Narr_gOanakeNWUqNhtu3VncTWw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4659000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Narr_8auq1bBEPkSlWwjuxtdVNQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4666000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_jIbLJ1TX8USCKmwKlfNsUQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5310000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-5"
      id="Narr_YDESMPTNXUOaRka_-jUUIw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4400000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-5"
      id="Narr_umNM078z_k67bLT909IXRw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3600000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-5"
      id="Narr_NpD--eduQ0SrFEoblrNZJw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3100000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-5"
      id="Narr_fMaEAfhrq0iPuqho5PFOYw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2500000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <csiq:FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-5"
      id="Narr_MvW2CuET6ku7xENK6CrWkA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9200000</csiq:FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_DIiu5yG6nkKuj9U_IHgEiQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;9.&#160;FAIR VALUE MEASUREMENT&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company measures at fair value its financial assets and liabilities by using a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value. Fair value is the price that would be received from the sale of an asset or paid to transfer a liability (i.e., an exit price) on the measurement date in an orderly transaction between market participants.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;As of December 31, 2018 and 2019, the Company&#x2019;s financial assets and liabilities were measured at fair value on a recurring basis in periods subsequent to their initial recognition all using the significant other observable inputs, which are Level 2 inputs. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;9.&#160;FAIR VALUE MEASUREMENT &lt;/b&gt;&lt;b style="font-weight:bold;"&gt;(Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Foreign exchange&lt;/span&gt; &lt;span style="font-style:italic;font-weight:bold;"&gt;option and forward contracts&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company entered into certain foreign currency derivative contracts to protect against volatility of future cash flows caused by the changes in foreign exchange rates. The foreign currency derivative contracts do not qualify for hedge accounting and, as a result, the changes in fair value of the foreign currency derivative contracts are recognized in the consolidated statements of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company&#x2019;s foreign currency derivative instruments relate to foreign exchange options or forward contracts involving major currencies such as Renminbi, Canadian dollars, British pounds, and Japanese yen. Since its derivative instruments are not traded on an exchange, the Company values them using valuation models. Interest rate yield curves and foreign exchange rates are the significant inputs into these valuation models. These inputs are observable in active markets over the terms of the instruments the Company holds, and accordingly, the fair value measurements are classified as Level&#160;2 in the hierarchy. The Company considers the effect of its own credit standing and that of its counterparties in valuations of its derivative financial instruments.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Interest rate swap&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;During the year ended December 31, 2016, the Company entered into fixed for floating interest rate swaps with two financial institutions to hedge the interest rate risk on its project debts obtained in the United Kingdom with notional amount totaling GBP78.4 million ($96.8 million), which will expire between 2033 and 2034. The interest rate swaps had been designated as cash flow hedges for accounting purposes. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2018, the UK projects were sold and the interest rate swaps were assumed by the third party buyer.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The interest rate swap contracts of total notional amounts of approximately $399.0 million were entered into for Recurrent projects and designated as cash flow hedges. The interest rate swap contracts were transferred along with the sale of the underlying projects, and the fair value of the remaining swap contract representing a notional amount of approximately $47.4 million entered into for Roserock project loan was recorded as derivative liabilities of $2,170 on the balance sheet as of December 31, 2019.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The estimated fair value of interest rate swaps was measured based on observable market data, which are considered Level 2 inputs.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;9.&#160;FAIR VALUE MEASUREMENT &lt;/b&gt;&lt;b style="font-weight:bold;"&gt;(Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The fair value of derivative instruments on the consolidated balance sheets as of December 31, 2018 and 2019 and the effect of derivative instruments on the consolidated statements of operations for the years ended December 31, 2017, 2018 and 2019 are as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:66.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&#160;of&#160;Derivative&#160;Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Foreign exchange forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,166&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,097&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Foreign exchange option contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 450&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 594&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; non-current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,216&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; non-current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,977&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,547&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:71.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&#160;of&#160;Derivative&#160;Liabilities&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Foreign exchange forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,480&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,127&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Foreign exchange option contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 218&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 329&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; non-current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; non-current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,841&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,698&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,322&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&#160;of&#160;Gain&#160;(Loss)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Recognized&#160;in&#160;Statements&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Location&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;of&#160;Operations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gain&#160;(Loss)&#160;Recognized&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;in&#160;Statements&#160;of&#160;Operations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Foreign exchange forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (2,638)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (16,414)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (20,249)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Foreign exchange option contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (2,023)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (1,022)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Warrants&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 711&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,655&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (793)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (947)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (272)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (19,230)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (22,218)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Other fair value measurements&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company measures certain long-lived assets or long-term investments at fair value on a non-recurring basis in periods after initial measurement in circumstances when the fair value of such assets is below its recorded cost and impairment is required. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company recorded impairment charges for certain manufacturing asset group of $11,626, $30,968 and $21,866 for the years ended December 31, 2017, 2018 and 2019, respectively. The fair value of these assets was measured based on prices offered by unrelated third-party willing buyers and classified as level 3 fair value measurements as the offering prices are not observable. The impairment was recorded in general and administrative expenses of the MSS segment.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;9.&#160;FAIR VALUE MEASUREMENT &lt;/b&gt;&lt;b style="font-weight:bold;"&gt;(Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company also holds financial instruments that are not recorded at fair value in the consolidated balance sheets, but whose fair value is required to be disclosed under the U.S. GAAP. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The carrying values of cash and cash equivalents, restricted cash, trade receivables, billed and unbilled, amounts due from related parties, accounts payables, short-term notes payable, amounts due to related parties and short-term borrowings approximate their fair values due to the short-term maturity of these instruments. Long-term borrowings were $393,614 and $619,477 as of December 31, 2018 and 2019, respectively, which approximate their fair values since most of the borrowings contain variable interest rates. The fair value of long-term borrowings was measured based on discounted cash flow approach, which is classified as level 2 as the key inputs can be corroborated with market data.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The carrying value of the Company&#x2019;s outstanding convertible notes was $127.4 million and nil as of December 31, 2018 and 2019, respectively, which approximates the fair value.&lt;/p&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <csiq:InterestRateSwapsNumberOfFinancialInstitutions
      contextRef="Duration_1_1_2016_To_12_31_2016_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_83pBn5QsOkCv9_yelZJGtw"
      decimals="INF"
      id="Narr_JWioFGEcuUaJ1ITLh-ZArA"
      unitRef="Unit_Standard_Institution_s8f8AkKbRUGRIp83T9dPtA">2</csiq:InterestRateSwapsNumberOfFinancialInstitutions>
    <us-gaap:DerivativeLiabilityNotionalAmount
      contextRef="As_Of_12_31_2016_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_7KYF7h6oZ0uG4S2HskieZA"
      decimals="5"
      id="Narr_KfLZXPRD30uBYu0sRp064A"
      unitRef="Unit_Standard_GBP_Dc2Gdnkog0-JfFMrmYG68g">78400000</us-gaap:DerivativeLiabilityNotionalAmount>
    <us-gaap:DerivativeLiabilityNotionalAmount
      contextRef="As_Of_12_31_2016_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_7KYF7h6oZ0uG4S2HskieZA"
      decimals="-5"
      id="Narr_t7RnkBGU4ki8lVpV3iTXMQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">96800000</us-gaap:DerivativeLiabilityNotionalAmount>
    <us-gaap:DerivativeNotionalAmount
      contextRef="As_Of_12_31_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis_us-gaap_CashFlowHedgingMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_2P1MxjUaxE-zr9CuDsznLg"
      decimals="5"
      id="Narr_sY19oZtjRkOIbW7VnHWG0g"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">399000000.0</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeLiabilityNotionalAmount
      contextRef="As_Of_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_iTN31H1YCkqecbamZCUcgg"
      decimals="-5"
      id="Narr_JaHd2qXQLU69tE778lQkTw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">47400000</us-gaap:DerivativeLiabilityNotionalAmount>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="As_Of_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_iTN31H1YCkqecbamZCUcgg"
      decimals="-3"
      id="Narr_l4BXY6ijdUisT6vHC0y-tg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2170000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_4634U-HIh0O-w-PW5HD8EA">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:66.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&#160;of&#160;Derivative&#160;Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:32.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Foreign exchange forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,166&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,097&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Foreign exchange option contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 450&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 594&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; non-current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,216&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative assets &#x2014; non-current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:31.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.06%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,977&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:22.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,547&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:71.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&#160;of&#160;Derivative&#160;Liabilities&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Foreign exchange forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,480&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,127&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Foreign exchange option contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 218&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; current&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 329&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; non-current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Derivative liabilities &#x2014; non-current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,841&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:26.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,698&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:25.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,322&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_OJdIjAijS0K6Qrc47uH1tQ"
      decimals="-3"
      id="Tc_Y7yXqGWYgUW2pZg1h_hz3Q_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4166000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_86xcdACTLUif_r6p94OxHQ"
      decimals="-3"
      id="Tc_-cFE0ZhZUU-pOePj3cNdCg_5_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5097000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_zugAsS9LjE2wufdZ6ofbPg"
      decimals="-3"
      id="Tc_782ucWBJlkqpSugrr-Hirg_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_ALYSHxr72kGVWkgQRImQ1w"
      decimals="-3"
      id="Tc_8E_iS3iQvkmST8czz5SSCg_6_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">450000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_WIbc_F7jLUKmdSmAPmFjUA"
      decimals="-3"
      id="Tc_FTSRS_sV702_foBz4FyqTA_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">594000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsNoncurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_HZa1K7Qq1UaU_k67pukp5w"
      decimals="-3"
      id="Tc_LRBgA--tN0680m9XcboavQ_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3216000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2018_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_9loSfc2vo0y89KmJDPnUhQ"
      decimals="-3"
      id="Tc_6mklq-H4JkOoROymugAyFQ_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7977000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2019_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_nYaVjTJgHk-KjaHXERQOpQ"
      decimals="-3"
      id="Tc_k2qCA33SXke2ETs1sllVzw_9_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5547000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_V6D2k0G1CkivzsJ26fwRMQ"
      decimals="-3"
      id="Tc_jz5Hyc97UEOEo4zY9r2QwQ_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13480000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_ACJRmqa3tEiWpgv_X_4yzA"
      decimals="-3"
      id="Tc_GzDPgzqGCkK9CzfhOLA7ZQ_5_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10127000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_LD3kvwSK5kaoJ8oD1jmSZA"
      decimals="-3"
      id="Tc_yt4m9sMksEygewPdAVZ2eA_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">218000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_Lht7gLwOlkyRnARoUEadvQ"
      decimals="-3"
      id="Tc_IgkB-kLeDkOahqRXqnJ7Zw_6_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">25000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_E96IprHxEU-HXPo_yPXOEw"
      decimals="-3"
      id="Tc_2xOvGA2JLkKXGBwyQ-bJoA_7_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">329000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2019_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesNoncurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_i5m7ctdmwEqFUFFiBLJFzA"
      decimals="-3"
      id="Tc_ud7yqY8cKkCq6n6-PPnXPA_8_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1841000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2018_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_9loSfc2vo0y89KmJDPnUhQ"
      decimals="-3"
      id="Tc_rv5EQMWOvECKoG3sMmfZfg_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13698000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2019_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_nYaVjTJgHk-KjaHXERQOpQ"
      decimals="-3"
      id="Tc_S9yVwSQSJEqh488y3r3wIQ_9_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12322000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_o4tV5cg6-UeRdi06aMZx6A">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&#160;of&#160;Gain&#160;(Loss)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Recognized&#160;in&#160;Statements&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Location&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;of&#160;Operations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gain&#160;(Loss)&#160;Recognized&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:26.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;in&#160;Statements&#160;of&#160;Operations&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Foreign exchange forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (2,638)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (16,414)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (20,249)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Foreign exchange option contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (2,023)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (1,022)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Warrants&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 711&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Interest rate swap&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Gain (loss) on change in fair value of derivatives&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,655&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (793)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (947)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:35.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:34.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (272)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (19,230)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (22,218)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_zLx4eDqeIUmirrjXr6DE5g"
      decimals="-3"
      id="Tc_kK1ho7Lk1UOT1mbpWwxFfA_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-2638000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_7MwrSxG1zE6KO4Ty0Eaapg"
      decimals="-3"
      id="Tc_10RMO_4rQUybMzGzg_uKgw_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-16414000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_uhx8jb_DpU2wiJcNn3l0Pg"
      decimals="-3"
      id="Tc_0brIhgPPYEaTK4NsWnxjhQ_7_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-20249000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_eyAcrO_73kexw3dXrjeWfA"
      decimals="-3"
      id="Tc_srt6kJ23gEOUS0DXnUvTcQ_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-2023000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_cGXa-9vzCkm-xGQTAMbWhQ"
      decimals="-3"
      id="Tc_6E0Ty30Zv0aU9_O2wcilEg_8_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1022000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_DerivativeInstrumentRiskAxis_csiq_WarrantsMember_m0nbIynUtUiAV34r6IGW_w"
      decimals="-3"
      id="Tc_-_vPh3yJDkWx4gz6rQdX-w_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">711000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_W6uTe13AW0qQxfTXx4T11Q"
      decimals="-3"
      id="Tc_dY_PI88gLkqMNFOyaj_KkQ_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1655000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_2_qkaxWROEyxRADTMrU6tA"
      decimals="-3"
      id="Tc_mJHlG7-ZwUyCLMM9p8yRPA_10_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-793000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_ZI0GHubZiEeh_RMUN13OLw"
      decimals="-3"
      id="Tc_GRFaFoCa-ES_hzFDZnLMPg_10_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-947000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_cEYeoStqLUG64gFZBLHp1A_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-272000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Bz6AyrmeCkeYjzdL5Ue4Nw_11_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-19230000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_C6SnXj_A7E-CwJzd13vDEg_11_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-22218000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Narr_pAa81lVLlE67sC4ZVr-sxA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11626000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Narr_FLpDza6_l0OdAj3I_mNmOg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">30968000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_fE3IjBs7qkqOep94HZ1zDg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">21866000</us-gaap:AssetImpairmentCharges>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Narr_y6lc4MlIFUu13yIxUkTeXQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">393614000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_4_MCOvG7cUec3gbYAJPJpQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">619477000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:ConvertibleLongTermNotesPayable
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-5"
      id="Narr_mRpjFEwzWkS9ItbOdTeBbA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">127400000</us-gaap:ConvertibleLongTermNotesPayable>
    <us-gaap:ConvertibleLongTermNotesPayable
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-5"
      id="Narr__LT_83KMqUq648u5luRxGg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">0</us-gaap:ConvertibleLongTermNotesPayable>
    <us-gaap:VariableInterestEntityDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_AjQyJS-xHE2uOHP0jtlALQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 5pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;10. VARIABLE INTEREST ENTITIES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Since 2016, the Company, through its wholly owned subsidiary, CSE Japan Investment Company Limited, entered into silent partnership agreements with various Japan project companies, for the purpose of raising project finance bonds arranged by Goldman Sachs Japan Co., Ltd. Under the silent partnership agreements, the project entities are considered VIEs in which the Company has no equity interests, but is entitled to substantially all of the economic interests of the projects. In addition, the Company has the power to make decisions over the activities that most significantly impact the economic performance of the projects under the asset management agreement signed simultaneously between the project companies and Canadian Solar Project K.K, a subsidiary of the Group. As such, the Company concluded it was the primary beneficiary of the project companies and thus these project companies were accounted for as consolidated VIEs since their establishment.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of December 31, 2018 and 2019, the carrying amounts and classifications of the consolidated VIEs&#x2019; major assets and liabilities with immaterial items combined, excluding intercompany balances which are eliminated upon consolidation, included in the Company&#x2019;s consolidated balance sheet are as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Project assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 185,448&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 197,366&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,836&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,102&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 207,284&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 223,468&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Short-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,160&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 139,708&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 113,973&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 59,476&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 66,569&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 182,609&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 206,277&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Net income and overall cash flow activities during the year are immaterial to the consolidated financial statements.&lt;/p&gt;</us-gaap:VariableInterestEntityDisclosureTextBlock>
    <us-gaap:ScheduleOfVariableInterestEntitiesTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_vnE1DNflGkmMy_mllmtC9w">&lt;p style="font-family:'Times New Roman';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Project assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 185,448&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 197,366&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,836&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,102&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 207,284&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 223,468&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Short-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,160&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 139,708&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 113,973&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 59,476&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 66,569&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 182,609&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 206,277&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfVariableInterestEntitiesTextBlock>
    <csiq:ProjectAssets
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_WOrYLpJ4Pk-F1cMSt3yv4Q"
      decimals="-3"
      id="Tc__EhCY3ifTUWAqXfY3JUBpw_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">185448000</csiq:ProjectAssets>
    <csiq:ProjectAssets
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maCPKEXMVE-j2Nxn8cvqXw"
      decimals="-3"
      id="Tc_CiEQi9O-ykqhXqiOqe3FYQ_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">197366000</csiq:ProjectAssets>
    <us-gaap:OtherAssets
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_WOrYLpJ4Pk-F1cMSt3yv4Q"
      decimals="-3"
      id="Tc_nB538ku0xUebiLExJgJ-Ww_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">21836000</us-gaap:OtherAssets>
    <us-gaap:OtherAssets
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maCPKEXMVE-j2Nxn8cvqXw"
      decimals="-3"
      id="Tc_l6Cm9a1AbEyCNnPK0aEqsw_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">26102000</us-gaap:OtherAssets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_WOrYLpJ4Pk-F1cMSt3yv4Q"
      decimals="-3"
      id="Tc_DM0-eqLdS0yt_puGNABF8w_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">207284000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maCPKEXMVE-j2Nxn8cvqXw"
      decimals="-3"
      id="Tc_Zw6GxQMh_ESH6apEZijjlA_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">223468000</us-gaap:Assets>
    <us-gaap:ShortTermBorrowings
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_WOrYLpJ4Pk-F1cMSt3yv4Q"
      decimals="-3"
      id="Tc_wSKbLXNn10GfQfL5z68eDw_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9160000</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maCPKEXMVE-j2Nxn8cvqXw"
      decimals="-3"
      id="Tc_Z2ySeTOeW028GdNGKVk4UA_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">139708000</us-gaap:ShortTermBorrowings>
    <us-gaap:LongTermDebt
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_WOrYLpJ4Pk-F1cMSt3yv4Q"
      decimals="-3"
      id="Tc_8PoC2ynWYEOA7tQoVZAdPg_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">113973000</us-gaap:LongTermDebt>
    <us-gaap:OtherLiabilities
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_WOrYLpJ4Pk-F1cMSt3yv4Q"
      decimals="-3"
      id="Tc_qMRzqBiJS0iGbhewBVTf7g_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">59476000</us-gaap:OtherLiabilities>
    <us-gaap:OtherLiabilities
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maCPKEXMVE-j2Nxn8cvqXw"
      decimals="-3"
      id="Tc_3tv3TbrZTk67SFMNN28maA_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">66569000</us-gaap:OtherLiabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_WOrYLpJ4Pk-F1cMSt3yv4Q"
      decimals="-3"
      id="Tc_7r7nmcl-uEiDUBWxIma1Lg_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">182609000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maCPKEXMVE-j2Nxn8cvqXw"
      decimals="-3"
      id="Tc_oP-SdY6jO06epOiQm8VHqw_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">206277000</us-gaap:Liabilities>
    <us-gaap:EquityMethodInvestmentsDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_8YWTnGZC1kWIbkwGjA_SvA">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;11.&#160;INVESTMENTS IN AFFILIATES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Investments in affiliates consist of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:38.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Ownership&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Ownership&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Percentage&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Percentage&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(%)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(%)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;RE Roserock Holdings LLC (&#x201c;Roserock&#x201d;)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 62,767&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 83,034&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Canadian Solar Infrastructure Fund, Inc.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,990&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.66&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,162&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.66&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Suzhou Financial Leasing Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,361&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,050&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,977&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;21-49&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 34,582&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;15-49&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 126,095&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 152,828&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Tax equity transactions&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2015, the Company, through its wholly owned subsidiary, Recurrent, entered into the following tax equity transactions: &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In December 2015, the Company completed the sale of 100% of the class A membership interests of RE Roserock Holdings LLC, the holding company of the Roserock project companies, to Southern. The Company maintains 100% ownership in the class B membership interests of RE Roserock Holdings LLC. Southern paid the Company an initial contribution of $45 million in cash for the class A membership interests in RE Roserock Holdings LLC.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Under the LLC agreements, the class A membership interests and class B membership interests will receive 51% and 49%, respectively, of future cash flow distributions, and Southern is entitled to substantially all of the projects&#x2019; federal tax benefits.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Effective with the sale of the class A membership interests, the Company ceased having controlling financial interests in Roserock, and accounted for the transactions as partial sales of real estates under ASC360-20 when the transactions incurred in 2015. The Company also considered that it would continue to exercise significant influences over its retained interests in and has accounted for these interests pursuant to the equity method of accounting.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Under this method, the Company recognizes its equity in earnings attributable to class B membership interests according to its proportionate share of investees&#x2019; operating cash flows. Additionally, the Company amortizes the basis difference between the cost of investment and its proportionate share of the investees&#x2019; net assets over the estimated lives of the related assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;11.&#160;INVESTMENTS IN AFFILIATES &lt;/b&gt;&lt;b style="font-weight:bold;"&gt;(Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;In December 2018, the Company wrote down the class B membership interests in Roserock project to its anticipated resell value by $5.0 million.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Other investments&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On September 8, 2015, SZSP established an entity, Suzhou Financial Leasing Co., Ltd., for cash consideration of $13,860, in which the Company holds 6% voting interests. One of five board members is designated by SZSP and, as such SZSP is considered having significant influence over the investee and the equity method is used in this investment.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On October 26, 2017, Canadian Solar Infrastructure Fund, Inc. ("CSIF") priced its initial public offering. As of December 31, 2018 and 2019, the Company owned 14.66% of total units of CSIF. One out of the three members of the board of directors of CSIF represents the Company. The quorum for a board resolution of CSIF is a majority of the members of the board of directors, and the adoption of a resolution requires a majority of the votes presents.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In September 2018, the Company made full impairment charge of $0.7 million on investment in eNow, Inc., in which the Company holds 10% voting interests, due to deterioration of the investee&#x2019;s financial position.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Equity in earnings of unconsolidated investees were $9,411, $5,908 and $28,948 for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;</us-gaap:EquityMethodInvestmentsDisclosureTextBlock>
    <us-gaap:EquityMethodInvestmentsTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_NUeu86Bl_ki-MROYrFJ7Rw">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:38.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Ownership&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Ownership&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Percentage&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Percentage&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(%)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(%)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;RE Roserock Holdings LLC (&#x201c;Roserock&#x201d;)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 62,767&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 83,034&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Canadian Solar Infrastructure Fund, Inc.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,990&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.66&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,162&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.66&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Suzhou Financial Leasing Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,361&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,050&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,977&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;21-49&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 34,582&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;15-49&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 126,095&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 152,828&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:EquityMethodInvestmentsTextBlock>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_45338GMEgEmACNWyIsRdng"
      decimals="-3"
      id="Tc_3xvPDW2uN0a7z6t0VhAsTQ_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">62767000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_45338GMEgEmACNWyIsRdng"
      decimals="2"
      id="Tc__n1kOcK-Mk-vDbTnbx3UPQ_6_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_3_3kA9863Uqpmpr8Nr82IA"
      decimals="-3"
      id="Tc_UcxUfz4ca0i6XZ--afiq9Q_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">83034000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_3_3kA9863Uqpmpr8Nr82IA"
      decimals="2"
      id="Tc_ZNyCfjHMcUOV-XJhEBZrhw_6_8"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_lvmCPoeg9E6zhxGlRm4vIQ"
      decimals="-3"
      id="Tc_XSxnv8QfJEOJNIGDsjoScQ_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">23990000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_lvmCPoeg9E6zhxGlRm4vIQ"
      decimals="4"
      id="Tc_iQGvBfR-dUa2SelqOdxIdg_7_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.1466</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_wlK1-Iyzvka0rOPFORBjQA"
      decimals="-3"
      id="Tc_1PGNAoNBfEW-_0r1CR0vqg_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">19162000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_wlK1-Iyzvka0rOPFORBjQA"
      decimals="4"
      id="Tc_7Slzn8yrDUmz00VQgIZRBg_7_8"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.1466</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_WUbOo5Ymb0WFBAgditdKsA"
      decimals="-3"
      id="Tc_FLnVMFLaMUi1HDjK9V8wdw_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">14361000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_WUbOo5Ymb0WFBAgditdKsA"
      decimals="2"
      id="Tc_ZYyD-WM1n0211eEaNZsKrA_8_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.06</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_LJ1Pdkc2iE-LpWHQOoApUQ"
      decimals="-3"
      id="Tc_CBLMUgqOr0WhHwOzoDqRyQ_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">16050000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_LJ1Pdkc2iE-LpWHQOoApUQ"
      decimals="2"
      id="Tc_2GdxbOEMJUGNuN5QsdSKrA_8_8"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.06</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_hIkB5vi1X0-Px0z6AeNOvA"
      decimals="-3"
      id="Tc_ArID_REiUE2aBwUli2gLlg_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">24977000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2018_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_KMuBise7OUOQiRB4yNOb0A"
      decimals="2"
      id="Narr_RFofDR4d3UOmF1-mjY7OQw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.21</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2018_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_KhP7w9NlGUuayLs6labngg"
      decimals="INF"
      id="Narr_AxUKVZYg4Ei4sbthblOOGw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_a2uc7kYqWkme20DzcCAvFw"
      decimals="-3"
      id="Tc_QrcghpVqVUCLC4pN_Mw4IA_9_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">34582000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2019_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_URLU5YKbh0Kyytn66vXQJA"
      decimals="INF"
      id="Narr_3duGn8GeY0m_cosi3u8JWQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.15</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2019_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_XKBDabUyW0CD8iogaTXkQg"
      decimals="INF"
      id="Narr_f2EE2fvRLUCHnwRpkkFNDg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_Ypi30_Q_hEK4VCadgEqF8g_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">126095000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_vS4508dUmkSB2AXu36nMrw_10_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">152828000</us-gaap:EquityMethodInvestments>
    <csiq:EquityMethodInvestmentOwnershipPercentageSold
      contextRef="Duration_12_1_2015_To_12_31_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassAMember_gkKSV9gF2EGbZgaq8gBPnA"
      decimals="INF"
      id="Narr_59FV5g-2Jk-trGn-PvD-aQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</csiq:EquityMethodInvestmentOwnershipPercentageSold>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassBMember_atfeGdwVF0mBEc7vyhZd6w"
      decimals="INF"
      id="Narr_yQpGdkNMhkeLG2RACFXQhw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:ProceedsFromSaleOfInvestmentProjects
      contextRef="Duration_12_1_2015_To_12_31_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassAMember_gkKSV9gF2EGbZgaq8gBPnA"
      decimals="-6"
      id="Narr_oE9RNppZvkybcUvB2yX9Bw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">45000000</us-gaap:ProceedsFromSaleOfInvestmentProjects>
    <csiq:CashFlowDistributionPercentage
      contextRef="As_Of_12_31_2019_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassAMember_6op6Ex1lRUCkN7e7zL6wmg"
      decimals="2"
      id="Narr_EDwsWOETD06KDwGxNLtiJw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.51</csiq:CashFlowDistributionPercentage>
    <csiq:CashFlowDistributionPercentage
      contextRef="As_Of_12_31_2019_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassBMember_PNsHc0u5PkCTT9zn-4EF_Q"
      decimals="2"
      id="Narr_R4exG98lvkC922Diy8M8kA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.49</csiq:CashFlowDistributionPercentage>
    <us-gaap:EquityMethodInvestmentOtherThanTemporaryImpairment
      contextRef="Duration_12_1_2018_To_12_31_2018_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassBMember_Wy0k8Dw-q0OGQJ8s6C-rYA"
      decimals="-5"
      id="Narr_C53nnIe9JEeTQBcUzYwPJA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5000000.0</us-gaap:EquityMethodInvestmentOtherThanTemporaryImpairment>
    <us-gaap:PaymentsToAcquireInterestInJointVenture
      contextRef="Duration_9_8_2015_To_9_8_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_BOjWTJgvMEaSRomTHtEAoA"
      decimals="-3"
      id="Narr_3US30NhTJE6gpMkCoEh7-g"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13860000</us-gaap:PaymentsToAcquireInterestInJointVenture>
    <csiq:CostMethodInvestmentOwnershipPercentage
      contextRef="As_Of_9_8_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_zoofUt6-skKcJlyAiZZvVg"
      decimals="2"
      id="Narr_1AlysnRd3Eavoawgeh7eug"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.06</csiq:CostMethodInvestmentOwnershipPercentage>
    <csiq:NumberOfBoardMembersDesignatedByTheAcquiredEntity
      contextRef="Duration_9_8_2015_To_9_8_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_BOjWTJgvMEaSRomTHtEAoA"
      decimals="INF"
      id="Narr_1rDtsUMsCkuaFM7n35NPmQ"
      unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA">1</csiq:NumberOfBoardMembersDesignatedByTheAcquiredEntity>
    <csiq:NumberOfBoardMembers
      contextRef="Duration_9_8_2015_To_9_8_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_BOjWTJgvMEaSRomTHtEAoA"
      decimals="INF"
      id="Narr_vNeR4tQsUEeim0X2J4ZX7Q"
      unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA">5</csiq:NumberOfBoardMembers>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_lvmCPoeg9E6zhxGlRm4vIQ"
      decimals="4"
      id="Narr_Kb66TJQJLECoa_Jpt26xig"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.1466</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_wlK1-Iyzvka0rOPFORBjQA"
      decimals="4"
      id="Narr_F2LZNDHIc0W5l9jupUf_5A"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.1466</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_9_1_2018_To_9_30_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_EnowIncMember_L3kCVTNU-UOX58ThrnFpqw"
      decimals="-5"
      id="Narr_IkH8Sp7BREWbyODdUcl-vQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">700000</us-gaap:ImpairmentOfInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_9_30_2018_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_EnowIncMember_xpU4nJdTK02J6qL3DLUAXA"
      decimals="2"
      id="Narr_28mCYGmajEmJJpNohIjcsA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.10</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Narr_ifl0Lb7gw0m80299TwoIsw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9411000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Narr_hHiLJ8qfAk-kjCm5XAXukg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5908000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_XJGDb__G_EWrCtn4xx9YFw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28948000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_NXnSH5WVuUuqOWD_DWvY_A">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;12&lt;/b&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;.&lt;/span&gt;&lt;b style="font-weight:bold;"&gt; LEASE&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company leases office space, office equipment, vehicles, spaces for solar power plants construction, and manufacturing facilities in various regions where the Company operates. Leased assets mainly locate in China, United States, Japan, German, and Italy.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The leases considered as ROU assets have various terms of up to twenty years. The Company also has certain leases with terms of 12 months or less, which are not recorded on the balance sheet.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The components of lease expenses were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year&#160;ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Finance lease cost:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Amortization of right-of-use assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,900&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Interest on lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,213&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Operating fixed lease cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,619&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Short-term lease cost&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,920&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total lease cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,916&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The operating lease expenses were $20.9 million and $19.8 million for the years ended December 31, 2018, and 2017, respectively. Finance lease expenses were $24.7 million and $19.1 million for the years ended December 31, 2018 and 2017, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;12&lt;/b&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;.&lt;/span&gt;&lt;b style="font-weight:bold;"&gt; LEASE &lt;/b&gt;&lt;b style="font-weight:bold;"&gt;(Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Other supplemental information related to leases is summarized below:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year&#160;ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Cash paid for amounts included in the measurement of lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Operating cash flows from finance lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3,213)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Operating cash flows from operating lease&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (15,866)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Financing cash flows from finance lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (33,614)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Right-of-use assets obtained in exchange of new finance lease liabilities in non-cash transaction&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,300&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Right-of-use assets obtained in exchange of new operating lease liabilities in non-cash transaction&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,222&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Weighted average of remaining operating lease term - finance leases (in years)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_M-Q2a2b3OEOOK02jTa1BjQ"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:right;"&gt;1.41&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Weighted average of remaining operating lease term - operating leases (in years)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_GCueFfnbSEaf4cRxYJqJlw"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:right;"&gt;3.03&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Weighted average of operating lease discount rate - finance lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.82&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Weighted average of operating lease discount rate - operating lease&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.36&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;As of December 31, 2019, maturities of operating and finance lease liabilities up to five years were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Operating&#160;Lease&#160;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Finance&#160;Lease&#160;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&#160;Lease&#160;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;"&gt;Year Ending December 31:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2020&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,953&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,439&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 46,392&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,980&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,087&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,066&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,666&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 604&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,270&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,541&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,541&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,077&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,077&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,504&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,504&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total future minimum lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 41,721&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 41,130&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 82,851&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Less: imputed interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,236&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,056&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,292&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;NPV for future minimum lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,485&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,074&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 78,559&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Analysis as:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Short-term&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,767&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,998&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44,765&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Long-term&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,718&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,076&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33,794&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,485&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,074&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 78,559&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The future minimum lease payments from 2018 Form 20-F as filed in accordance with Leases (Topic 840) were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Operating&#160;Lease&#160;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Finance&#160;Lease&#160;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&#160;Lease&#160;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;"&gt;Year Ending December 31:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,287&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,945&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 59,232&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;2020&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,790&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,483&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,273&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,379&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,842&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,221&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,485&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 556&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,041&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 838&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 838&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,743&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,743&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;Total future minimum lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,522&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 76,826&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 127,348&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;Less: imputed interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,024&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;NPV for future minimum lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,802&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,802&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Group_ES9bMXHopE2qV0sSKMYVaQ">&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year&#160;ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Finance lease cost:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Amortization of right-of-use assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,900&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Interest on lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,213&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Operating fixed lease cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,619&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Short-term lease cost&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,920&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total lease cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,916&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_oh0jLZEc-0uDvEfan1RPLA_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18900000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_jkLAcXVuYkubo27BArWyIQ_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3213000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:OperatingLeaseCost
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_LN_r_zZ-3keQYXxobPSuBQ_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">17619000</us-gaap:OperatingLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_J8zu5CQLVESSv0tP0gywNA_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">8920000</us-gaap:ShortTermLeaseCost>
    <us-gaap:LeaseCost
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_hBJ4c0Rw7E6qQz7vee0ymA_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">45916000</us-gaap:LeaseCost>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-5"
      id="Narr_F2MGpPfRgEiP1ApVP7jfQQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20900000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-5"
      id="Narr_AA0hMSKmYkC5puhn7sT4KA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">19800000</us-gaap:OperatingLeaseExpense>
    <csiq:FinanceLeaseExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-5"
      id="Narr_wLeAY6_KekWVX8deTFbujQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">24700000</csiq:FinanceLeaseExpense>
    <csiq:FinanceLeaseExpense
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-5"
      id="Narr_FqB7IhkUakWnHgp3wtnH2g"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">19100000</csiq:FinanceLeaseExpense>
    <csiq:LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_pZl-hdRkak6yCcVDhb-OKA">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year&#160;ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Cash paid for amounts included in the measurement of lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Operating cash flows from finance lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3,213)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Operating cash flows from operating lease&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (15,866)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Financing cash flows from finance lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (33,614)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Right-of-use assets obtained in exchange of new finance lease liabilities in non-cash transaction&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,300&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Right-of-use assets obtained in exchange of new operating lease liabilities in non-cash transaction&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,222&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Weighted average of remaining operating lease term - finance leases (in years)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_M-Q2a2b3OEOOK02jTa1BjQ"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:right;"&gt;1.41&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Weighted average of remaining operating lease term - operating leases (in years)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_GCueFfnbSEaf4cRxYJqJlw"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:right;"&gt;3.03&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Weighted average of operating lease discount rate - finance lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.82&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Weighted average of operating lease discount rate - operating lease&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.36&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</csiq:LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_ntrRRN3GMkCAplNkR_KiLg_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3213000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:OperatingLeasePayments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_Es7hMR3lWEuAa0ghsPztGg_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15866000</us-gaap:OperatingLeasePayments>
    <csiq:PaymentsForFinancingCashFlowsFromFinanceLease
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_clHJx-3Fk0KHR0zJ1I0y1Q_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">33614000</csiq:PaymentsForFinancingCashFlowsFromFinanceLease>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_PW89APgjhkyFhsIFbneXFg_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7300000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_P0NxwblZtE2O8DasZtBKVg_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18222000</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="INF"
      id="Tc_hwVKXGyKJk2R0s_Lvfselg_6_2"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0582</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="INF"
      id="Tc_LGqWe8y730qaOn1qKTBzQQ_7_2"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0436</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_oTwNtH6fSEa4H2xnJp_lgw">&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Operating&#160;Lease&#160;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Finance&#160;Lease&#160;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&#160;Lease&#160;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;"&gt;Year Ending December 31:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2020&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,953&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,439&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 46,392&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,980&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,087&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,066&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,666&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 604&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,270&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,541&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,541&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,077&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,077&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,504&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,504&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total future minimum lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 41,721&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 41,130&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 82,851&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Less: imputed interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,236&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,056&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,292&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;NPV for future minimum lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,485&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,074&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 78,559&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Analysis as:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Short-term&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,767&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,998&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44,765&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Long-term&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,718&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,076&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33,794&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,485&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,074&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 78,559&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_6iMv2xc2zEGO_duj0fvptg_3_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18953000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_Ghl_7_nIdkebGTYcH71ZSw_3_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">27439000</us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths>
    <csiq:LesseeLiabilityPaymentsDueNextTwelveMonths
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_DBt63Qe4HEKXS2VmcTDDQQ_3_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">46392000</csiq:LesseeLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_v4licqNCc0KTihHFJHlMUw_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12980000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_ae4raBMkikSFDITuvhdAAg_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13087000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo>
    <csiq:LesseeLiabilityPaymentsDueYearTwo
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_HwF8nyHt2kadSoyS93uvPA_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">26066000</csiq:LesseeLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_KPjpibGMiUevsSHmlAPGQw_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4666000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_tU6zxdguiEmL0iFEdtMWNA_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">604000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree>
    <csiq:LesseeLiabilityPaymentsDueYearThree
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_2w6KVQmb0kWuovYDHgEvWA_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5270000</csiq:LesseeLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_pp7AWfix2EeE8qqvVhT5WA_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2541000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <csiq:LesseeLiabilityPaymentsDueYearFour
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_6nHjKoWiT0qYBYjk_Du5eQ_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2541000</csiq:LesseeLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_AMvbKH0ZbEKtKpzBVg4fjg_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1077000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <csiq:LesseeLiabilityPaymentsDueYearFive
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_-Zc94n2xKUq9baLeSnTnIw_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1077000</csiq:LesseeLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_MawF9KcBI0aWE7fR_02-yw_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1504000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <csiq:LesseeLiabilityPaymentsDueAfterYearFive
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_4xJhYyFFlEigYnvCHSHmsA_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1504000</csiq:LesseeLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_a96HhPxAmEK_KmGjkprSow_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">41721000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:FinanceLeaseLiabilityPaymentsDue
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_muv0phNVB0y8H9OkUpoejg_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">41130000</us-gaap:FinanceLeaseLiabilityPaymentsDue>
    <csiq:LesseeLiabilityPaymentsDue
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_2SHxwvGtrEihwM22meEj9g_9_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">82851000</csiq:LesseeLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_-Whxi-BRqEyDz1jxAY2dKw_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2236000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_P51EY9m2AkiBSMkH2r6WOQ_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2056000</us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount>
    <csiq:LesseeLiabilityUndiscountedExcessAmount
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_-jBIZ5qFLEyAC3_n5xMScA_10_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4292000</csiq:LesseeLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_Mpdw9TN4SEWLOam9QlVlZQ_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39485000</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_q4vVN3elDUigeoflvGNeFQ_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39074000</us-gaap:FinanceLeaseLiability>
    <csiq:LeaseLiability
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc__yE-J60CV02FYOUF6KO1ug_11_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">78559000</csiq:LeaseLiability>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_ZPOkdy86RkaREkg0JHpCDg_14_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18767000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_cyzecY45OEmitlTxOSA20w_14_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">25998000</us-gaap:FinanceLeaseLiabilityCurrent>
    <csiq:LeaseLiabilityCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_aaNGxT8OKkCRhATZMGX9mQ_14_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">44765000</csiq:LeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_tobJO1tGdEOFGsz-gkeBow_15_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20718000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_ZoREB2_eNUWKrkqCP2CwjQ_15_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13076000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <csiq:LeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_aiUAl0asgUewNLfDQPmYWg_15_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">33794000</csiq:LeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_jGDDpQU90UC7JrOR1rUljw_16_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39485000</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_VTnyDUYtFk676G_-Tyl65g_16_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39074000</us-gaap:FinanceLeaseLiability>
    <csiq:LeaseLiability
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_N7HLTi_JhUOl2Q7q5bxldA_16_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">78559000</csiq:LeaseLiability>
    <csiq:ScheduleOfFutureMinimumLeasePaymentsForLeasesTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_Z6jygwY-gkao9YH72ISrEQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The future minimum lease payments from 2018 Form 20-F as filed in accordance with Leases (Topic 840) were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Operating&#160;Lease&#160;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Finance&#160;Lease&#160;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&#160;Lease&#160;Payment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;"&gt;Year Ending December 31:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,287&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,945&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 59,232&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;2020&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,790&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,483&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,273&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,379&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,842&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,221&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,485&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 556&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,041&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 838&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 838&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,743&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,743&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;Total future minimum lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,522&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 76,826&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 127,348&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;Less: imputed interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,024&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;NPV for future minimum lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,802&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,802&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfFutureMinimumLeasePaymentsForLeasesTableTextBlock>
    <us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_lNGnB3M24Ear0FpVLDMVrg_3_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18287000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent>
    <us-gaap:CapitalLeasesFutureMinimumPaymentsDueCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_ujIuofDQVUiqS7o7LR6pLQ_3_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">40945000</us-gaap:CapitalLeasesFutureMinimumPaymentsDueCurrent>
    <csiq:LeasesFutureMinimumLeasePaymentsDueCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_PhPTEkt2IEesNF3BXo6iCw_3_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">59232000</csiq:LeasesFutureMinimumLeasePaymentsDueCurrent>
    <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInTwoYears
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_l_wsj1vgTUOpROpIuAicMw_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11790000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInTwoYears>
    <us-gaap:CapitalLeasesFutureMinimumPaymentsDueInTwoYears
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_zv4XhI4wrk2pr59d3Hz5Yg_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">23483000</us-gaap:CapitalLeasesFutureMinimumPaymentsDueInTwoYears>
    <csiq:LeasesFutureMinimumLeasePaymentsDueInTwoYears
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_ALib8YCLWk-5nQtcraCEyQ_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">35273000</csiq:LeasesFutureMinimumLeasePaymentsDueInTwoYears>
    <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInThreeYears
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_8ejAoHJGFUO4tjB1YG37lA_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9379000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInThreeYears>
    <us-gaap:CapitalLeasesFutureMinimumPaymentsDueInThreeYears
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_6KlZ1Y0jU0mA0o1XuHldFA_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11842000</us-gaap:CapitalLeasesFutureMinimumPaymentsDueInThreeYears>
    <csiq:LeasesFutureMinimumLeasePaymentsDueInThreeYears
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_uA4OvsThQkW9mpGFBKurFg_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">21221000</csiq:LeasesFutureMinimumLeasePaymentsDueInThreeYears>
    <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFourYears
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_9JIB4zgyCUyLqn6ktX5DDg_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2485000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFourYears>
    <us-gaap:CapitalLeasesFutureMinimumPaymentsDueInFourYears
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_QeH7MKI92UKaG8HLOzqlKA_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">556000</us-gaap:CapitalLeasesFutureMinimumPaymentsDueInFourYears>
    <csiq:LeasesFutureMinimumLeasePaymentsDueInFourYears
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_S9S7ei1ps0WisxaRF4IAkQ_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3041000</csiq:LeasesFutureMinimumLeasePaymentsDueInFourYears>
    <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFiveYears
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_RX8ynaJpik6GTdlIibtwrA_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">838000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFiveYears>
    <csiq:LeasesFutureMinimumLeasePaymentsDueInFiveYears
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_UyajIyMXH0yu8Q_iqzIorA_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">838000</csiq:LeasesFutureMinimumLeasePaymentsDueInFiveYears>
    <us-gaap:OperatingLeasesFutureMinimumPaymentsDueThereafter
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_1XzfyFZbt06-bX-GFWj9aA_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7743000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueThereafter>
    <csiq:LeasesFutureMinimumLeasePaymentsDuethereafter
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_ayf5JwlKlkeC7_5v-y7gkQ_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7743000</csiq:LeasesFutureMinimumLeasePaymentsDuethereafter>
    <us-gaap:OperatingLeasesFutureMinimumPaymentsDue
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_KfBsd1pI2E-pM7Hymoqiyw_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">50522000</us-gaap:OperatingLeasesFutureMinimumPaymentsDue>
    <us-gaap:CapitalLeasesFutureMinimumPaymentsDue
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_D6Fd7ZxMBkqDxygGZgwf2A_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">76826000</us-gaap:CapitalLeasesFutureMinimumPaymentsDue>
    <csiq:LeasesFutureMinimumLeasePaymentsDue
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_zikZrZhHGEeSagvl-hjJQA_9_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">127348000</csiq:LeasesFutureMinimumLeasePaymentsDue>
    <us-gaap:CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_1XmQTVzqOkWeSNtc6quLlQ_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5024000</us-gaap:CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments>
    <csiq:LeasesFutureMinimumPaymentsInterestIncludedInPayments
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_sQ2ubP9h106oQK1_3i7K_w_10_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5024000</csiq:LeasesFutureMinimumPaymentsInterestIncludedInPayments>
    <us-gaap:CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_wLBkEnfRXkOPLJaP5Nfk6A_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">71802000</us-gaap:CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments>
    <csiq:LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_4l3aCPQpaU6zR5syAbaH6g_11_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">71802000</csiq:LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_NQtANaEScEWgJgDKBkcScw">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;13&lt;/b&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;.&lt;/span&gt;&lt;b style="font-weight:bold;"&gt;&#160;BORROWINGS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Analysis as:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Short-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 856,876&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 819,031&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Long-term borrowings, current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 171,051&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 114,089&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Subtotal for short-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,027,927&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 933,120&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Long-term borrowings on project assets &#x2014; current&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt; (1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 265,770&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 286,173&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 393,614&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 619,477&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;&lt;span style="margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,687,311&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,838,770&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;Certain long-term borrowings were classified as current liabilities because these borrowings are associated with certain solar power projects that are expected to be sold within one year.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:6pt;"/&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of December 31, 2019, the Company had contractual credit facilities of $2,331,226 and $579,545 was available for draw down upon demand. In addition, as of December 31, 2019, the Company also had non-binding credit facilities of $513,566.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of December 31, 2019, short-term borrowings of $708,787, long-term borrowings on project assets &#x2013; current of $283,409 and long-term borrowings of $513,622 were secured by property, plant and equipment with carrying amounts of $192,103, inventories of $55,955, prepaid land use rights of $28,763, restricted cash of $138,950, accounts receivable of $226,938, equity interest of $373,751 and project assets and solar power systems of&#160;$579,695.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Long term borrowings newly obtained during the year ended December 31, 2019 were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On January 31, 2019, Canadian Solar Japan K.K. entered into a financing agreement with Mizuho Bank, Ltd, denominated in JPY, which agreed to provide revolving long-term working capital financing of approximately $8,476. The total outstanding borrowings under this agreement equaled $8,476 at December 31, 2019. The loan is secured by inventory and accounts receivable. The agreement does not contain any financial covenants or restrictions.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On January 25, 2019, CSI Cells (Yancheng) Co., Ltd. entered into a financing agreement, denominated in RMB, with a Chinese financial institution, which agreed to provide long-term Capex financing of $129,010 in Jiangsu Province. The outstanding borrowing under this agreement was $40,136 at December 31, 2019, which requires repayment in 2021 and 2022. The loan is secured by prepaid land use rights and guaranteed by Chinese Subsidiary of CSI. The agreement does not contain any financial covenants or restrictions.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On March 18, 2019, Canadian Solar Projects K.K. entered into a financing agreement, denominated in JPY, with a Japanese financial institution, which agreed to provide revolving long-term working capital financing of $49,290 for Solar power project development in Japan. The outstanding borrowing under this agreement was $11,881 at December 31, 2019, which requires repayment in 2022. The loan is unsecured and guaranteed by CSI. The agreement does not contain any financial covenants or restrictions.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;13.&#160;BORROWINGS &lt;/b&gt;&lt;b style="font-weight:bold;"&gt;(Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On May 8, 2019, CSI entered into a financing agreement, denominated in USD, with Credit Suisse, which agreed to provide revolving long-term working capital financing of $50,000 for Solar power project development worldwide. The outstanding borrowing under this agreement was $50,000 at December 31, 2019, which requires repayment in 2021. The loan is secured by equity and guaranteed by SEA subsidiaries of CSI. As of December 31, 2019, the Company met all the requirements of financial covenants.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On June 25, 2019, CSI Cells Co., Ltd. entered into a financing agreement, denominated in RMB, with a Chinese financial institution, which agreed to provide long-term Capex financing of $43,003 in Jiangsu Province. The outstanding borrowing under this agreement was $34,188 at December 31, 2019, which requires repayment in 2024. The loan is secured by property, plant and equipment and guaranteed by Chinese Subsidiary of CSI. The agreement does not contain any financial covenants or restrictions.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On June 28, 2019, Europe Clean Energies Asia K.K. entered into a financing agreement, denominated in JPY, with a Japanese financial institution, which agreed to provide project financing of $5,989 for Solar power project development in Japan. The outstanding borrowing under this agreement was $1,503 at December 31, 2019, which requires repayment in 2021. The loan is secured by project assets and guaranteed by CSI. As of December 31, 2019, the Company met all the requirements of financial covenants.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On July 15, 2019, Canadian Solar Manufacturing (Thailand) Co.,Ltd. entered into a financing agreement, denominated in USD, with syndicate financial institutions, which agreed to provide long-term Capex financing of $110,000 in Thailand. The outstanding borrowing under this agreement was $91,095 at December 31, 2019, which requires repayment in 2024. The loan is secured by prepaid land use rights and property, plant and equipment and guaranteed by Chinese Subsidiary of CSI. As of December 31, 2019, the Company met all the requirements of financial covenants.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On September 6, 2019, Re SH ProCo LLC entered into a financing agreement, denominated in USD, with Syndicate financial institutions, which agreed to provide module supply financing of $123,708 for in US. The outstanding borrowing under this agreement was $123,708 at December 31, 2019, which requires repayment in 2022. The loan is secured by equity and guaranteed by CSI. As of December 31, 2019, the Company met all the requirements of financial covenants.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On October 11, 2019, Re SH Mezz Borrower LLC. entered into a financing agreement, denominated in USD, with a Japan financial institution, which agreed to provide module supply financing of $60,000 for in US. The outstanding borrowing under this agreement was $60,000 at December 31, 2019, which requires repayment in 2022. The loan is secured by equity and guaranteed by CSI. As of December 31, 2019, the Company met all the requirements of financial covenants.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On October 25, 2019, Canadian Solar Projects K.K. entered into a financing agreement, denominated in JPY, with a Japanese financial institution, which agreed to provide revolving long-term working capital financing of $93,975 for Solar power project development in Japan. The outstanding borrowing under this agreement was $93,975 at December 31, 2019, which requires repayment in 2021. The loan is unsecured and guaranteed by CSI. The agreement does not contain any financial covenants or restrictions. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The newly obtained long-term borrowings disclosed above bear effective floating interest rates from 0.95% to 8.28% per annum.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;13.&#160;BORROWINGS &lt;/b&gt;&lt;b style="font-weight:bold;"&gt;(Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Future principal repayments on the long-term borrowings are as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2020&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 400,262&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 245,927&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 276,675&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,679&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,158&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 41,038&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,019,739&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Less: future principal repayment related to long-term borrowings, current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (400,262)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total long-term portion&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 619,477&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Interest expenses&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Average effective interest rates on borrowings are as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-style:italic;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;Short-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.58&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.86&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;Long-term borrowings on project assets &#x2013; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.61&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.65&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;Long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.13&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.43&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company capitalized interest costs incurred on borrowings obtained to finance construction of solar power projects or property, plant and equipment until the asset is ready for its intended use. The interests incurred during the years ended December 31, 2017, 2018 and 2019 are as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:35.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Interest capitalized &#x2014; project assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,274&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,462&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,794&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Interest capitalized &#x2014; property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,010&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,182&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,620&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Interest expense&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 117,971&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 106,032&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 81,326&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total interest incurred&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 132,255&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 122,676&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.99%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 94,740&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:ScheduleOfDebtTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_ysFlI9idCEi5LrbYKoM8KQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Analysis as:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Short-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 856,876&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 819,031&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Long-term borrowings, current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 171,051&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 114,089&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Subtotal for short-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,027,927&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 933,120&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Long-term borrowings on project assets &#x2014; current&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt; (1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 265,770&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 286,173&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 393,614&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 619,477&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;&lt;span style="margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,687,311&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,838,770&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDebtTableTextBlock>
    <us-gaap:OtherShortTermBorrowings
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_dVdtMUm7B0Ck3EW7sMDYAg_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">856876000</us-gaap:OtherShortTermBorrowings>
    <us-gaap:OtherShortTermBorrowings
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_fOo-vOeyF0OOkVOLdnMLGA_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">819031000</us-gaap:OtherShortTermBorrowings>
    <us-gaap:LongTermDebtCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_vJZi2BSxFUuGqj5iWaSiaQ_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">171051000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_aO25hPpEqkqlcKzNOGo1Qw_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">114089000</us-gaap:LongTermDebtCurrent>
    <us-gaap:ShortTermBorrowings
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_m7BD-WrWU06a5WEhZeLMvg_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1027927000</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_r4iPKVzDOEeGkG00kuDFqA_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">933120000</us-gaap:ShortTermBorrowings>
    <csiq:LongTermBorrowingsOnProjectAssetsCurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_T9wNBmrrukG0-s7FU-xGcA_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">265770000</csiq:LongTermBorrowingsOnProjectAssetsCurrent>
    <csiq:LongTermBorrowingsOnProjectAssetsCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_m4EjlhNQp0qipoWhmJ4S8Q_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">286173000</csiq:LongTermBorrowingsOnProjectAssetsCurrent>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_Mh33dl-UakGsd-v2O8ItGg_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">393614000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_Uu8_mBkYgUWscUE-IZTI5w_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">619477000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_Y95ZJXXCCUOfOAabvLTKbg_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1687311000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_HIQAo12PfkOcADYIb4nZ_Q_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1838770000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2019_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_nw1AxTFMckCSnF9eMHvNCQ"
      decimals="-3"
      id="Narr_71I5sEsMmEqCTFaZ_-HleQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2331226000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="As_Of_12_31_2019_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_nw1AxTFMckCSnF9eMHvNCQ"
      decimals="-3"
      id="Narr_hSKSAYwMfEGBNMqqUsRemw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">579545000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2019_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember_NkfUFHvpiki-98GFkz5oaA"
      decimals="-3"
      id="Narr_9tmkc0Y_q0iEKZ1b0_nNhw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">513566000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <csiq:SecuredShortTermDebt
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_KEkSnZVg_UW4bf8bYdn3XQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">708787000</csiq:SecuredShortTermDebt>
    <us-gaap:SecuredDebtCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_K3qU0GEPkUW76r_4DJOKdg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">283409000</us-gaap:SecuredDebtCurrent>
    <us-gaap:SecuredLongTermDebt
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_SeVI-fM0MkOouafuZcQ43w"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">513622000</us-gaap:SecuredLongTermDebt>
    <csiq:PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_vC50cmWFZ0yy-NI9oIpVgQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">192103000</csiq:PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment>
    <csiq:PledgedAssetsNotSeparatelyReportedInventory
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_hYn7fPP22k6K0tZX2p5tsw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">55955000</csiq:PledgedAssetsNotSeparatelyReportedInventory>
    <csiq:PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_-m3d7crCC0SXTcU12etJQA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28763000</csiq:PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight>
    <csiq:PledgedAssetsNotSeparatelyReportedRestrictedCash
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_TsT2kXky_kS0qx73SK8UyA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">138950000</csiq:PledgedAssetsNotSeparatelyReportedRestrictedCash>
    <csiq:PledgedAssetsNotSeparatelyReportedAccountsReceivable
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_1crh1ctXQkyvM5-kBPOT-w"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">226938000</csiq:PledgedAssetsNotSeparatelyReportedAccountsReceivable>
    <csiq:PledgedEquityNotSeparatelyReported
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_qZxKxH_sYEGglAJtL5ECSg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">373751000</csiq:PledgedEquityNotSeparatelyReported>
    <csiq:PledgedAssetsProjectAssetsAndSolarPowerSystems
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_qjJOtSGv9UmXwZ2qfLJ4TQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">579695000</csiq:PledgedAssetsProjectAssetsAndSolarPowerSystems>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_1_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_SecuredByInventoryAndAccountsReceivableMember_dFjpPyfdT0yiKEnn9IuxwQ"
      decimals="-3"
      id="Narr_LEG6WnqOR0m845Ys1QwA5w"
      unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">8476000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_SecuredByInventoryAndAccountsReceivableMember_hdNSdECI10-ZOuoW3A_S4w"
      decimals="-3"
      id="Narr_sDYPI9TOEE269_oHTDTYQA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">8476000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_1_25_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember_47PUT9M-pEG19ZgH0VNFsQ"
      decimals="-3"
      id="Narr_lwDm2dPisEiEGFRAulp8kQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">129010000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember_4OvvNdHmPkOJX1eQ44pPWg"
      decimals="-3"
      id="Narr_s5q6HF6PL0KQtUos540ArA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">40136000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_3_26_2018_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_soD0AKKIuUuNnrkbdBGCHw"
      decimals="-3"
      id="Narr_baynQlHuYki9RMFOeVIhBQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">49290000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_fCMeD0tB102XyJd5n4KIjA"
      decimals="-3"
      id="Narr_VUJNZopbMUGlF9_J-sL_Ug"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11881000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_3_30_2018_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_H02AytcwPkqjfLjt3UCu_Q"
      decimals="-3"
      id="Narr_DbkmuMkSB0iYlcXRaQQiVg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">50000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_LR3iHk2vW0KQebnCNviWTg"
      decimals="-3"
      id="Narr_37P5nqNey0GOz4FOtWV1wg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">50000000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_4_5_2018_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_ZaO8-lOzmkSOpXV4cotMHQ"
      decimals="-3"
      id="Narr_U4Ujl6ikUUSMcgoSKTF9UQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">43003000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_YxgnMJzRbEuNZzwUeEkYlg"
      decimals="-3"
      id="Narr_1QkFxYItZUW2Rfseuc-4EQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">34188000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_6_28_2019_us-gaap_LongtermDebtTypeAxis_csiq_FinancingAgreementMember_Or7w3L2W5Uu6Os4lh3U82Q"
      decimals="-3"
      id="Narr_lH63iZRtwEKeV1LJl4w0mw"
      unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">5989000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_6_28_2019_us-gaap_LongtermDebtTypeAxis_csiq_FinancingAgreementMember_Or7w3L2W5Uu6Os4lh3U82Q"
      decimals="-3"
      id="Narr_g7PHI4G57EesE_T1sRzWCg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1503000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_7_15_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_67RkCDdGfUyMt7-vVUuIGg"
      decimals="-3"
      id="Narr_jT26k0GjsUG3KpZF_VYdyQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">110000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_Unnv7A6IF0SNpUA-z-kfzQ"
      decimals="-3"
      id="Narr_FZOjo7QvlEy6lAvU1HN-2Q"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">91095000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_9_14_2018_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_65cKx5UOmUCkMoGigo2IqA"
      decimals="-3"
      id="Narr_ae9aVKuv60SLfsl0SpvsMA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">123708000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_srt_OwnershipAxis_csiq_SubsidiaryMember_Fsc3B2vRw0iyfhOc95NwbA"
      decimals="-3"
      id="Narr_iXozLOfkO02KflEGhVEPnQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">123708000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_10_11_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_us-gaap_LongtermDebtTypeAxis_csiq_FinancingAgreementMember_KjOWdZ75a0WfTHSlg9itng"
      decimals="-3"
      id="Narr_k0YTA0Nf9E2QctvP5Txilw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">60000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_10_11_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_us-gaap_LongtermDebtTypeAxis_csiq_FinancingAgreementMember_KjOWdZ75a0WfTHSlg9itng"
      decimals="-3"
      id="Narr_u_qtw5_ZjE2ImR27wHt5dw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">60000000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_10_31_2018_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_7ApNkRhE_0CMLMlGE-tNdA"
      decimals="-3"
      id="Narr_BuHO1pmnfkKt2WlsZyZGGg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">93975000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2019_srt_CounterpartyNameAxis_csiq_BorrowingsFromNonBankingInstitutionsMember_aoxurKTLVEiDwuHolZCXcw"
      decimals="-3"
      id="Narr_sUf33hRi50GtKUNZpJp11A"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">93975000</us-gaap:LineOfCredit>
    <us-gaap:LongTermDebtWeightedAverageInterestRateOverTime
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="INF"
      id="Narr_K5xzO6Qde0evgxzTSe0zWg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0095</us-gaap:LongTermDebtWeightedAverageInterestRateOverTime>
    <us-gaap:LongTermDebtWeightedAverageInterestRateOverTime
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="INF"
      id="Narr_J4mOL7t9UE2ph7ikCs6hCg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0828</us-gaap:LongTermDebtWeightedAverageInterestRateOverTime>
    <us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_p7IpFvCdLEOwgUKZ_wSfiA">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2020&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 400,262&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 245,927&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2022&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 276,675&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,679&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,158&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 41,038&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,019,739&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Less: future principal repayment related to long-term borrowings, current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (400,262)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total long-term portion&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 619,477&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_Yr7s-2JwzU6wy2PLiPbV-w_1_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">400262000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_T1x1tet3uEOawlg92tWfCA_2_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">245927000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_BEl71p4qzEyr1kyEbZzfIw_3_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">276675000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_cizUypqnpkaZKKWBqpa6Mg_4_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">40679000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_OHTNR_d1aUCO7-hNhLkTyA_5_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15158000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_FC53vSkrSUS3R11SQLfSkA_6_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">41038000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive>
    <us-gaap:LongTermDebt
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc__1lXykiraUqf1TWFFM_vEw_7_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1019739000</us-gaap:LongTermDebt>
    <us-gaap:LoansPayableCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_NUHQpTD2UEOmFewIyQ07_g_8_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">400262000</us-gaap:LoansPayableCurrent>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_fzfvZV4gFUijmxwIgFpMew_9_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">619477000</us-gaap:LongTermNotesAndLoans>
    <csiq:ScheduleOfEffectiveInterestRatesTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_AFhoJLGDoUKrlW8x9XzbOQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-style:italic;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;Short-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.58&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.86&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;Long-term borrowings on project assets &#x2013; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.61&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.65&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;"&gt;Long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.13&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.43&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfEffectiveInterestRatesTableTextBlock>
    <csiq:DebtInstrumentInterestRateFloatingPercentage
      contextRef="As_Of_12_31_2018_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_V5qWxWd2PE6gJIqF5det4w"
      decimals="INF"
      id="Tc_RdZ3Hm13M0Woq_z_0VPs1A_3_2"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0458</csiq:DebtInstrumentInterestRateFloatingPercentage>
    <csiq:DebtInstrumentInterestRateFloatingPercentage
      contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_QB6FQT6tsUu2JlD0M-uS9A"
      decimals="INF"
      id="Tc_ZOy2nMshGk2Ca1y94CaR0Q_3_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0486</csiq:DebtInstrumentInterestRateFloatingPercentage>
    <csiq:DebtInstrumentInterestRateFloatingPercentage
      contextRef="As_Of_12_31_2018_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_kaMjFIZagEOypzTRPqfy3g"
      decimals="INF"
      id="Tc_O04M5ckVpUWiOKxrZDAsRQ_4_2"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0461</csiq:DebtInstrumentInterestRateFloatingPercentage>
    <csiq:DebtInstrumentInterestRateFloatingPercentage
      contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember_4LmkbPUO0EaVzVJKFVhl9w"
      decimals="INF"
      id="Tc_DWBQfDEf-kOyHcZddhoxUQ_4_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0365</csiq:DebtInstrumentInterestRateFloatingPercentage>
    <csiq:DebtInstrumentInterestRateFloatingPercentage
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="INF"
      id="Tc_NQIB_UOcqEyP-AvdPFOZxg_5_2"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0313</csiq:DebtInstrumentInterestRateFloatingPercentage>
    <csiq:DebtInstrumentInterestRateFloatingPercentage
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="INF"
      id="Tc_9-ME-2d7ak6NAPhpE_aBHg_5_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0543</csiq:DebtInstrumentInterestRateFloatingPercentage>
    <csiq:ScheduleOfInterestExpenseTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_g_XrKxQPwUORBbEzegc6QA">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:35.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Interest capitalized &#x2014; project assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,274&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,462&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,794&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Interest capitalized &#x2014; property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,010&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,182&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,620&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Interest expense&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 117,971&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 106,032&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 81,326&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total interest incurred&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 132,255&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 122,676&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.99%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 94,740&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfInterestExpenseTableTextBlock>
    <csiq:InterestCostsCapitalizedProjectAssets
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_5BCe8Sisq0GkEBshGZt0DA_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13274000</csiq:InterestCostsCapitalizedProjectAssets>
    <csiq:InterestCostsCapitalizedProjectAssets
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_jyrgowkzUkGOm6N6VwoQrg_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15462000</csiq:InterestCostsCapitalizedProjectAssets>
    <csiq:InterestCostsCapitalizedProjectAssets
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_KwHo9QSGmk-WsDmOYqbtbg_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10794000</csiq:InterestCostsCapitalizedProjectAssets>
    <csiq:InterestCostsCapitalizedPropertyPlantAndEquipment
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_ZbtUSMhNS0Wo-m4U1TnFWg_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1010000</csiq:InterestCostsCapitalizedPropertyPlantAndEquipment>
    <csiq:InterestCostsCapitalizedPropertyPlantAndEquipment
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_flTRM02j60GcZDhBDDhLBA_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1182000</csiq:InterestCostsCapitalizedPropertyPlantAndEquipment>
    <csiq:InterestCostsCapitalizedPropertyPlantAndEquipment
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_t5wTg06eUU6-dJGUrpekFQ_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2620000</csiq:InterestCostsCapitalizedPropertyPlantAndEquipment>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_GS80DDWAGUuL_Bs7Usk-mw_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">117971000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_9Jbl1oxW-kOS-Ev5RSEqWQ_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">106032000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_TzvnNJ1hk0Kuplmu_HYFrA_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">81326000</us-gaap:InterestExpense>
    <us-gaap:InterestCostsIncurred
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_hs1wi-kV5kmEhtT-w_rzqA_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">132255000</us-gaap:InterestCostsIncurred>
    <us-gaap:InterestCostsIncurred
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_tucjIpqLN0y4IgtFPqD7ug_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">122676000</us-gaap:InterestCostsIncurred>
    <us-gaap:InterestCostsIncurred
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_sy4-aDVUjkmgVFeKptsC2Q_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">94740000</us-gaap:InterestCostsIncurred>
    <csiq:ShortTermNotesPayableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_aT8eOxxF5k2L1wTg-Uq1Og">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;14.&#160;SHORT-TERM NOTES PAYABLE&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company enters into arrangements with banks whereby the banks issue notes to the Company&#x2019;s vendors, which effectively serve to extend the payment date of the associated accounts payable. Vendors may present the notes for payment to a bank, including the bank issuing the note, prior to the stated maturity date, but generally at a discount from the face amount of the note. The Company is generally required to deposit restricted cash balances with the issuing bank, which are utilized to immediately repay the bank upon the banks&#x2019; settlement of the notes. Given the purpose of these arrangements is to extend the payment dates of accounts payable, the Company has recorded such amounts as short-term notes payable. As payments by the bank are immediately repaid by the Company's restricted cash balances and other deposits with the same bank, the notes payable does not represent cash borrowings from the bank. As of December 31, 2018 and 2019, short-term notes payable was $369,722 and $544,991, respectively.&lt;/p&gt;</csiq:ShortTermNotesPayableTextBlock>
    <csiq:ShortTermNotesPayable
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Narr_v7TBCTaoQ0S4L3gTQ7qydg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">369722000</csiq:ShortTermNotesPayable>
    <csiq:ShortTermNotesPayable
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_JNm-Z_mKV0SxsyyOYzlI8Q"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">544991000</csiq:ShortTermNotesPayable>
    <us-gaap:ProductWarrantyDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_hSf_o0l_9EC5b-9h2ZbjmA">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;15.&#160;ACCRUED WARRANTY COSTS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company&#x2019;s warranty activity is summarized below:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:35.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Beginning balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 61,139&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,659&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,605&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Warranty provision&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,793&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,188&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,044&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Warranty costs incurred&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (26,552)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (16,732)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (23,282)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,279&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,510)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 511&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Ending balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,659&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,605&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,878&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ProductWarrantyDisclosureTextBlock>
    <us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_2J63jZ12v0e0SNAXvWOTUg">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:35.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Beginning balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 61,139&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,659&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,605&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Warranty provision&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,793&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,188&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,044&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Warranty costs incurred&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (26,552)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (16,732)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (23,282)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,279&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,510)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 511&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Ending balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,659&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,605&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,878&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2016_1CpwSxbtS0GMUYvki678nw"
      decimals="-3"
      id="Tc_ImW0JARWQUKF29ZRX-uDQA_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">61139000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2017_kjGpnzkm3E6qIMnIr7nQSg"
      decimals="-3"
      id="Tc_OM8CnuensUuHP3ED75wpBg_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">55659000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_UMLJJJY-k0qyggalF5kuCg_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">50605000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_qMb93dskSki1LKzBpgi4uA_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">19793000</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_WAoPmi7wIUybCT9CU52fwg_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13188000</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_yzN6U2bd_0SVoOy1qv9sEQ_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28044000</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_ZzelXo3L80yeJrM-PLWRXA_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">26552000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Q5oAW1mzrEWI_Qmuy6JuXw_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">16732000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_NE5aGjAOXEK6SjFw4F1TBQ_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">23282000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_w1sUW3YRdU6mTBw4P7xMvw_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1279000</us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss>
    <us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_hHsyrcULZU2qjsKsrrfv1w_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1510000</us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss>
    <us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_EhrBUXQtkUSfKJyofTn7Zg_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">511000</us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2017_kjGpnzkm3E6qIMnIr7nQSg"
      decimals="-3"
      id="Tc_6imYBMrx1EGBoRxagVMcxQ_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">55659000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_29FR0fbJ0UeZ02HOVkBLhg_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">50605000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_xjVPA64eY02haF4VhiLVBg_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">55878000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:RestrictedAssetsDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_LjEx_RftEEaJab8DkaM41A">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;16.&#160;RESTRICTED NET ASSETS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As stipulated by the relevant laws and regulations applicable to China&#x2019;s foreign investment enterprise, the Company&#x2019;s PRC subsidiaries are required to make appropriations from net income as determined under accounting principles generally accepted in the PRC (&#x201c;PRC&#160;GAAP&#x201d;) to non-distributable reserves, which include general reserve, enterprise expansion reserve and staff welfare and bonus reserve. The wholly-owned PRC subsidiaries are not required to make appropriations to the enterprise expansion reserve but appropriations to the general reserve are required to be made at not less than 10% of the profit after tax as determined under PRC GAAP. The board of directors determines the staff welfare and bonus&#160;reserve.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The general reserve is used to offset future losses. The PRC subsidiaries may, upon a resolution passed by the stockholder, convert the general reserve into capital. The staff welfare and bonus reserve is used for the collective welfare of the employee of the subsidiaries. The enterprise expansion reserve is for the expansion of the PRC subsidiaries&#x2019; operations and can be converted to capital subject to approval by the relevant authorities. These reserves represent appropriations of the retained earnings determined in accordance with Chinese&#160;law.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In addition to the general reserve, the Company&#x2019;s PRC subsidiaries are required to obtain approval from the local PRC government prior to distributing any registered share capital. Accordingly, both the appropriations to general reserve and the registered share capital of the Company&#x2019;s PRC subsidiaries are considered as restricted net assets amounting to $497.2 million as of December 31, 2019.&lt;/p&gt;</us-gaap:RestrictedAssetsDisclosureTextBlock>
    <csiq:MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="2"
      id="Narr_eLSY5a0w_EyN8uIphmuv9Q"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.10</csiq:MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage>
    <us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-5"
      id="Narr_zpI0843DtU2xMSlZopVL7Q"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">497200000</us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries>
    <csiq:ConvertibleNotesDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_vEfV3e9lSUus6pY1-wpscA">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;17.&#160;CONVERTIBLE NOTES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On February 18, 2014, the Company issued $130,000 of convertible notes (the "2014 Notes"). The Company granted the initial purchasers a 30-day option to purchase up to an additional $20,000 aggregate principal amount of the 2014 Notes. The option was fully exercised by initial purchasers on the same day. The key terms of the 2014 Notes are described as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Maturity date.&lt;/i&gt; The 2014 Notes mature on February 15, 2019.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Interest.&lt;/i&gt; The 2014 Notes holders are entitled to receive interest at 4.25% per annum on the principal outstanding, in semi-annually installments, payable in arrears on February 15 and August 15 of each year, beginning August 15, 2014.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Conversion.&lt;/i&gt; The initial conversion rate is 22.2222 shares per $1,000 initial principal amount, which represents an initial conversion price of approximately $45.00 per share. The 2014 Notes are convertible at any time prior to maturity. The conversion rate is subject to change for certain anti-dilution events and upon a change in control. If the holders elect to convert the 2014 Notes upon a change of control, the conversion rate will increase by a number of additional shares as determined by reference to an adjustment schedule based on the date on which the change in control becomes effective and the price paid per common share in the transaction (referred to as the "Fundamental Change Make-Whole Premium"). The Fundamental Make-Whole Premium is intended to compensate holders for the loss of time value upon early exercise.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Redemption.&lt;/i&gt; The Company may redeem for cash all or any portion of the notes (i) at the Company&#x2019;s option, on or after February 21, 2017, if the last reported sale price of the Company&#x2019;s common stock has been at least 130% of the conversion price then in effect for at least 20 trading days (whether or not consecutive) during any 30 consecutive trading day period (including the last trading day of such period) ending on, and including, the trading day immediately preceding the date on which the Company provides notice of redemption, or (ii) following the occurrence of certain tax related events, in each case, at a redemption price equals to 100% of the principal amount of the notes to be redeemed, plus accrued and unpaid interest to, but excluding, the redemption date.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of December 31, 2018, and 2019, the carrying value of the convertible notes was $127,428 and nil&lt;span style="white-space:pre-wrap;"&gt;, respectively.  The balance at December 31, 2018 and 2019 was net of unamortized issuance costs of $&lt;/span&gt;72 and nil, respectively. The debt issuance costs are being amortized through interest expense over the period from February 18, 2014, the date of issuance, to February 15, 2019, the date of expiration, using the effective interest rate method which was 4.96%. The amortization expense was $907, $953 and $71.8 for the years ended December 31, 2017, 2018 and 2019, respectively. Coupon interest of $5,419 and $903 was recorded for the years ended December 31, 2018 and 2019, of which, $2,008 and recorded in other payables as of December 31, 2018 and all amounts were paid upon December 31, 2019.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In February 2019, the company repaid the entire $127.5 million outstanding balance of senior convertible notes.&lt;/p&gt;</csiq:ConvertibleNotesDisclosureTextBlock>
    <csiq:ProceedsFromConvertibleDebtInitialIssuance
      contextRef="Duration_2_18_2014_To_2_18_2014_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_QLwd4HpR902K_A8wABiJsQ"
      decimals="-3"
      id="Narr_duMTkYiuw0CkslI5uEm-Jg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">130000000</csiq:ProceedsFromConvertibleDebtInitialIssuance>
    <csiq:DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance
      contextRef="Duration_2_18_2014_To_2_18_2014_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_QLwd4HpR902K_A8wABiJsQ"
      id="Narr_7Y3QHQsI1kK_8eUAJj9S6w">P30D</csiq:DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance>
    <csiq:ProceedsFromConvertibleDebtAdditionalIssuance
      contextRef="Duration_2_18_2014_To_2_18_2014_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_QLwd4HpR902K_A8wABiJsQ"
      decimals="-3"
      id="Narr_Rn06FHdC4EC7IuehXh-l4g"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20000000</csiq:ProceedsFromConvertibleDebtAdditionalIssuance>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yPbS4uCAjE2BEL6v9hroJg"
      decimals="INF"
      id="Narr_2uXkvf9_I0u2Noj97gQbEQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0425</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentConvertibleConversionRatio1
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_L7BCEJZcxUq493NghpmhNg"
      decimals="4"
      id="Narr_wE8Fs4wlakm_jd5iYcOlFg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">22.2222</us-gaap:DebtInstrumentConvertibleConversionRatio1>
    <us-gaap:DebtInstrumentAnnualPrincipalPayment
      contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yPbS4uCAjE2BEL6v9hroJg"
      decimals="-3"
      id="Narr_I9zLx_BuLk6hnCWZrxpQTw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1000000</us-gaap:DebtInstrumentAnnualPrincipalPayment>
    <us-gaap:DebtInstrumentConvertibleConversionPrice1
      contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yPbS4uCAjE2BEL6v9hroJg"
      decimals="2"
      id="Narr_8fY0kQY8m0ybJybE4GN_iA"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">45.00</us-gaap:DebtInstrumentConvertibleConversionPrice1>
    <us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_L7BCEJZcxUq493NghpmhNg"
      decimals="2"
      id="Narr_t1UpJ-TXvUmooE_D0336xQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1.30</us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger>
    <us-gaap:DebtInstrumentConvertibleThresholdTradingDays
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_L7BCEJZcxUq493NghpmhNg"
      decimals="INF"
      id="Narr_cnM73fFgJ0ir1113OSq3MA"
      unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA">20</us-gaap:DebtInstrumentConvertibleThresholdTradingDays>
    <us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_L7BCEJZcxUq493NghpmhNg"
      decimals="INF"
      id="Narr_Gtr8-u1zvE-tEUdV7NfLJQ"
      unitRef="Unit_Standard_D_TD5KJN6-H0iWH7G2g_795w">30</us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1>
    <csiq:DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_L7BCEJZcxUq493NghpmhNg"
      decimals="2"
      id="Narr_MVsraHyFW0iPWUpRnldGGw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</csiq:DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents>
    <us-gaap:ConvertibleNotesPayableCurrent
      contextRef="As_Of_12_31_2018_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_qagh29pxOEOnWidIWH6_mA"
      decimals="-3"
      id="Narr_rjiGc062v0mlUU6ejB0GCA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">127428000</us-gaap:ConvertibleNotesPayableCurrent>
    <us-gaap:ConvertibleNotesPayableCurrent
      contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yPbS4uCAjE2BEL6v9hroJg"
      decimals="-3"
      id="Narr_5tMQasE1mkSjSamG0q8tMA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">0</us-gaap:ConvertibleNotesPayableCurrent>
    <us-gaap:DeferredFinanceCostsGross
      contextRef="As_Of_12_31_2018_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_qagh29pxOEOnWidIWH6_mA"
      decimals="-5"
      id="Narr_Jl_vK31P00KHVbtOo620HA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">72000000</us-gaap:DeferredFinanceCostsGross>
    <us-gaap:DeferredFinanceCostsGross
      contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yPbS4uCAjE2BEL6v9hroJg"
      decimals="-3"
      id="Narr_DLIcDKjj7kCAxJUl3zmieg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">0</us-gaap:DeferredFinanceCostsGross>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="As_Of_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_yPbS4uCAjE2BEL6v9hroJg"
      decimals="4"
      id="Narr_xw_wEczmBkySE-OffneA0w"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0496</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_wzoGpx0GgkmiZaayun2EzQ"
      decimals="-3"
      id="Narr_a-JFpIXXD0-X5Gv98zAZkg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">907000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_uLpMdt-vpE-VIUzEDDSsCA"
      decimals="-3"
      id="Narr_p0tkpaZ5AUC1rTYPfX5WHg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">953000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_L7BCEJZcxUq493NghpmhNg"
      decimals="-2"
      id="Narr_Qj01FAz9eUK0P1YifXuvew"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">71800</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:InterestExpenseDebtExcludingAmortization
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_uLpMdt-vpE-VIUzEDDSsCA"
      decimals="-3"
      id="Narr_OrnUgRtdGkC3EGm-R7AHHQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5419000</us-gaap:InterestExpenseDebtExcludingAmortization>
    <us-gaap:InterestExpenseDebtExcludingAmortization
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_L7BCEJZcxUq493NghpmhNg"
      decimals="-3"
      id="Narr_aKlpaPIlOEuKvRmYUygwng"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">903000</us-gaap:InterestExpenseDebtExcludingAmortization>
    <us-gaap:InterestPayableCurrentAndNoncurrent
      contextRef="As_Of_12_31_2018_us-gaap_BalanceSheetLocationAxis_us-gaap_AccountsPayableAndAccruedLiabilitiesMember_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_z6P2d2lnrESe6ot6hqkgYg"
      decimals="-3"
      id="Narr_xbZJGCYAFU2seBAR7dmDfg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2008000</us-gaap:InterestPayableCurrentAndNoncurrent>
    <us-gaap:RepaymentsOfConvertibleDebt
      contextRef="Duration_2_1_2019_To_2_28_2019_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_gK9F7jLB9UOrvT57XyoeyA"
      decimals="-5"
      id="Narr_TFgTB-3i8UayXakiSG6rOA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">127500000</us-gaap:RepaymentsOfConvertibleDebt>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_The_diRSjUGvm-dKXf5F6w">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;18.&#160;INCOME TAXES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Income tax expenses&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The provision for income taxes is comprised of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:35.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Income before income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (30,524)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,570&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (61,880)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (33,205)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 61,377&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,319&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;PRC including Hong Kong and Taiwan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 173,266&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 178,050&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 204,632&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,164&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,555&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,335&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,233&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,848&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,215&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 143,934&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 304,400&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 208,621&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Current tax&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 346&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,846)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3,420)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (54,482)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (14,786)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (4,803)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;PRC including Hong Kong and Taiwan&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (7,383)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,285&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44,622&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,266&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,325&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,229&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (8,008)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,397&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,057&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (38,261)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,375&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 56,685&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Deferred tax&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,464)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,117&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,558)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 67,426&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,696&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,412)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;PRC including Hong Kong and Taiwan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,452&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,653&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (5,333)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (4,499)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3,381)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,953)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (703)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (491)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,637&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 79,212&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 43,594&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (14,619)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total income tax expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,118)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,271&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (9,978)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,944&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,910&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (7,215)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;PRC including Hong Kong and Taiwan&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,069&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,938&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,289&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,767&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,944&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,276&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (8,711)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,906&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,694&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,951&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 61,969&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 42,066&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company mainly operates in Canada, PRC, Japan, Germany, the United&#160;States, Hong&#160;Kong, Thailand and Vietnam.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Canada&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The Company was incorporated in Ontario, Canada and is subject to both federal and Ontario provincial corporate income taxes at a rate of 26.5% for the years ended December 31, 2017, 2018 and 2019.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;18.&#160;INCOME TAXES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Canadian Solar Solutions&#160;Inc. was incorporated in Ontario, Canada and is subject to both federal and Ontario provincial corporate income taxes at a rate of 25% for all years ended December 31, 2017, 2018 and 2019. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;United&#160;States&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Canadian Solar (USA)&#160;Inc. was incorporated in Delaware, USA and is subject to federal and state corporate income taxes at a rate of 38.61%, 24.82% and 22.89% for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Recurrent Energy Group Inc. was incorporated in Delaware, USA and is subject to federal and state corporate income taxes at a rate of 38.32%, 25.32% and 27.89% for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Japan&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Canadian Solar Japan K.K. was incorporated in Japan and is subject to Japanese corporate income taxes at a normal statutory rate of approximately 32.02%, 32.02% and 31.78% for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Germany&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Canadian Solar EMEA&#160;GmbH was incorporated in Munich, Germany and is subject to German corporate income tax at a rate of approximately 33% for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Vietnam&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Canadian Solar Manufacturing Vietnam Co., Ltd was incorporated in Vietnam on June 25, 2015 and is subject to Vietnamese corporate income taxes at a normal statutory rate of 10%. The Company enjoyed full tax exemption from 2016 to 2019 and will use a reduced statutory rate of 5% from 2020 to 2028.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Thailand&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Canadian Solar Manufacturing (Thailand) Co.,Ltd. was incorporated in Thailand in November 20, 2015 and is subject to Thailand corporate income taxes at a normal statutory rate of 20%. The Company currently has two Board of Investment certificates for full tax exemption which have different effective years. The licenses both started from year 2017, one of which will expire in year 2022 and the other in year 2025.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Hong Kong&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Canadian Solar International&#160;Ltd. was incorporated in Hong Kong, China, and is subject to Hong Kong profits tax at a rate of 16.5% for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;18.&#160;INCOME TAXES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;PRC&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The other major operating subsidiaries, including CSI Solartronics (Changshu)&#160;Co.,&#160;Ltd., CSI Solar Technologies&#160;Inc., CSI Cells&#160;Co.,&#160;Ltd., Canadian Solar Manufacturing (Luoyang)&#160;Inc., CSI Solar Power Group Co., Ltd. (formerly &#x201c;CSI Solar Power (China)&#160;Inc.&#x201d;) and Canadian Solar Manufacturing (Changshu)&#160;Inc., and Suzhou Sanysolar Materials Technology Co., Ltd. were governed by the PRC Enterprise Income Tax Law (&#x201c;EIT&#160;Law&#x201d;).&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;CSI Solartronics (Changshu) Co., Ltd., CSI Solar Technologies Inc., Canadian Solar Manufacturing (Luoyang) Inc., CSI Solar Power Group Co., Ltd. (formerly &#x201c;CSI Solar Power (China) Inc.&#x201d;) are all subject to the enterprise income tax rate of 25% for the years ended December 31, 2017, 2018 and 2019. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Certain of the Company's PRC subsidiaries, such as CSI New Energy Holding and CSI Luoyang Manufacturing, were once HNTEs and enjoyed preferential enterprise income tax rates. These benefits have, however, expired. In 2019, Suzhou Sanysolar, CSI Cells, CSI Changshu Manufacturing, Changshu Tegu, Suzhou Gaochuangte New Energy Development, Canadian Solar Sunenergy (Suzhou) and Changshu Tlian enjoyed preferential enterprise income tax rates.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Reconciliation between the provision for income tax computed by applying Canadian federal and provincial statutory tax rates to income before income taxes and the actual provision and benefit for income taxes is as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:28.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Combined federal and provincial income tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Effect of permanent difference&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (18)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (11)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Effect of different tax rate on earnings in other jurisdictions&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (7)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Effect of tax holiday&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (2)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (4)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Unrecognized tax provision&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Change in valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (6)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Effect of change in tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (5)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The aggregate amount and per share effect of tax holiday are as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;U.S.&#160;Dollars,&#160;except&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;per&#160;share&#160;data)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;The aggregate amount&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,850&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,089&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,956&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Per share &#x2014; basic&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.05&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.05&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.13&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Per share &#x2014; diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.05&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.05&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.13&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;18.&#160;INCOME TAXES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Deferred tax assets and liabilities&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 11pt 0pt;"&gt;The components of the deferred tax assets and liabilities are presented as&#160;follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-size:2pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Deferred tax assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Accrued warranty costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,424&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,326&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Bad debt allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,324&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Inventory write-down&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,723&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,128&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Future deductible expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,973&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,731&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Depreciation and impairment difference of property, plant and equipment and solar power systems&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,647&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,380&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Accrued liabilities related to antidumping, countervailing and other duty costs and true-up charges&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,341&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 496&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Deferred tax assets relating to sales of solar power systems&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 481&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,927&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Net operating losses carry-forward&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 90,536&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 112,710&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Unrealized foreign exchange loss and capital loss&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,471&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,064&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Interest limitation&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,520&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,767&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,947&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,415&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Total deferred tax assets, gross&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 202,082&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 222,268&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (76,522)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (70,627)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Total deferred tax assets, net of valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 125,560&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 151,641&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;&lt;span style="margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Deferred tax liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Derivative assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,697&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 217&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Depreciation difference of property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,212&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,789&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Deferred profit of projects&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,108&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Insurance recoverable&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,838&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,771&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Unrealized foreign exchange gain&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,803&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,984&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,513&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,380&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Total deferred tax liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,171&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 54,141&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net deferred tax assets &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 85,389&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 97,500&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Analysis as:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Deferred tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 121,087&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 153,963&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Deferred tax liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (35,698)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (56,463)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net deferred tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 85,389&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 97,500&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:2pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;18.&#160;INCOME TAXES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;In accordance with the EIT Law, dividends, which arise from profits of foreign invested enterprises in PRC earned after January 1, 2008, are subject to a 10% withholding income tax. Under applicable accounting principles, a deferred tax liability should be recorded for taxable temporary difference attributable to excess of financial reporting basis over tax basis in the investment in a foreign subsidiary. However, a deferred tax liability is not recognized if the basis difference is not expected to reverse in the foreseeable future and is expected to be permanent in duration. As of December 31, 2019, all of the undistributed earnings of approximately $625.9 million attributable to the Company&#x2019;s PRC subsidiaries and affiliates are considered to be permanently reinvested, and &lt;span style="-sec-ix-hidden:Hidden__5mLaVFunU6MP9XF7ElhkQ"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;white-space:pre-wrap;"&gt;no&lt;/span&gt;&lt;/span&gt;&lt;span style="white-space:pre-wrap;"&gt; provision for PRC withholding income tax on dividend has been made thereon accordingly. Upon distribution of those earnings generated after January 1, 2008, in the form of dividends or otherwise, the Company would be subject to the then applicable PRC tax laws and regulations. Distributions of earnings generated before January 1, 2008 are exempt from PRC dividend withholding tax. The amounts of unrecognized deferred tax liabilities for these earnings are in the range of $31.3 million to $62.6 million, as the withholding tax rate of the profit distribution will be 5% or 10% depends on whether the immediate offshore companies can enjoy the preferential withholding tax rate of 5%.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Valuation allowance&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Movement of the valuation allowance is as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Beginning balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,469&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 65,399&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 76,522&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Additions (Reversals)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (5,361)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,051&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,156)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (709)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 72&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 261&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Ending balance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 65,399&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 76,522&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 70,627&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of December 31, 2019, the Company has accumulated net operating losses of $670,541 of which $186,360 will expire between 2020 and 2039, and the remaining can be carried forward and back.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company considers positive and negative evidences to determine whether some portion or all of the deferred tax assets will not be realized. This assessment considers, among other matters, the nature, frequency and severity of recent losses, forecasts of future profitability, the duration of statutory carry-forward periods, the Company&#x2019;s experience with tax attributes expiring unused and tax planning alternatives. The Company has considered the following possible sources of taxable income when assessing the realization of deferred tax&#160;assets:&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"/&gt;&lt;td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;Tax planning strategies;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"/&gt;&lt;td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;Future reversals of existing taxable temporary differences;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"/&gt;&lt;td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;Further taxable income exclusive of reversing temporary differences and carry-forwards;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:6pt;"/&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;18.&#160;INCOME TAXES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-bottom:12pt;text-indent:18pt;margin:0pt;"&gt;The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during the periods in which those temporary differences become deductible for tax purposes. As a result, the Company has recognized a valuation allowance of $76,522 and $70,627 as at December 31, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="background-color:#ffffff;font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Uncertain tax positions&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company makes an assessment of the level of authority for each of its uncertain tax positions (including the potential application of interest and penalties) based on their technical merits, and has measured the unrecognized benefits associated with such tax positions. This liability is recorded as liability for uncertain tax positions in the consolidated balance sheets. In accordance with its policies, the Company accrues and classifies interest and penalties associated with such unrecognized tax benefits as a component of its income tax provision. The amount of interest and penalties accrued as of December 31, 2018 and 2019 was $4,398 and $4,795, respectively. The Company does not anticipate any significant changes to its liability for unrecognized tax positions within the next 12&#160;months.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table illustrates the movement and balance of the Company&#x2019;s liability for uncertain tax positions (excluding interest and penalties) for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Beginning balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,684&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,181&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,730&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Addition for tax positions related to the current year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,376&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,806&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Reductions for tax positions from prior years/Statute of limitations expirations&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,094)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (5,720)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 215&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (257)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 536&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Ending balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,181&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,730&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,557&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company is subject to taxation in various jurisdictions where it operates, mainly including Canada, China and the United States. Generally, the Company&#x2019;s taxation years from 2014 to 2019 are open for reassessment to the Canadian tax authorities. The Company is subject to taxation in the United States and various state jurisdictions. The Company is not currently under examination by the federal or state tax authorities. The Company's income tax returns for 2015 through 2019 remain open to examination by the U.S. tax authorities.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;According to the PRC Tax Administration and Collection Law, the statute of limitations is three years if the underpayment of income taxes has resulted from the computational errors of the taxpayer. The statute of limitations could be extended to five years under special circumstances. For income tax adjustments relating to transfer pricing matters, the statute of limitations is ten years. Therefore, the Company&#x2019;s Chinese subsidiaries might be subject to reexamination by the Chinese tax authorities on non-transfer pricing matters for taxation years up to 2014 retrospectively, and on transfer pricing matters for taxation years up to 2009 retrospectively. There is no statute of limitations in case of tax evasion in China.&lt;/p&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_nSsIGL8eT0emGf4HDcjkWQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:35.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Income before income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (30,524)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,570&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (61,880)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (33,205)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 61,377&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,319&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;PRC including Hong Kong and Taiwan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 173,266&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 178,050&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 204,632&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,164&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,555&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,335&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,233&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,848&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,215&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 143,934&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 304,400&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 208,621&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Current tax&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 346&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,846)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3,420)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (54,482)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (14,786)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (4,803)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;PRC including Hong Kong and Taiwan&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (7,383)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27,285&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 44,622&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,266&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,325&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,229&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (8,008)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,397&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,057&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (38,261)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,375&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 56,685&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Deferred tax&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,464)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,117&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,558)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 67,426&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,696&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,412)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;PRC including Hong Kong and Taiwan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,452&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,653&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (5,333)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (4,499)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3,381)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,953)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (703)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (491)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,637&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 79,212&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 43,594&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (14,619)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total income tax expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,118)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,271&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (9,978)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,944&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,910&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (7,215)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;PRC including Hong Kong and Taiwan&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,069&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,938&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,289&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,767&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,944&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,276&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (8,711)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,906&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,694&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:62.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,951&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 61,969&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 42,066&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CA_8lrpAC0yQ0qnB8EtGcL3RQ"
      decimals="-3"
      id="Tc_wePQcwNuDUKNaLWVUHFx4A_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-30524000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CA_lkq9bzFnokGNNmNq000F_A"
      decimals="-3"
      id="Tc_vyytDmOp-EarVO9kG0_85w_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10570000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CA_U73UV985r06bSeqJDxjsSA"
      decimals="-3"
      id="Tc_AskWUEXcQUqcli-TWmoA-g_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-61880000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_US_-EVDgMOdCU-0mdktAlGL9A"
      decimals="-3"
      id="Tc_7hNU0tP_qkSAcuhB8iSlgg_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-33205000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_US_Cg9N18tgPkGGqXSIouQ2Hg"
      decimals="-3"
      id="Tc_b5nLVDuENU2rjxj4Qbok-Q_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">61377000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_US_8h2LHSK_bUK7g5XVIxosNg"
      decimals="-3"
      id="Tc_pdx1YXIRnkC-oF-BWbc2Aw_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">8319000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CN_e1vAKk1TBU6eWIsQNy8tVA"
      decimals="-3"
      id="Tc_TyPs0C-ygkSwlCM7hO-NLg_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">173266000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CN_Y5EsbEFvbU2KImnwbOE3sA"
      decimals="-3"
      id="Tc_p8d_KQ1q_UGG3IuSl4IfVg_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">178050000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CN_Vckiv6w5gEy0eKEJr_uPjQ"
      decimals="-3"
      id="Tc_gBRVKCAsYkyMOztdDt_BNg_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">204632000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_JP_YSDQydabYEqMEJzZeiUKBg"
      decimals="-3"
      id="Tc_5MHAHPfm-0CNzQIUCLPMPg_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28164000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_JP_NFSvTIHfdUKxTEQnrrJjNA"
      decimals="-3"
      id="Tc_xaC2HWa5YkWh1QrpRZa_uw_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">27555000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_JP_sO2imR9DuU2CdSHZxG7lOg"
      decimals="-3"
      id="Tc_nCOxiqcGD0qqhY7B6R1EOQ_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">29335000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_uu1We7nTlEWup-RQoPbnHw"
      decimals="-3"
      id="Tc_QOfbimeSpUe6TiiyIsMnZQ_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6233000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_fBc-TynnSkmfwM8MkJwtQw"
      decimals="-3"
      id="Tc_XIvoe0IfkUyyd5q4SEpaEw_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">26848000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_Tpvl9ys9pEiBod_oOxh7bw"
      decimals="-3"
      id="Tc_mC2Bl4wqbkiyPtlk3MMk8A_9_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28215000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_U70uSX2SUUqqlt7SW-HlwQ_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">143934000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_wTzzqN9FVUWVmw8enhHq6Q_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">304400000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_lsHWC6hlH0a-OR4G6bDWbQ_10_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">208621000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CA_8lrpAC0yQ0qnB8EtGcL3RQ"
      decimals="-3"
      id="Tc_QIapsrqN6E2XedQxkIAJIQ_12_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">346000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CA_lkq9bzFnokGNNmNq000F_A"
      decimals="-3"
      id="Tc_QW0R87a4zkSa2dVX4ujkNg_12_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1846000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CA_U73UV985r06bSeqJDxjsSA"
      decimals="-3"
      id="Tc_ZUgV2bBBUkGX7fXvWwqy4A_12_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-3420000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_US_-EVDgMOdCU-0mdktAlGL9A"
      decimals="-3"
      id="Tc_qSJqtRxtDUCOrARQjFcl1A_13_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-54482000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_US_Cg9N18tgPkGGqXSIouQ2Hg"
      decimals="-3"
      id="Tc_Wkh5xgmJtkm1gvUUVfB2pg_13_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-14786000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_US_8h2LHSK_bUK7g5XVIxosNg"
      decimals="-3"
      id="Tc_Yu5CGBXpGk2DEMHi6V6Obg_13_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-4803000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CN_e1vAKk1TBU6eWIsQNy8tVA"
      decimals="-3"
      id="Tc_cRqBKP84uUiX1kmxhNEipg_14_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-7383000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CN_Y5EsbEFvbU2KImnwbOE3sA"
      decimals="-3"
      id="Tc_zWfUUKELBkWCA-v8sh0nfQ_14_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">27285000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CN_Vckiv6w5gEy0eKEJr_uPjQ"
      decimals="-3"
      id="Tc_8MH32NqRD0COyMIX4kj5Ng_14_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">44622000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_JP_YSDQydabYEqMEJzZeiUKBg"
      decimals="-3"
      id="Tc_cQnUgzeXp0Sb9--31tDeAw_15_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">31266000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_JP_NFSvTIHfdUKxTEQnrrJjNA"
      decimals="-3"
      id="Tc_WsXznABHVUiyR83UfnAcWQ_15_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5325000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_JP_sO2imR9DuU2CdSHZxG7lOg"
      decimals="-3"
      id="Tc_dqnPPWEvGE6FamylouAKNw_15_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13229000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_uu1We7nTlEWup-RQoPbnHw"
      decimals="-3"
      id="Tc_F3zSUGPqQUulyULXdO4aKQ_16_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-8008000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_fBc-TynnSkmfwM8MkJwtQw"
      decimals="-3"
      id="Tc_plF_gHJnP0qYrG10NvSljA_16_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2397000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_Tpvl9ys9pEiBod_oOxh7bw"
      decimals="-3"
      id="Tc_WdiXDaTG60a0t_wRQDNerQ_16_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7057000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_pE3g231ab0aojfKf1ZHkwQ_17_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-38261000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_0wuL-qpS0kWvPttcZuT4_Q_17_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18375000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_6yQLOW_XTkCYHn_O1X6-Xg_17_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">56685000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CA_8lrpAC0yQ0qnB8EtGcL3RQ"
      decimals="-3"
      id="Tc_wJfp-FIKuEuV_uWSJUhcEQ_19_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-6464000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CA_lkq9bzFnokGNNmNq000F_A"
      decimals="-3"
      id="Tc_ciqUnROzBUqLalb8zsk8LA_19_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12117000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CA_U73UV985r06bSeqJDxjsSA"
      decimals="-3"
      id="Tc_iANT6FoHO0iPIDGyHB4xCA_19_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-6558000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_US_-EVDgMOdCU-0mdktAlGL9A"
      decimals="-3"
      id="Tc_f26HZjZi00WvjiEbg_oQCA_20_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">67426000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_US_Cg9N18tgPkGGqXSIouQ2Hg"
      decimals="-3"
      id="Tc_96LWna51B0O6747nF6DiUg_20_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">32696000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_US_8h2LHSK_bUK7g5XVIxosNg"
      decimals="-3"
      id="Tc_npza97JBz0ej_qIX0Dke5g_20_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-2412000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CN_e1vAKk1TBU6eWIsQNy8tVA"
      decimals="-3"
      id="Tc_aEoWAU24OEaqGDnlh1yGHA_21_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">23452000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CN_Y5EsbEFvbU2KImnwbOE3sA"
      decimals="-3"
      id="Tc_KjpVCnGb7UOXiGNEjtVZng_21_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2653000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CN_Vckiv6w5gEy0eKEJr_uPjQ"
      decimals="-3"
      id="Tc_JuXIcJnk7Ue4VQ23P3WKfg_21_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5333000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_JP_YSDQydabYEqMEJzZeiUKBg"
      decimals="-3"
      id="Tc_Sg7J-egjc021xAQULi2KpA_22_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-4499000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_JP_NFSvTIHfdUKxTEQnrrJjNA"
      decimals="-3"
      id="Tc_r__tUpAItUmQDYb-G4Ws-Q_22_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-3381000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_JP_sO2imR9DuU2CdSHZxG7lOg"
      decimals="-3"
      id="Tc_pXIpYQrGr0WUGA-ait3Q2g_22_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-2953000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_uu1We7nTlEWup-RQoPbnHw"
      decimals="-3"
      id="Tc_nV1-k7hQcEiDdZt5KlU2rA_23_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-703000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_fBc-TynnSkmfwM8MkJwtQw"
      decimals="-3"
      id="Tc_tCJzjaUEjEW9OtynIWqxtA_23_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-491000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_Tpvl9ys9pEiBod_oOxh7bw"
      decimals="-3"
      id="Tc_NPdqKy6OwkeGRWt6Yy6g_Q_23_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2637000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_HosaBxgg7UqVW0Mv2aVRag_24_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">79212000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_S94CIcUflUSL_REl_Gc0jg_24_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">43594000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_2s8ZqHuMA0y4EWSCRbPpUg_24_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-14619000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CA_8lrpAC0yQ0qnB8EtGcL3RQ"
      decimals="-3"
      id="Tc_ZyA4mT0XdE25O98o1fHcJA_26_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-6118000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CA_lkq9bzFnokGNNmNq000F_A"
      decimals="-3"
      id="Tc_lDYefv8bvUCt299xgrf7pA_26_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10271000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CA_U73UV985r06bSeqJDxjsSA"
      decimals="-3"
      id="Tc_axPVn7lLLEG8wvknCtQCMg_26_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-9978000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_US_-EVDgMOdCU-0mdktAlGL9A"
      decimals="-3"
      id="Tc_tdnP4lJxOUWLpw3fshf_ag_27_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12944000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_US_Cg9N18tgPkGGqXSIouQ2Hg"
      decimals="-3"
      id="Tc_3VMvc0UeYkSU9pqRf_RX3g_27_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">17910000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_US_8h2LHSK_bUK7g5XVIxosNg"
      decimals="-3"
      id="Tc_pJ-UenjTL06-X2fj663y3Q_27_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-7215000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_CN_e1vAKk1TBU6eWIsQNy8tVA"
      decimals="-3"
      id="Tc_WqX8SoYQVUeIz83zUbyrwg_28_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">16069000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_CN_Y5EsbEFvbU2KImnwbOE3sA"
      decimals="-3"
      id="Tc_ANUL6mrIC0epu-AcKiTUDw_28_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">29938000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_CN_Vckiv6w5gEy0eKEJr_uPjQ"
      decimals="-3"
      id="Tc_sBmuhFM6hEqAJ-TJz5zT2Q_28_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39289000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_country_JP_YSDQydabYEqMEJzZeiUKBg"
      decimals="-3"
      id="Tc_KIA0RTCuCkitv8403zOKcg_29_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">26767000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_country_JP_NFSvTIHfdUKxTEQnrrJjNA"
      decimals="-3"
      id="Tc_vCrYOGXeTEK3rJFY_j7xgA_29_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1944000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_country_JP_sO2imR9DuU2CdSHZxG7lOg"
      decimals="-3"
      id="Tc_GGhfnpzraUOBAM0oHS4nxg_29_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10276000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_uu1We7nTlEWup-RQoPbnHw"
      decimals="-3"
      id="Tc_nJkZln9vfUeSWxY70RFNcg_30_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-8711000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_fBc-TynnSkmfwM8MkJwtQw"
      decimals="-3"
      id="Tc_JeBhRY8Xz0CzDLQ1hE-GYA_30_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1906000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_Tpvl9ys9pEiBod_oOxh7bw"
      decimals="-3"
      id="Tc_6RZEDQq7nU6t0iauwLqCRg_30_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9694000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_Zn1jYngVFEmW61CP7ftvaw_31_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">40951000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_259OATnEE0a8sNGlh3svCA_31_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">61969000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_xHshAKEE9kiemqxOTTYIzw_31_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">42066000</us-gaap:IncomeTaxExpenseBenefit>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_FuqNMzntKkC3oW2vZfXXEQ"
      decimals="3"
      id="Narr_bjjT09utI0WVvxcigSjyjg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.265</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_oMfXEVnV40enxqssJftNdg"
      decimals="3"
      id="Narr_HGfVmoBAg0aVEkzKPe6l_A"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.265</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_LRvKjJEMkUKk4ypEQ6GI8g"
      decimals="3"
      id="Narr_oGWTwSnTVUuykMd4dNB-Yw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.265</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_c98FVmoqQkyW_kLaSAxMdw"
      decimals="3"
      id="Narr_7M1PKIxy2EK1qKD8yKiosQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.25</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_tiD3_T5xBUm2DSnaLrAVcQ"
      decimals="3"
      id="Narr_OCuFgGvNAUeP6ZvqseSzVA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.25</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_ZvCdVuOIL0WUgu2MyAEiBA"
      decimals="3"
      id="Narr_NkZi3jZBH0uzyEx1gt5IWA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.25</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_Bv4q5MiEmkWzYnjY2n1DDw"
      decimals="4"
      id="Narr_2x_H4Cpx-EaAcLwpnCPolw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.3861</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_pNY_HOZnIk6S_Cx_AraG-A"
      decimals="4"
      id="Narr_70l6kMrqZUWOm245n5vliw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.2482</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_bkAVaYM15EmQbIM35GduTg"
      decimals="4"
      id="Narr_yKtGrw0RlkW09fAkkVdXDQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.2289</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_zP9wRc_tCEWZ-xX99ys6pQ"
      decimals="4"
      id="Narr_UXOPoCtgl0uemkgzJJFSFw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.3832</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_3OIr_K05xEuzbasWpuYRgQ"
      decimals="4"
      id="Narr_HB73WDF5Y0mxwAASGqFfKw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.2532</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyAcquisitionCo.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_NPh8C7LJHECeEmAuTzFAiw"
      decimals="4"
      id="Narr_qis3OByHsEq2pSntfYzG6w"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.2789</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_dlAOFm7h4E235UcaiMqK9Q"
      decimals="4"
      id="Narr_r2KB5q9e9kKmL9ScYuOs9Q"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.3202</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_FlG6nKVTo0KAB9DKt_5AEw"
      decimals="4"
      id="Narr_-WFNZgYJCE-A7Verzo-upw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.3202</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_DOY-AYh8JUi8k0idPnt4NQ"
      decimals="4"
      id="Narr_0HM0mv2E8Ui0ZfP-t5Wqpw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.3178</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_yQTe_lwLrkin8aDcC1uNwQ"
      decimals="2"
      id="Narr_ABVgJi9gLUGXnU9BFfrAIw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.33</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_FzwS043JFkCFXZkQylZQzw"
      decimals="2"
      id="Narr_LeNk-luT9EWU_UC_o1F7HQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.33</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_JLou2P7_vEqXT73wTfXT1A"
      decimals="2"
      id="Narr_iOO7yaoWhU6LWl7lU8y5Fg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.33</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingVietnamCo.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_VN_ocDHkN3-qEOTyq04go9m_g"
      decimals="2"
      id="Narr_px9B6jIh7EizjO76mEuuEA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.10</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingVietnamCo.LtdMember_us-gaap_IncomeTaxAuthorityAxis_country_VN_amsmSJQ6Wku4fhLRaqNHVA"
      decimals="2"
      id="Narr_-VM_iIKyjkmFxh5jPsdOmQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.05</csiq:ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_lbiTOXxyOkGyeO_8SAZsGg"
      decimals="2"
      id="Narr_-Xhjn9vOHk23JrrihA9Nlw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.20</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:NumberOfBoardOfInvestmentCertificatesTaxExemption
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_2WH8T4jvyU-OxlqYQ4oGYg"
      decimals="INF"
      id="Narr_5woT6-3tnEmYAUe6jeKuYA"
      unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA">2</csiq:NumberOfBoardOfInvestmentCertificatesTaxExemption>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2017_To_12_31_2017_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_FKfCSsb6TE6bU85fsoxSWA"
      decimals="3"
      id="Narr_OI_-ffsf3Eqp8_T3oMHKHw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.165</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2018_To_12_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_IBo9NIvbLUyT4Rv6iXMRMQ"
      decimals="3"
      id="Narr_mCgI4nSpW0CtfVrBJxHn9g"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.165</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_33JisG54LE2A47Bw5bTPyg"
      decimals="3"
      id="Narr_wVlPg_B2X0yNgi9vddDCrg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.165</csiq:IncomeTaxesForeignCorporateTaxRate>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_uxzT1pJR3EWXMflEmWH5Lg">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:28.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:6.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Combined federal and provincial income tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 27&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Effect of permanent difference&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (18)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (11)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Effect of different tax rate on earnings in other jurisdictions&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (7)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Effect of tax holiday&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (2)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (4)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Unrecognized tax provision&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Change in valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (6)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Effect of change in tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (5)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:6.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.91%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_h3sVYZiePE2A_vGGhiVYQg_3_2"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.27</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_uV9VBCojr0-ExF9h-kjdEg_3_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.27</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_qVEEx958Z0SivwRcaSpr5Q_3_6"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.27</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_LapoLrS6bUKkVcb3actwXA_4_2"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">-0.18</csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent>
    <csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_8JprP2hKrEyWzDKCQ8MfYg_4_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">-0.11</csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent>
    <csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_SlzW3wuYhEOUKo28g9M7Ug_4_6"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">-0.01</csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_P6K0wi-lU0qwupMMsDWGIQ_5_2"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">-0.07</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_FqXWPwT5nE6g3dFBHRDSvw_5_6"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.03</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_P-2SF2X9Bk6MInopSKKk0g_6_2"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.02</us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_kPucS1Em_Uit43-IO-rBOA_6_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_t-5PpHlDTES-XUA17qwNmw_6_6"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.04</us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_E0lYknjz0UmhX-Aa7hU6PA_7_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.04</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_MsL04lY-k0mZUajJBKrt6w_7_6"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">-0.03</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_hsxzv2QNO0Cl1c20goSuug_8_2"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">-0.06</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_4dvZXEFO30S7yjTnU9sV_g_8_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.07</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_Il8XfFt3VEa-qRKEyP0L6w_8_6"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">-0.03</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_P0jEO-3Tr0qqQZ7THKZGTQ_9_2"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.39</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_WZ_jAuQ_SUmV50y8rccVDQ_9_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">-0.03</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_L88OSadD50-y2wuxHenBDg_9_6"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">-0.01</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_FTe5zBkRLkuHteRHo-RhmQ_10_2"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">-0.05</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_vxmMRn7rdEilJ-Ycn8EB5g_10_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">-0.03</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_AiLl2K2O-UW-NLZ1wQcPWQ_10_6"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.02</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_RK8ZCTHaH0-q6lUvrdxtww_11_2"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.28</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_Np1Cp6Eh9k2lMGDbU0xr4w_11_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.20</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_PMomrcY2zkuHPDAS9NAuLQ_11_6"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.20</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:SummaryOfIncomeTaxHolidayTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_UP6xaQ1Z6EWtXSDCkq-beg">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;U.S.&#160;Dollars,&#160;except&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;per&#160;share&#160;data)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;The aggregate amount&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,850&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,089&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,956&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Per share &#x2014; basic&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.05&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.05&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.13&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Per share &#x2014; diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.05&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.05&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 0.13&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:SummaryOfIncomeTaxHolidayTextBlock>
    <us-gaap:IncomeTaxHolidayAggregateDollarAmount
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_v2jponcbB0GCQfLQEmIhEA_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2850000</us-gaap:IncomeTaxHolidayAggregateDollarAmount>
    <us-gaap:IncomeTaxHolidayAggregateDollarAmount
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_1PSrZU0yjEGkItuPsbMiaw_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3089000</us-gaap:IncomeTaxHolidayAggregateDollarAmount>
    <us-gaap:IncomeTaxHolidayAggregateDollarAmount
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc__d63IyufqEmXFYdsienzjQ_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7956000</us-gaap:IncomeTaxHolidayAggregateDollarAmount>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_zvZq47euz0iU9UkVDhwkVQ_7_2"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">0.05</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_6Hsv0PorakqIfZHNbxl_Jw_7_4"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">0.05</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_ckKnrLQ6v0Oq7vmxt-ZALw_7_6"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">0.13</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_Rg3OufnjNkyuHaGAp08uuQ_8_2"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">0.05</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_JCkZ-aV2MESWLKLufeGmuQ_8_4"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">0.05</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_XhXLACbg6kOXaV-TO5Crww_8_6"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">0.13</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_OH8IVBPdA0K18ncg_Cg8dg">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-size:2pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Deferred tax assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Accrued warranty costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,424&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,326&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Bad debt allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,324&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Inventory write-down&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,723&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,128&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Future deductible expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,973&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,731&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Depreciation and impairment difference of property, plant and equipment and solar power systems&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,647&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,380&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Accrued liabilities related to antidumping, countervailing and other duty costs and true-up charges&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,341&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 496&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Deferred tax assets relating to sales of solar power systems&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 481&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,927&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Net operating losses carry-forward&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 90,536&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 112,710&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Unrealized foreign exchange loss and capital loss&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,471&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,064&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Interest limitation&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,520&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,767&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,947&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 26,415&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Total deferred tax assets, gross&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 202,082&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 222,268&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (76,522)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (70,627)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Total deferred tax assets, net of valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 125,560&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 151,641&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;&lt;span style="margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Deferred tax liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Derivative assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,697&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 217&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Depreciation difference of property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,212&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,789&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Deferred profit of projects&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,108&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Insurance recoverable&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,838&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,771&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Unrealized foreign exchange gain&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,803&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,984&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,513&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,380&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Total deferred tax liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 40,171&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 54,141&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net deferred tax assets &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 85,389&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 97,500&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Analysis as:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Deferred tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 121,087&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 153,963&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Deferred tax liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (35,698)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (56,463)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:71.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net deferred tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 85,389&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 97,500&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_6c0Y45PEmUu6dyFM161VIA_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9424000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_LE1lfwrKDEuE6ee4EKWyxA_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">8326000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_ST3oZpEIaE64Q3sNF9DtmQ_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7019000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_aXjSzxcrNEq3Iit_0TWGWQ_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10324000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_UP4t8uktJ067-nU_0sDmag_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1723000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_VM3leorfxES7x0Psjkriqg_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1128000</us-gaap:DeferredTaxAssetsInventory>
    <csiq:DeferredTaxAssetsFutureDeductibleExpenses
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_oamIdfEhREe8GBQKG2NGQw_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">26973000</csiq:DeferredTaxAssetsFutureDeductibleExpenses>
    <csiq:DeferredTaxAssetsFutureDeductibleExpenses
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_PJMJRP38rk2It93OEeq13w_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20731000</csiq:DeferredTaxAssetsFutureDeductibleExpenses>
    <us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_elWcUi4uW0K0rTj0LfCSIA_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">19647000</us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_Xuw9Fl5zQ0-M7-JunhS0kQ_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">23380000</us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_7QD7DOHmZ06hE7VlfY8RGw_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9341000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_dC83BstmpU6So0Kmhq-MIg_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">496000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_KFni2Qsi-km49EgF-rc8nA_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">481000</csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets>
    <csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc__ODvN_T4D0aJvQEQhkyiHw_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">8927000</csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_1ehf4mALaUOkVZ_eNnpH7g_12_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">90536000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_dgzfdUDl-kq8-Bzu-YIzaA_12_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">112710000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_VG2_62oK_kiuSFwdm0GMxQ_13_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9471000</us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses>
    <us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_8e4Yu_bKR0aust6_5T4C9Q_13_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7064000</us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses>
    <csiq:DeferredTaxAssetsInterestLimitation
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_gKPglJ4YtUShJMqdltdFnA_14_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13520000</csiq:DeferredTaxAssetsInterestLimitation>
    <csiq:DeferredTaxAssetsInterestLimitation
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_YOKKXSJDrk6yczSSnMIfUA_14_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2767000</csiq:DeferredTaxAssetsInterestLimitation>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_Y0u1-3WCu0yyDUGiJYVsZg_15_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13947000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_zinVN3BJcUSCRNgoo-ml4A_15_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">26415000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_tzu9VTW3BECpRln-MIStJQ_16_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">202082000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_UjSOTP7j60WGXw6z7ENkhQ_16_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">222268000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_pWg5DtynFU-WrEorOcLBbg_17_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">76522000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_bx2eJ2pVOUO_Y89ze4LmAw_17_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">70627000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_thSU3ZkS6kKcqmpnckKgYg_18_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">125560000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_I4hN3JmacUqnF2ckASqJ1w_18_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">151641000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesDerivatives
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_afwHjLU1QkGqAavSYor_vA_21_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2697000</us-gaap:DeferredTaxLiabilitiesDerivatives>
    <us-gaap:DeferredTaxLiabilitiesDerivatives
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_15FMQpxgoEqTtOG_e_S4FQ_21_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">217000</us-gaap:DeferredTaxLiabilitiesDerivatives>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_YxIxNrc27EmWO-pktAW8BA_22_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1212000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_jFk_930X-kCRfo--lUvl3w_22_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18789000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <csiq:DeferredTaxLiabilitiesDeferredProfitOfProjects
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_2hYJfz_PF0OpXpU8bNZxMQ_23_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4108000</csiq:DeferredTaxLiabilitiesDeferredProfitOfProjects>
    <csiq:DeferredTaxLiabilitiesInsuranceRecoverable
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_nuhXymBKOUeqoCnypdrtXA_24_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">14838000</csiq:DeferredTaxLiabilitiesInsuranceRecoverable>
    <csiq:DeferredTaxLiabilitiesInsuranceRecoverable
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_qy0NJsO99EanS_1ZlOl-Dw_24_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15771000</csiq:DeferredTaxLiabilitiesInsuranceRecoverable>
    <us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_bfGPY5PbdEe3wU-fECSpyQ_25_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4803000</us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains>
    <us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc__Ut4_RGdtE6jqRFfhUr2yw_25_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10984000</us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_xBSpTdclDUeWjkc5yHKyjw_26_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12513000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_7Mc8lJIkU02wGQmErY04ng_26_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">8380000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_9aGtrXW6L0Wvz-QwiAcmOw_27_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">40171000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_L2LK5bkKcU-TlCTZKBuxBQ_27_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">54141000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_uo4Xxk0mvUy0ilSPLUwqLw_28_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">85389000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_HciXWX2GQEqZrtd81UMNjg_28_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">97500000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_rR6uLhJw-E6Fg3ezicnQBg_30_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">121087000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_0BUs8lUau0GA4x_e0yfbkw_30_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">153963000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_glFppDPVN0-DC7w9Sj3V0Q_31_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">35698000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_u5iTx7g-6kO4-tx_VQOyNg_31_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">56463000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_ED3ati5vWE-y0RNhsVOpjQ_32_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">85389000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_MIV-P7fa4UqmuLyrGNCzKg_32_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">97500000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <csiq:WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Narr_64pKddD3rEOOS-fQy9pC1Q"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.10</csiq:WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities>
    <us-gaap:UndistributedEarningsOfForeignSubsidiaries
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-5"
      id="Narr_9LA6QV45P0qSZi-9kpuqCg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">625900000</us-gaap:UndistributedEarningsOfForeignSubsidiaries>
    <us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries
      contextRef="As_Of_12_31_2019_srt_RangeAxis_srt_MinimumMember_6XxkbxM6IUeXCF1ofWfl1Q"
      decimals="-5"
      id="Narr_TLsdxK0w6EuNDzgbMM18bA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">31300000</us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries>
    <us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries
      contextRef="As_Of_12_31_2019_srt_RangeAxis_srt_MaximumMember_8UTduJvzpU2u0QlPhXukTw"
      decimals="-5"
      id="Narr_GuZ_Ztr_OE-pZpE2ddJXRQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">62600000</us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries>
    <csiq:WithholdingTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_qhGj9EM1EUy10PH3sclx3g"
      decimals="2"
      id="Narr_I031VJVPMUiPx8vP1H2F0w"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.05</csiq:WithholdingTaxRate>
    <csiq:WithholdingTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_DZYOKKqhF0210mfrrrZweA"
      decimals="2"
      id="Narr_Tf83I9TamkGV7wos_qIVXQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.10</csiq:WithholdingTaxRate>
    <csiq:PreferentialWithholdingTaxRate
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Narr_FLaSybZQb0OyXoAvE8CnBA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.05</csiq:PreferentialWithholdingTaxRate>
    <us-gaap:SummaryOfValuationAllowanceTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_urfxYXv7LUePHivWAXov9w">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Beginning balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,469&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 65,399&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 76,522&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Additions (Reversals)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (5,361)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,051&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (6,156)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (709)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 72&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 261&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Ending balance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 65,399&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 76,522&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 70,627&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:SummaryOfValuationAllowanceTextBlock>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2016_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_nQsty6uxZkSCvaBLSSYCpw"
      decimals="-3"
      id="Tc_yB4f_Bg2hEqBjL2_yFHMQQ_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">71469000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_dty3TSynPEScGsN4OdsgMw"
      decimals="-3"
      id="Tc_Iujz_77ymUeN33np9qzY_A_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">65399000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_01t4VpbMPEyF5f4KgeCrmw"
      decimals="-3"
      id="Tc_Ubx5yuFm2kmAB9FwwOTccg_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">76522000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_AD0kvI38HEen87RDQpr8SQ"
      decimals="-3"
      id="Tc_b2Iq0j7I5Uqig01smpbvCQ_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5361000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_R-5vW0zNl026TEdo-dZ23w"
      decimals="-3"
      id="Tc_uKm5izenWkm5S4Wmz_AskA_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11051000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_GhtInNTJ7Um_BcXw7gTx3A"
      decimals="-3"
      id="Tc_lf7WH7HXyUSp-1kZ2sDBKw_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-6156000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_AD0kvI38HEen87RDQpr8SQ"
      decimals="-3"
      id="Tc_SrLNWuY8mkiFvLgUhg5bGg_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-709000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_R-5vW0zNl026TEdo-dZ23w"
      decimals="-3"
      id="Tc_ed3SvNDNuUGtkPruVgFn-Q_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">72000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_GhtInNTJ7Um_BcXw7gTx3A"
      decimals="-3"
      id="Tc_lk-0Vk_IsEG2hX_AtXrrYQ_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">261000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2017_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_dty3TSynPEScGsN4OdsgMw"
      decimals="-3"
      id="Tc_uyIKpCBW-EW8fKl8zj-iDg_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">65399000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2018_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_01t4VpbMPEyF5f4KgeCrmw"
      decimals="-3"
      id="Tc_cyS96u1nBkqr-7ddp77pxQ_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">76522000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_Pqhcg3bXH0C9v6U84hAHiQ"
      decimals="-3"
      id="Tc_hH1fyTsRxE6pfD-MRqsZKw_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">70627000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:OperatingLossCarryforwards
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_p70lkUadf0ypeXzu14tUfw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">670541000</us-gaap:OperatingLossCarryforwards>
    <csiq:OperatingLossCarryforwardsSubjectToExpiration
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_omzoUhjvLU22iU1TsVkBbw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">186360000</csiq:OperatingLossCarryforwardsSubjectToExpiration>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Narr_QRKDfTLRY06VfmQjrJzJRg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4398000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_WkAOrTOp30-RcjpUBUWOhw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4795000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_jdlFsw64iEKFv9-TAuqREw">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Beginning balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,684&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,181&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,730&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Addition for tax positions related to the current year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,376&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,806&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Reductions for tax positions from prior years/Statute of limitations expirations&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,094)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (5,720)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Foreign exchange effect&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 215&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (257)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 536&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:66.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Ending balance&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,181&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,730&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,557&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2016_1CpwSxbtS0GMUYvki678nw"
      decimals="-3"
      id="Tc_8VLOVIp1PUarBCFkNZYbaQ_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5684000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2017_kjGpnzkm3E6qIMnIr7nQSg"
      decimals="-3"
      id="Tc_F8GlHvS76EerRr3ZquLt7g_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6181000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_Gzv5XbmX2ky1t_HKYEyfXg_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15730000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_WpF1dnWthU-q_TZVFnWrbA_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1376000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_rpvmleDsfUy8L4668QfpOA_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9806000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_DOESsy4bCUCCYkRpeU-Iag_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_uD8qCondoUSiwk_c2ftAWA_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1094000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_onvEaMlfcEChgl5wJ_NLrA_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5720000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_Rc7U-5ctMECl7BXmluFsLw_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">215000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_vITB9yKC8kC9O7Koslwi3A_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">257000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_lyVssNKUQEeIHR-Uba5Wvw_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">536000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2017_kjGpnzkm3E6qIMnIr7nQSg"
      decimals="-3"
      id="Tc_hB_X4bx9gUaeUrxFCnp38w_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6181000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_xXFVaoTe7UGo4x31OCr-pA_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15730000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_1wXMBUXr3EW5QFtDBdYpRw_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10557000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_oGamNcy_0kqSGrna5Z_9yA">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;19.&#160;EARNINGS PER SHARE&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table sets forth the computation of basic and diluted earnings per share for the years indicated:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:50.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:50.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars,&#160;except&#160;share&#160;and&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:50.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;per&#160;share&lt;/b&gt;&lt;b style="font-family:'Calibri';font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;data)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Numerator:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net income attributable to Canadian Solar Inc. &#x2014; basic&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 99,572&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 237,070&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 171,585&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Dilutive effect of interest expense of convertible notes&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,649&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,683&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 975&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net income attributable to Canadian Solar Inc. &#x2014; diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 104,221&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 241,753&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 172,560&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Denominator:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Denominator for basic calculation &#x2014; weighted average number of common shares &#x2014; basic&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 58,167,004&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 58,914,540&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 59,633,855&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Diluted effects of share number from share options and RSUs&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 547,821&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 543,797&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 794,526&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Dilutive effects of share number from convertible notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,833,333&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,833,333&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 349,315&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Denominator for diluted calculation &#x2014; weighted average number of common shares &#x2014; diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 61,548,158&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 62,291,670&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 60,777,696&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Basic earnings per share&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1.71&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.02&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2.88&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Diluted earnings per share&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1.69&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.88&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2.83&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table sets forth anti-dilutive shares excluded from the computation of diluted earnings per share for the years indicated.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:63.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:63.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:63.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:63.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Share options and RSUs&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 372,743&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 276,618&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 41,950&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_gg4vEusDNUacEwIleBPdiw">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:50.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:50.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars,&#160;except&#160;share&#160;and&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:50.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;per&#160;share&lt;/b&gt;&lt;b style="font-family:'Calibri';font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;data)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Numerator:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net income attributable to Canadian Solar Inc. &#x2014; basic&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 99,572&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 237,070&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 171,585&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Dilutive effect of interest expense of convertible notes&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,649&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,683&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 975&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net income attributable to Canadian Solar Inc. &#x2014; diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 104,221&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 241,753&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 172,560&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Denominator:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Denominator for basic calculation &#x2014; weighted average number of common shares &#x2014; basic&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 58,167,004&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 58,914,540&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 59,633,855&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Diluted effects of share number from share options and RSUs&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 547,821&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 543,797&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 794,526&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Dilutive effects of share number from convertible notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,833,333&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,833,333&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 349,315&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Denominator for diluted calculation &#x2014; weighted average number of common shares &#x2014; diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 61,548,158&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 62,291,670&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 60,777,696&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Basic earnings per share&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1.71&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.02&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2.88&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Diluted earnings per share&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1.69&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.88&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2.83&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc__8-WY9DIpUGC3LYAHZxZ1Q_6_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">99572000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_rL2_mymcukmqC1U-02aenw_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">237070000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_w1kRj5DnN06C4JlacN89-g_6_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">171585000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_OZWZSgp4vE6wTCNNrpKJUg_7_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4649000</us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther>
    <us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_IHKZG9CvP0WlLcQAV1PMxQ_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4683000</us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther>
    <us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_nE1IbFdcUE-BGtQdHQk1Lw_7_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">975000</us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther>
    <us-gaap:NetIncomeLossAttributableToParentDiluted
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_mNYQBt-Kq0mJC4rFE9wV1Q_8_3"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">104221000</us-gaap:NetIncomeLossAttributableToParentDiluted>
    <us-gaap:NetIncomeLossAttributableToParentDiluted
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_mK1XAQh450av4_REpQl0rA_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">241753000</us-gaap:NetIncomeLossAttributableToParentDiluted>
    <us-gaap:NetIncomeLossAttributableToParentDiluted
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_z0MNerDPHUucnCzvSN89Xg_8_9"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">172560000</us-gaap:NetIncomeLossAttributableToParentDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="0"
      id="Tc_fa9PqI8XqkyK8Bmyx23CDw_10_3"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">58167004</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="0"
      id="Tc_XvtIyLnJgEKwVY607yxKnA_10_6"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">58914540</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="0"
      id="Tc_IJ9OfbfdCEGh1pSP13S85g_10_9"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">59633855</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="0"
      id="Tc_ARzQCHh_UkiQUYMyI-L8vQ_11_3"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">547821</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="0"
      id="Tc_akidnMB71EuQvdAr7VyA-g_11_6"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">543797</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="0"
      id="Tc_v6c9dhzC70qufHJeGMocOw_11_9"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">794526</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="0"
      id="Tc_m-QX_jPF8UyGAOJTfD-iUA_12_3"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">2833333</us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="0"
      id="Tc_QYJF-tt84k-O7Fbg2shiKA_12_6"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">2833333</us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="0"
      id="Tc_yeu92wUlfE-DTAVR70lalA_12_9"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">349315</us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="0"
      id="Tc_Ar2ldiaTMEiUsh8jcH36XA_13_3"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">61548158</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="0"
      id="Tc_qhQkrvyJykW8fApoQAVqYw_13_6"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">62291670</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="0"
      id="Tc_8KFUU-TOE0mZZYb7dx1nIg_13_9"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">60777696</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_Ery28NVRhEOmxyfvmMFNTg_14_3"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">1.71</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_LHz4vTYdwkGWOSN9_7VrPg_14_6"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">4.02</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_Dak06FabMEuy3Kp13odnHw_14_9"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">2.88</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="2"
      id="Tc_-BR4NsfQ1USh16f_AdFwww_15_3"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">1.69</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="2"
      id="Tc_EWueT75ybEm6LcLBOBI_IQ_15_6"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">3.88</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Tc_SVQlDt7QqEupYAJ1bUmeIg_15_9"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">2.83</us-gaap:EarningsPerShareDiluted>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_LqBzoMgM1Eygu3bSrWCFdw">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:63.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:63.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:63.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:63.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Share options and RSUs&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 372,743&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 276,618&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 41,950&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_Dm1sRkFcckWN-haCIZvhOg"
      decimals="INF"
      id="Tc_GyI7bEF1zEWflbpw6LiO6g_3_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">372743</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_gnWVC8J_SUiN4JbVseCmFQ"
      decimals="INF"
      id="Tc_vH0HO-gMSkymadvfSSRVTw_3_4"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">276618</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_DRBcGFZYukGT2d2xWSVHNg"
      decimals="INF"
      id="Tc_qI78pV8FJE6cWII_BL-Jcw_3_6"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">41950</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_NJcdYcZff0y0xPIBhXNARQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;20.&#160;RELATED PARTY BALANCES AND TRANSACTIONS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Related party balances&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The amount due from related parties of $31,232 as of December 31, 2019 consists of (i) trade receivable of $13,930 for development services provided to Roserock, the Company's 49% owned affiliate, (ii) cash funding of $16 to Pilipinas Newton Energy Corp, the Company's 40% owned affiliate, (iii) $17,284 receivable for solar power products sold to ET Solutions South Africa 1 Pty , the Company&#x2019;s 49% owned affiliate. (iv) $2 receivable for asset management service provided to Canadian Solar Infrastructure Fund, Inc., the Company's 14.66% owned affiliate. No amount was due as of December 31, 2019.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The amount due to related parties of $10,077 as of December 31, 2019 consists of (i) a trade payable of $7,884 due to Suzhou iSilver Materials Co., Ltd., the Company&#x2019;s 15% owned affiliate, for raw materials purchased, (ii) payable for equipment purchase of $2,138 to Suzhou Kzone Equipment Technology Co., Ltd, the Company's 32% owned affiliate obtained in September 2017, and (iii) payable of $55 for material purchased from Luoyang Jiwa New Material Technology Co., Ltd., the Company's 25% owned affiliate.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Related party transactions&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;"&gt;Guarantees and loans&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Dr.&#160;Shawn Qu, fully guaranteed one-year loan facilities from Chinese commercial banks of RMB1,346 million ($206 million), RMB1,270 million ($185 million) and RMB1,420 million ($204 million) in 2017, 2018 and 2019, respectively. Amounts drawn down under the facilities as at December 31, 2017, 2018 and 2019 were $135,225, $155,956 and $82,937 respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company granted 77,289, 83,805 and 26,691 restricted share units to Dr. Shawn Qu in 2017, 2018 and 2019, respectively, on account of his having guaranteed these loan facilities.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;"&gt;Sales and purchase contracts with affiliates&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2019, the Company sold three solar power projects to CSIF, the Company&#x2019;s 14.66% owned affiliate in Japan, in the amount of JPY 5,889,000 ($53,874) recorded in revenue.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2018, the Company sold 5 solar power projects to CSIF, the Company's 14.66% owned affiliate in Japan, in the amount of JPY12,276,404 ($109,597) recorded in revenue, and JPY89,238 ($836) recorded in other operating income, respectively. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2017, The Company sold 13 solar power projects to CSIF, the Company&#x2019;s 14.66% owned affiliate in Japan, in the amount of JPY18,426,754 ($163,155) recorded in revenue and JPY3,148,648 ($27,879) recorded in other operating income, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2017, 2018 and 2019, the Company provided asset management service to CSIF in the amount of JPY303,772 ($2,699), JPY247,341($2,210) and JPY 281,094 ($2,573), respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2017, 2018 and 2019, the Company provided O&amp;amp;M service to CSIF in the amount of JPY32,119 ($285), JPY122,529 ($1,105) and JPY 223,598 ($2,052), respectively. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;20.&#160;RELATED PARTY BALANCES AND TRANSACTIONS (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2018 and 2019, the Company sold solar power products to ET Solutions South Africa 1 Pty, the Company's 49% owned affiliate in South Africa in the amount of RMB45,407 ($6,859) and ZAR586,832 ($40,970), respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2017, the Company sold solar power products to Gaochuangte in the amount of RMB11,352 ($1,648), before Gaochuangte became the Company&#x2019;s 80% owned subsidiary. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2017, 2018 and 2019, the Company purchased raw materials from Suzhou iSilver Materials Co., Ltd , the Company&#x2019;s 14.63% owned affiliate in China, in the amount of RMB331,958 ($49,113), RMB512,154 ($74,490) and RMB 350,590 ($50,359), respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In 2018 and 2019, the Company purchased equipment from Suzhou Kzone Equipment Technology Co., Ltd, the Company&#x2019;s 32% owned affiliate in China, in the amount of RMB41,635 ($6,056) and RMB 61,174 ($8,787), respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In 2017, the Company incurred costs of RMB44,271 ($6,430), to Gaochuangte for EPC services related to the Company's solar power projects, respectively. These amounts were recorded in project assets.&lt;/p&gt;</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:DueFromRelatedPartiesCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_PHJq2h-v1UOmS1T1L-ou4g"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">31232000</us-gaap:DueFromRelatedPartiesCurrent>
    <us-gaap:AccountsReceivableRelatedParties
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_HPthWxw2UkGL2pQcLaTq3Q"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13930000</us-gaap:AccountsReceivableRelatedParties>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_RoserockMember_-2jDVprwr0iK8v6ezxDy4A"
      decimals="2"
      id="Narr_zn05dD_9z0GBhqFlwDLAZg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <csiq:CashReceivableRelatedPartiesCurrent
      contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_PilipinasNewtonEnergyCorpMember_9uZbiYQqokO_KP20g5Uu8g"
      decimals="-3"
      id="Narr_I_pbTG-8oUORKry_pFvw5A"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">16000</csiq:CashReceivableRelatedPartiesCurrent>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_PilipinasNewtonEnergyCorpMember_9uZbiYQqokO_KP20g5Uu8g"
      decimals="2"
      id="Narr_0hlaJa-rO0idEo9wvFdNww"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.40</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:AccountsReceivableRelatedPartiesCurrent
      contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_44Ly57_16k-M3XJD-N5g6g"
      decimals="-3"
      id="Narr_tpzbdD4grkml-z16bwgCpA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">17284000</us-gaap:AccountsReceivableRelatedPartiesCurrent>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_44Ly57_16k-M3XJD-N5g6g"
      decimals="4"
      id="Narr_5OdfYrO3CUuL9weoFRjuqA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:AccountsPayableRelatedPartiesCurrentAndNoncurrent
      contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_Lni6b2wqT06gMYUtRCWx2g"
      decimals="-3"
      id="Narr_xQWcQj5fW0ex1WUxifPnqw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2000</us-gaap:AccountsPayableRelatedPartiesCurrentAndNoncurrent>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_BWweho0NDkOlYHOcv1sAMg"
      decimals="4"
      id="Narr_wQwNZgHLSkSsNaWH4B08pA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.1466</csiq:PurchaseOfUnitsPercentage>
    <us-gaap:DueFromRelatedPartiesCurrent
      contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_44Ly57_16k-M3XJD-N5g6g"
      decimals="-3"
      id="Narr_muSOInIM2E-rQfJGU6OBCg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">0</us-gaap:DueFromRelatedPartiesCurrent>
    <us-gaap:DueToRelatedPartiesCurrent
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Narr_cXkNqm6LSkSPcU_oDb-Pug"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10077000</us-gaap:DueToRelatedPartiesCurrent>
    <us-gaap:AccountsPayableRelatedPartiesCurrentAndNoncurrent
      contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_E6ssvlT7VkOhCRIaTYAbig"
      decimals="-3"
      id="Narr_e6j8xrxeMUS-iGcM8RgGCA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">7884000</us-gaap:AccountsPayableRelatedPartiesCurrentAndNoncurrent>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_E6ssvlT7VkOhCRIaTYAbig"
      decimals="INF"
      id="Narr_JIq4tceyOk23r5ri34mBRw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.15</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <csiq:EquipmentPurchasesPayableRelatedPartiesCurrent
      contextRef="As_Of_9_30_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_Q4EaU_PYTka40-LTJPjabA"
      decimals="-3"
      id="Narr_6WG71r19IkSwl4xwyE4DIA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2138000</csiq:EquipmentPurchasesPayableRelatedPartiesCurrent>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_9_30_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_Q4EaU_PYTka40-LTJPjabA"
      decimals="INF"
      id="Narr_bwitG7jQj0qTmx82TZjejQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.32</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:AccountsPayableRelatedPartiesCurrentAndNoncurrent
      contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_0P8m4wNqDECg7ffpy3bOHQ"
      decimals="-3"
      id="Narr_lW8-xe8-aESwNu9Zago1sQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">55000</us-gaap:AccountsPayableRelatedPartiesCurrentAndNoncurrent>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_0P8m4wNqDECg7ffpy3bOHQ"
      decimals="2"
      id="Narr_aMXjCbOYokGg9-vMOVoiwg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.25</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <csiq:LineOfCreditFacilityMaturityTerm
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_l8u3wbph_0ijd7oXI9NDBw"
      id="Narr_50kY2hetGkC3seanA539vg">P1Y</csiq:LineOfCreditFacilityMaturityTerm>
    <csiq:LineOfCreditFacilityMaturityTerm
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_ywnHsvMKSEqlHMEsWAIgEw"
      id="Narr_Rbty8GZ_GUyfytkgdYmTxA">P1Y</csiq:LineOfCreditFacilityMaturityTerm>
    <csiq:LineOfCreditFacilityMaturityTerm
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_KC4M_b3zxkOYv5EBBchF7A"
      id="Narr_b4vMEEh7eEusjKj1BY36IQ">P1Y</csiq:LineOfCreditFacilityMaturityTerm>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2017_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_tBlYd5-kWE6aGSNgv3Kk6g"
      decimals="-6"
      id="Narr_zJEVBkbhCkeI72ZH3Bd_ow"
      unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg">1346000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2017_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_tBlYd5-kWE6aGSNgv3Kk6g"
      decimals="-6"
      id="Narr_6zNtLIrscUucS8ovXdbhSA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">206000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2018_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_9lQ3SiVbI0Cz34qntYVUvQ"
      decimals="-6"
      id="Narr_dqV3eRoxGUy8PSh0uhUXew"
      unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg">1270000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2018_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_9lQ3SiVbI0Cz34qntYVUvQ"
      decimals="-6"
      id="Narr_fYiBy1vwokGACnDCmU_Xlg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">185000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2019_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_-9Ev49XOv0WHBKgFbU2Fvg"
      decimals="-6"
      id="Narr_Irud3ucCoEiOymsHq16eag"
      unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg">1420000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2019_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_-9Ev49XOv0WHBKgFbU2Fvg"
      decimals="-6"
      id="Narr_7W0WzssOx0qmsdJDhA1pqQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">204000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2017_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_tBlYd5-kWE6aGSNgv3Kk6g"
      decimals="-3"
      id="Narr_T4C_-RsTNEaIdN95OQ-5cA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">135225000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2018_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_9lQ3SiVbI0Cz34qntYVUvQ"
      decimals="-3"
      id="Narr_R_k5jUyvtUCa-TbYiFpF-w"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">155956000</us-gaap:LineOfCredit>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2019_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_-9Ev49XOv0WHBKgFbU2Fvg"
      decimals="-3"
      id="Narr_KbOGr5XBZECJYbE_szGCaA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">82937000</us-gaap:LineOfCredit>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_aUDIOkC4N0moMgxXHdfJgA"
      decimals="INF"
      id="Narr_TCPF8OGUeUeDJzYBqBusMQ"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">77289</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_G4WXjlCzGk6tv1QgilDbNw"
      decimals="INF"
      id="Narr_oGeS4gb1fk2zRCxveWbSow"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">83805</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_ChiefExecutiveOfficerMember_xlsgy5UOXUyi5N5UhUX8yQ"
      decimals="INF"
      id="Narr_NQrjTWCSk02NG7qJ9xFlJA"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">26691</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_BWweho0NDkOlYHOcv1sAMg"
      decimals="INF"
      id="Narr_5yazCXIRMU28-hB8e9sPkg"
      unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA">3</csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_BWweho0NDkOlYHOcv1sAMg"
      decimals="4"
      id="Narr_yTYm4qDxUE-Qg_QFXdG3gQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.1466</csiq:PurchaseOfUnitsPercentage>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_PhlHwWuAX0mtNlaTGNFZig"
      decimals="-3"
      id="Narr_c7pS_E-nxECzsLejtw25Xw"
      unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">5889000000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_PhlHwWuAX0mtNlaTGNFZig"
      decimals="-3"
      id="Narr_2bn12LcvzkGWnd_kX8obzQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">53874000</us-gaap:RevenueFromRelatedParties>
    <csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_6D1G2qS6fUataJZveTuqLQ"
      decimals="INF"
      id="Narr_BEIRzVUVFUmqWDSv4odMgQ"
      unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA">5</csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_6D1G2qS6fUataJZveTuqLQ"
      decimals="4"
      id="Narr_WNxhVdnwkkSE5NG_3f0-FA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.1466</csiq:PurchaseOfUnitsPercentage>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_jAyeLQNSY0C2kNsKS1WhGg"
      decimals="-3"
      id="Narr_bNjaz35oDEuh40Ec5_TSYw"
      unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">12276404000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_jAyeLQNSY0C2kNsKS1WhGg"
      decimals="-3"
      id="Narr_95EHJvmHhkuNKa4_Ws36Yg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">109597000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherOperatingIncomeExpenseMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_e3dAShJSgE-g6Y5ni5CseQ"
      decimals="-3"
      id="Narr_PD9nzPRncEeI7X-6V1rKwA"
      unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">89238000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherOperatingIncomeExpenseMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_e3dAShJSgE-g6Y5ni5CseQ"
      decimals="-3"
      id="Narr_a7ksRDSXZk2R0oQcRPmqOQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">836000</us-gaap:RevenueFromRelatedParties>
    <csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_PrY-GkgnS0qsqjcKYAbnjw"
      decimals="INF"
      id="Narr_5-jTQqQn1UOqbunc8RbSfg"
      unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA">13</csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_PrY-GkgnS0qsqjcKYAbnjw"
      decimals="4"
      id="Narr_Qo4ExmM0Rk-VROMVVhx3gQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.1466</csiq:PurchaseOfUnitsPercentage>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_-8VH67s7GEy6t8o9U9Yt-Q"
      decimals="-3"
      id="Narr_gx_GKjQTw02ljcNZbAKyoQ"
      unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">18426754000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_-8VH67s7GEy6t8o9U9Yt-Q"
      decimals="-3"
      id="Narr_qFPADR7qX0KNoS7KMtWvVQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">163155000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherOperatingIncomeExpenseMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_ZpC7KIfDM0-GFkQyK6irCA"
      decimals="-3"
      id="Narr_GhrZCo0wzU2EQ7RH0F3DSw"
      unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">3148648000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherOperatingIncomeExpenseMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_ZpC7KIfDM0-GFkQyK6irCA"
      decimals="-3"
      id="Narr_701x75sd8kWG5RDLuyVX3Q"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">27879000</us-gaap:RevenueFromRelatedParties>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_TaJkuRfZaUytX-J6LuxPiQ"
      decimals="-3"
      id="Narr_Hf--dOaeI0KvDyQjrukQew"
      unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">303772000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_TaJkuRfZaUytX-J6LuxPiQ"
      decimals="-3"
      id="Narr_5Ib7ubqKyECQ5UEZp0edZQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2699000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_MPZ-85CJ6k2EIGMH-f8y0g"
      decimals="-3"
      id="Narr_f8OSrR-auEK5wlK7SJKl6g"
      unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">247341000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_MPZ-85CJ6k2EIGMH-f8y0g"
      decimals="-3"
      id="Narr_ikOrTGXZt0a78cobaL1tRg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2210000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_vGGbm6VVYkWnxmvj9a2U4Q"
      decimals="-3"
      id="Narr_xgxoqWtY8US5tC9homlpKA"
      unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">281094000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_vGGbm6VVYkWnxmvj9a2U4Q"
      decimals="-3"
      id="Narr_-II3XQ4-MUGgwvKJlmTtag"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2573000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_vrbq1Y7fzkmRdeZimHMJTg"
      decimals="-3"
      id="Narr_4lh9N0ioBE6VZ40ablOAIA"
      unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">32119000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_vrbq1Y7fzkmRdeZimHMJTg"
      decimals="-3"
      id="Narr_0y_aMulCLkOtfPELpHhKgQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">285000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_xmseSrs_m0mdgFiMJnbO5Q"
      decimals="-3"
      id="Narr_95IFKNNxDU6FoDtJuBcFZA"
      unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">122529000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_xmseSrs_m0mdgFiMJnbO5Q"
      decimals="-3"
      id="Narr_jfKeWhl4bk6ZKu2oLl3iIQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1105000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_6TQ2EhR2lU6r_r2PFKt9wg"
      decimals="-3"
      id="Narr_yiw_aaaogEaXnNLHBmOYcA"
      unitRef="Unit_Standard_JPY_pr9PsKx7c0ilrFUXkgeGAQ">223598000</csiq:ServiceRevenueFromRelatedParty>
    <csiq:ServiceRevenueFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_CanadianSolarInfrastructureFundIncMember_6TQ2EhR2lU6r_r2PFKt9wg"
      decimals="-3"
      id="Narr_6ttxBgYNyUqCwASe5aD9Iw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2052000</csiq:ServiceRevenueFromRelatedParty>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_NKajxU16PkyTwnPqN1t2JQ"
      decimals="2"
      id="Narr_23JLoah4Wk6ePgwCFDRr4A"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.49</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_pkg0CfgLNkSl5jAIKMjFLg"
      decimals="2"
      id="Narr_hu_PfnXXkk6xrPMWnLKPIQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.49</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_NKajxU16PkyTwnPqN1t2JQ"
      decimals="-3"
      id="Narr_TdEQeptFfkygHLf8mkENZA"
      unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg">45407000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_NKajxU16PkyTwnPqN1t2JQ"
      decimals="-3"
      id="Narr_AYrWzd99pUy_uWZhYzOgSw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6859000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_pkg0CfgLNkSl5jAIKMjFLg"
      decimals="-3"
      id="Narr_IUFUYw9hCEuG-Ct_5j_Oww"
      unitRef="Unit_Standard_ZAR_CO6Y-961Uk2OBFlKKQofBQ">586832000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_EtSolutionsSouthAfricaOnePtyMember_pkg0CfgLNkSl5jAIKMjFLg"
      decimals="-3"
      id="Narr_dKcauAZ7skmOl3es45b70w"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">40970000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouGaochuangteNewEnergyCoLtdMember_zcXd8MaTkU-yNYAvv5T2AA"
      decimals="-3"
      id="Narr_r0j9hNLcmke15kbQo_UuOw"
      unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg">11352000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:RevenueFromRelatedParties
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouGaochuangteNewEnergyCoLtdMember_zcXd8MaTkU-yNYAvv5T2AA"
      decimals="-3"
      id="Narr_BVXIVgQcHU6kTOYgLUiEfQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1648000</us-gaap:RevenueFromRelatedParties>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouGaochuangteNewEnergyCoLtdMember_zcXd8MaTkU-yNYAvv5T2AA"
      decimals="2"
      id="Narr_T9MWvGwX2kGpiH4XU_TM7w"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.80</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_hAsqnodrN0qwpZ_IQTzNdQ"
      decimals="4"
      id="Narr_AF8nbwv-K0aXKSMJxah_8A"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.1463</csiq:PurchaseOfUnitsPercentage>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_XRJuOQBJ7Eqq3I_8rcfl3g"
      decimals="4"
      id="Narr_lG1Qbkgw-UG8Vz_iNpuKLw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.1463</csiq:PurchaseOfUnitsPercentage>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_HPonw54HF0Khe7itrDgQcQ"
      decimals="4"
      id="Narr_J472YvYqw06SVmzNAAUySg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.1463</csiq:PurchaseOfUnitsPercentage>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_hAsqnodrN0qwpZ_IQTzNdQ"
      decimals="-3"
      id="Narr_lGXo5LCd0k6Y5eESaHniPw"
      unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg">331958000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_hAsqnodrN0qwpZ_IQTzNdQ"
      decimals="-3"
      id="Narr_4Ry6l8F3rECNY_QwmDTlOA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">49113000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_XRJuOQBJ7Eqq3I_8rcfl3g"
      decimals="-3"
      id="Narr_JGBvdK-XKkmGUcu3wkCvHw"
      unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg">512154000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_XRJuOQBJ7Eqq3I_8rcfl3g"
      decimals="-3"
      id="Narr_8L_HP1dIs0OhSmdjPuavhQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">74490000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_HPonw54HF0Khe7itrDgQcQ"
      decimals="-3"
      id="Narr__NheAOzKk0-HCEQKCJrU_A"
      unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg">350590000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouIsilverMaterialsMember_HPonw54HF0Khe7itrDgQcQ"
      decimals="-3"
      id="Narr_N3EsV3jCqk-tMgceyKx4GQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">50359000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_VSgMjSpuCkGi0L_sLbP1xw"
      decimals="4"
      id="Narr_qEk51ZJ-ZE6DYRP6f6hhbg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.32</csiq:PurchaseOfUnitsPercentage>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_J0f4Gn18IkyrpRsz_fqugg"
      decimals="4"
      id="Narr_YgQ2J_GxAk66u50mWl5dlQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.32</csiq:PurchaseOfUnitsPercentage>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_VSgMjSpuCkGi0L_sLbP1xw"
      decimals="-3"
      id="Narr_RVc1eCjGTUWA0Z-e2EJWhw"
      unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg">41635000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_VSgMjSpuCkGi0L_sLbP1xw"
      decimals="-3"
      id="Narr_kguDBwefIkqXOqdxwSd3Ww"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6056000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_J0f4Gn18IkyrpRsz_fqugg"
      decimals="-3"
      id="Narr_i7m8s26_kUGSD_VSMLwt8w"
      unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg">61174000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouKzoneEquipmentTechnologyMember_J0f4Gn18IkyrpRsz_fqugg"
      decimals="-3"
      id="Narr_MHDKLyDtzUG3tzlzFkW4SQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">8787000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:CostsAndExpensesRelatedParty
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouGaochuangteNewEnergyCoLtdMember_zcXd8MaTkU-yNYAvv5T2AA"
      decimals="-3"
      id="Narr_MJMKipP5fE6RNCxZUH2AMQ"
      unitRef="Unit_Standard_CNY_9yY7oIW6jUKfAT9_kEavjg">44271000</us-gaap:CostsAndExpensesRelatedParty>
    <us-gaap:CostsAndExpensesRelatedParty
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_csiq_SuzhouGaochuangteNewEnergyCoLtdMember_zcXd8MaTkU-yNYAvv5T2AA"
      decimals="-3"
      id="Narr_kN47dvFDmkCRCnVILt62rg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6430000</us-gaap:CostsAndExpensesRelatedParty>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_peSAcJhLB06aK8aUteENFQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21.&#160;COMMITMENTS AND CONTINGENCIES&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;a)&#160;&#160;&#160;&#160;Capital commitments&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;As of December 31, 2019, the commitments for the purchase of property, plant and equipment were approximately $12 million, and the payment schedule for the commitments is as follow:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:86.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ending December&#160;31:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2020&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;b)&#160;&#160;&#160;&#160;Solar power system commitments&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;As of December 31, 2019, the commitments of the service to be purchased for solar power system were approximately $0.8 million, and the payment schedule for the commitments is as follow:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ending December 31:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;2020&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 600&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 200&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 800&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;c)&#160;&#160;&#160;&#160;Contingencies&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Class Action Lawsuits&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Following the two subpoenas from the SEC in 2010, six class action lawsuits were filed in the U.S. District Court for the Southern District of New&#160;York, or the New&#160;York cases, and another class action lawsuit was filed in the U.S. District Court for the Northern District of California, or the California case. The New&#160;York cases were consolidated into a single action in December&#160;2010. On January&#160;5, 2011, the California case was dismissed by the plaintiff, who became a member of the lead plaintiff group in the New&#160;York action. On March&#160;11, 2011, a Consolidated Complaint was filed with respect to the New&#160;York action. The Consolidated Complaint alleges generally that the Company&#x2019;s financial disclosures during 2009 and early 2010 were false or misleading; asserts claims under Sections&#160;10(b) and&#160;20(a) of the Exchange Act and Rule&#160;10b-5 thereunder; and names the Company, its chief executive officer and its former chief financial officer as defendants. The Company filed its motion to dismiss in May&#160;2011, which was taken under submission by the Court in July&#160;2011. On March&#160;30, 2012, the Court dismissed the Consolidated Complaint with leave to amend, and the plaintiffs filed an Amended Consolidated Complaint against the same defendants on April&#160;19, 2012. On March&#160;29, 2013, the Court dismissed with prejudice a class action lawsuit filed against the Company and certain named defendants alleging that the Company&#x2019;s financial disclosures during 2009 and early 2010 were false or misleading and in violation of federal securities law. The court found that the plaintiffs failed to adequately allege a securities law violation and granted the Company&#x2019;s motion to dismiss all claims against all defendants with prejudice. On December&#160;20, 2013, the United&#160;States Court of Appeals for the Second Circuit affirmed the district court&#x2019;s order dismissing such class action&#160;lawsuit.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In addition, a similar class action lawsuit was filed against the Company and certain of its executive officers in the Ontario Superior Court of Justice on August&#160;10, 2010. The lawsuit alleges generally that the Company&#x2019;s financial disclosures during 2009 and 2010 were false or misleading and brings claims under the shareholders&#x2019; relief provisions of the CBCA, Part&#160;XX III.1 of the Ontario Securities Act as well as claims based on negligent misrepresentation. In December&#160;2010, the Company filed a motion to dismiss the Ontario action on the basis that the Ontario Court has no jurisdiction over the claims and potential claims advanced by the plaintiff. The court dismissed the Company&#x2019;s motion on August&#160;29, 2011. On March&#160;30, 2012, the Ontario Court of Appeal denied the Company&#x2019;s appeal with regard to its jurisdictional motion. On November&#160;29, 2012, the Supreme Court of Canada denied the Company&#x2019;s application for leave to appeal the order of the Ontario Court of Appeal. The plaintiff&#x2019;s motions for class certification and leave to assert the statutory cause of action under the Ontario Securities Act were served in January&#160;2013 and initially scheduled for argument in the Ontario Superior Court of Justice in June&#160;2013.However, the plaintiff&#x2019;s motions were adjourned in view of the plaintiff&#x2019;s decision to seek an order compelling the Company to file additional evidence on the motions. On July&#160;29, 2013 the Court dismissed the plaintiff&#x2019;s motion to compel evidence. On September&#160;24, 2013 the plaintiff&#x2019;s application for leave to appeal from the July&#160;29 order was dismissed. In September 2014, the plaintiff obtained an order granting him leave to assert the statutory cause of action under the Ontario Securities Act for certain of his misrepresentation claims. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;In January 2015, the plaintiff in the class action lawsuit filed against the Company and certain of its executive officers in the Ontario Superior Court of Justice obtained an order for class certification in respect of certain claims for which he had obtained leave in September 2014 to assert the statutory cause of action for misrepresentation under the Ontario Securities Act, for certain negligent misrepresentation claims and for oppression remedy claims advanced under the CBCA. The Court dismissed the Company&#x2019;s application for leave to appeal and the class action is at the merits stage. The common issues trial is scheduled for November 2020. The Company believes the Ontario action is without merit and the Company is defending it vigorously.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Solar 1&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In October 2011, a trade action was filed with the U.S. Department of Commerce, or USDOC, and the U.S. International Trade Commission, or USITC, by the U.S. unit of SolarWorld AG and six other U.S. firms, accusing Chinese producers of crystalline silicon photovoltaic cells, or CSPV cells, whether or not incorporated into modules, of selling their products (i.e., CSPV cells or modules incorporating these cells) into the United States at less than fair value, or dumping, and of receiving countervailable subsidies from the Chinese authorities. These firms asked the U.S. government to impose antidumping and countervailing duties on Chinese-origin CSPV cells. The Company was identified as one of a number of Chinese exporting producers of the subject goods to the U.S. market. The Company also has affiliated U.S. operations that import the subject goods from China.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;From October 2012 to July 2018, the USDOC issued final affirmative determinations with respect to its antidumping and countervailing duty investigations on crystalline silicon photovoltaic, or CSPV, cells, whether or not incorporated into modules, from China, and the first to fifth administrative review results. The results of sixth and seventh administrative reviews are expected to conclude in mid-2020.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Between 2017 and 2019, the USDOC and USITC conducted &lt;span style="-sec-ix-hidden:Hidden_LgyjbK5sEUOtkHh3zIcJRg"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;five&lt;/span&gt;&lt;/span&gt;-year sunset reviews and determined to continue the Solar 1 antidumping and countervailing duty orders. In March 2018, the USDOC published the results of its expedited first sunset reviews and concluded that revocation of the Solar 1 orders would likely lead to a continuation or recurrence of dumping and a countervailable subsidy. The Company did not participate in USDOC&#x2019;s first sunset review. The Company did, however, participate in the USITC&#x2019;s first sunset review and requested that the Solar 1 duties be revoked. The USITC issued an affirmative determination in March 2019 declining to revoke the Solar 1 orders and finding that such revocation would be likely to lead to a continuation or recurrence of material injury to the U.S. industry within a reasonably foreseeable time. As a result, the Solar 1 orders remain in effect.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Solar 2&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On December 31, 2013, SolarWorld Industries America, Inc. filed a new trade action with the USDOC and the USITC accusing Chinese producers of certain CSPV modules of dumping their products into the U.S. and of receiving countervailable subsidies from the Chinese authorities. This trade action also alleged that Taiwanese producers of certain CSPV cells and modules dumped their products into the U.S.. Excluded from these new actions were those Chinese-origin solar products covered by the Solar 1 orders described above. The Company was identified as one of a number of Chinese producers exporting the Solar 2 subject goods to the U.S. market. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&#x201c;Chinese CSPV products subject to Solar 2 orders&#x201d; refer to CSPV products manufactured in mainland China using non-Chinese (e.g., Taiwanese) CSPV cells and imported into the U.S. during the investigation or administrative review periods of Solar 2. &#x201c;Taiwanese CSPV products subject to Solar 2 orders&#x201d; refer to CSPV products manufactured outside of mainland China using Taiwanese CSPV cells and imported into the U.S. during the investigation or review periods of Solar 2.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;From December 2014 to late 2019, the USDOC issued final affirmative determinations and results of the first to fourth administrative reviews with respect to its antidumping and countervailing duty investigation on these CSPV products.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company will not be subject to the fifth administrative review of the Chinese orders. The USDOC is expected to initiate the fifth administrative review of the Taiwanese orders soon.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The USDOC and USITC are currently conducting five-year sunset reviews to determine whether to continue the Solar 2 orders on CSPV products from China and Taiwan. The USDOC is conducting an expedited review, with its final results expected in May 2020. The USITC is currently assessing whether it will conduct an expedited or full sunset review, with a decision due on this issue in spring 2020. The USITC&#x2019;s sunset review will follow this preliminary decision.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;In 2019, the Company booked the benefits of antidumping duty and countervailing duty provision reversals of $52.3 million, primarily associated with prior years&#x2019; module sales based on the respective updated rates of the administrative reviews carried out by the U.S. Department of Commerce.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Section 201&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On May 17, 2017, following receipt of a petition from Suniva, Inc., which was later joined by SolarWorld Americas, Inc., the USITC instituted a safeguard investigation to determine whether there were increased imports of CSPV products in such quantities as to be a substantial cause of serious injury, or the threat thereof, to the domestic industry producing like or directly competitive products. On September 22, 2017, the USITC determined that CSPV products are being imported into the United States in such increased quantities as to be a substantial cause of serious injury to the domestic industry.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;On January 23, 2018, the President of the United States imposed a safeguard measure on imports of CSPV cells.  This safeguard measure, which became effective on February 7, 2018, applies to CSPV products imported from all countries, except for certain developing country members of the World Trade Organization.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The USITC conducted a midterm review of the safeguard order in early 2020, issuing its monitoring report in February 2020. Additionally, in March 2020, at the request of the Office of the U.S. Trade Representative (USTR), the USITC released a report regarding the probable economic effect on the domestic CSPV cell and module manufacturing industry of modifying the safeguard measure on CSPV products.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;In addition, on June 13, 2019 and following an abbreviated public comment period, USTR granted an exclusion from the safeguard measure for bifacial solar panels comprising solely bifacial solar cells.  On October 9, 2019, USTR determined to withdraw this exclusion, effective October 28, 2019.  Invenergy Renewables LLC contested USTR&#x2019;s withdrawal determination at the CIT and persuaded the Court to enjoin USTR&#x2019;s withdrawal due to procedural deficiencies.  In early 2020, USTR conducted a renewed notice-and-comment process in order to withdraw the exclusion for bifacial solar panels. Subject to the CIT&#x2019;s further review, the exclusion could be terminated as soon as May 18, 2020.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;European Antidumping and Anti-Subsidy Investigations&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On September 6, 2012, following a complaint lodged by EU ProSun, an ad-hoc industry association of EU CSPV module, cell and wafer manufacturers, the European Commission initiated an antidumping investigation concerning EU imports of CSPV modules and key components (i.e., cells and wafers) originating in China. On November 8, 2012, following a complaint lodged by the same parties, the European Commission initiated an anti-subsidy investigation on these same products. On December 6, 2013, the EU imposed definitive antidumping and countervailing measures on imports of CSPV modules and key components (i.e., cells and wafers) originating in or consigned from China. On March 3, 2017, the European Commission extended the antidumping and countervailing measures for 18 months on imports of CSPV modules and key components (i.e., cells and wafers) originating in or consigned from China. On September 16, 2017, the European Commission amended the form of the antidumping and countervailing measures for certain Chinese exporters (but not for Canadian Solar).On March 9, 2018, the antidumping and countervailing measures expired. As a result, since then, the CSPV modules and cells of the Company that originate in, or are consigned from, China, are no longer subject to antidumping or countervailing measures.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On February 28, 2014, the Company filed separate actions with the General Court of the EU for annulment of the regulation imposing the definitive antidumping measures and of the regulation imposing the definitive countervailing measures (case T-162/14 and joined cases T-158/14, T-161/14, and T-163/14). The General Court rejected these actions for annulment. On May 8, 2017, the Company appealed the judgements of the General Court before the Court of Justice of the EU (cases C-236/17 and C-237/17). On March 27, 2019, the Court of Justice rejected the appeals. There is no further action with regard to these matters.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-style:italic;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;"&gt;Canadian Antidumping and Countervailing Duties Expiry Review&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On June 3, 2015, the Canada Border Services Agency (CBSA) released final determinations regarding the dumping and subsidization of solar modules and laminates originating from China. The CBSA determined that such goods were dumped and subsidized. The CBSA found the Company to be a &#x201c;cooperative exporter&#x201d; and, as such, ascertained a low (relative to other Chinese exporters) Canadian Solar-specific subsidies rate of RMB0.014 per Watt. On July 3, 2015 the Canadian International Trade Tribunal (CITT) determined that the Canadian industry was not negatively affected as a result of imported modules but was threatened with such negative impact. As a result of these findings, definitive duties were imposed on imports of Chinese solar modules into Canada starting on July 3, 2015. The CITT is required by law to review such finding every five (5) years) lest the finding expire. The CITT&#x2019;s finding expires on July 2, 2020.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;On April 1, 2020, the CITT initiated the preliminary stage of the expiry review regarding the above finding. The Company has responded to the CITT with its intent to participate in such review. The CITT will decide by May 21, 2020 based on responses to be received from domestic and Chinese producers whether the expiry review is warranted.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Regardless of the outcome, the Company does not believe there will be a material negative effect upon its results of operations because it has module manufacturing capacity in Ontario and do not rely on Chinese solar modules to serve its Canadian business. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Please refer to &#x201c;Item 8. Financial Information&#x2014;A. Consolidated Statements and Other Financial Information&#x2014;Legal and Administrative Proceedings&#x201d; in the Company&#x2019;s Form 20-F for detailed information on antidumping and countervailing duties.&lt;/p&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted
      contextRef="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_zjSsGEmr3E6ImxRcFXV6BA"
      decimals="-6"
      id="Narr_7AgeIT1eOkqqNC1zA8hDhg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12000000</us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted>
    <us-gaap:LongTermPurchaseCommitmentTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_Np0KdG7IgkGg0RZJy8EOmA"
      id="Tb_uWm6js-vU0CFwiQ0DnAj9Q">&lt;p style="font-family:'Times New Roman';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:86.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ending December&#160;31:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2020&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LongTermPurchaseCommitmentTextBlock>
    <us-gaap:PurchaseObligationDueInNextTwelveMonths
      contextRef="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_zjSsGEmr3E6ImxRcFXV6BA"
      decimals="-3"
      id="Tc_j37s3Q3P90iUOSBTVHEeGg_2_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9000000</us-gaap:PurchaseObligationDueInNextTwelveMonths>
    <us-gaap:PurchaseObligationDueInSecondYear
      contextRef="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_zjSsGEmr3E6ImxRcFXV6BA"
      decimals="-3"
      id="Tc_DiJhneTHoEigEuZldKyPgw_3_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3000000</us-gaap:PurchaseObligationDueInSecondYear>
    <us-gaap:PurchaseObligation
      contextRef="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_zjSsGEmr3E6ImxRcFXV6BA"
      decimals="-3"
      id="Tc_TMuVD2LULUK4AgMAFSXfDg_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12000000</us-gaap:PurchaseObligation>
    <us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted
      contextRef="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_5GNhDLp22Ue3G4TbPQOzCw"
      decimals="-5"
      id="Narr_cw7kpb287UuQJPTxyMPhiQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">800000</us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted>
    <us-gaap:LongTermPurchaseCommitmentTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_JWRvDsPwUka_T2lsk7qpSw"
      id="Tb_JAsiGiMfgkSMnDFUSHwQNA">&lt;p style="font-family:'Times New Roman';font-size:10pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year Ending December 31:&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;2020&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 600&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;2021&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 200&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 800&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LongTermPurchaseCommitmentTextBlock>
    <us-gaap:PurchaseObligationDueInNextTwelveMonths
      contextRef="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_5GNhDLp22Ue3G4TbPQOzCw"
      decimals="-3"
      id="Tc_uI49OOVHrk-aRLz0biOI3A_2_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">600000</us-gaap:PurchaseObligationDueInNextTwelveMonths>
    <us-gaap:PurchaseObligationDueInSecondYear
      contextRef="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_5GNhDLp22Ue3G4TbPQOzCw"
      decimals="-3"
      id="Tc_nIVIeNRRpkWlRO0NZV4KUQ_3_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">200000</us-gaap:PurchaseObligationDueInSecondYear>
    <us-gaap:PurchaseObligation
      contextRef="As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_5GNhDLp22Ue3G4TbPQOzCw"
      decimals="-3"
      id="Tc_Lzxo-Z7I7069mYZldpFS1w_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">800000</us-gaap:PurchaseObligation>
    <csiq:NumberOfSubpoenasReceived
      contextRef="Duration_1_1_2010_To_12_31_2010_srt_LitigationCaseAxis_csiq_ClassActionLawsuitsFiledInNewYorkMember_FNrge7ynxUKgdwShVOjAFA"
      decimals="INF"
      id="Narr_mF2iqp1s80yWD39DzT7BnA"
      unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA">2</csiq:NumberOfSubpoenasReceived>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="Duration_1_1_2010_To_12_31_2010_srt_LitigationCaseAxis_csiq_ClassActionLawsuitsFiledInNewYorkMember_FNrge7ynxUKgdwShVOjAFA"
      decimals="INF"
      id="Narr_wzy315Aj7kOxibV2AgKX_w"
      unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA">6</us-gaap:LossContingencyNewClaimsFiledNumber>
    <csiq:LossContingencyProvisionReversed
      contextRef="As_Of_12_31_2019_srt_LitigationCaseAxis_csiq_FirstAdministrativeReviewOfSolarTwoMember_oxVnRVPscU2eTy0cveOR8g"
      decimals="-5"
      id="Narr_CgNac6wM6EiIvwBY6VAvJQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">52300000</csiq:LossContingencyProvisionReversed>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_ppRyDlzhE0OaJtY-tZeiHg">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;22.&#160;SEGMENT INFORMATION&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company uses the management approach to determine operating segments. The management approach considers the internal organization and reporting used by the Company&#x2019;s chief operating decision maker (&#x201c;CODM&#x201d;) for making decisions, allocating resources and assessing performance. The Company&#x2019;s CODM has been identified as the Chief Executive Officer of the Company, since he reviews consolidated and segment results when making decisions about allocating resources and assessing performance of the Company.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company has been operating in two principal businesses since 2016: module and system solutions (&#x201c;MSS&#x201d;) and Energy. The MSS business comprises primarily the design, development, manufacture and sale of solar modules, other solar power products and solar system kits. The MSS business also provides engineering, procurement and construction (EPC) and operating and maintenance (O&amp;amp;M) services. The Energy business comprises primarily the development and sale of solar projects, operating solar power projects and the sale of electricity. The module sales from the Company's MSS business to its Energy business are on terms and conditions similar to sales to third parties. The Company&#x2019;s CODM reviews net revenue and gross profit and does not review balance sheet information by segment.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;22.&#160;SEGMENT INFORMATION (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table summarizes the Company's revenues, gross profit and income from operations generated from each segment:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:53.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;MSS&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Energy&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Elimination&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,582,635&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 719,445&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (101,497)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,200,583&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Cost of revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,934,062&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 635,716&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (87,692)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,482,086&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 648,573&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 83,729&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (13,805)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 718,497&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Income from operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 279,715&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (7,031)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (13,805)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 258,879&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31, 2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;MSS&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Energy&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Elimination&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,413,889&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,575,594&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (244,971)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,744,512&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Cost of revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,923,131&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,302,779&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (256,480)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,969,430&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 490,758&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 272,815&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,509&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 775,082&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Income from operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 141,609&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 211,539&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,509&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 364,657&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:53.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31, 2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;MSS&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Energy&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Elimination&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,850,859&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 677,470&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (137,936)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,390,393&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Cost of revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,390,686&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 473,453&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (111,344)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,752,795&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 460,173&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 204,017&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (26,592)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 637,598&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Income from operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 136,419&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 159,518&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (26,592)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 269,345&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Income from operations is estimated based on the Company's management accounts as some services are shared by two segments.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;22.&#160;SEGMENT INFORMATION (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table summarizes the Company&#x2019;s net revenues generated from different geographic locations. The information presented below is based on the location of customers&#x2019; headquarters:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Europe and other regions:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Australia&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,069&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 232,409&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 313,167&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Germany&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 94,066&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 95,514&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 109,119&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;South Africa&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,916&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 53,739&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 93,911&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Spain&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,471&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 58,811&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 78,228&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Netherlands&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,357&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 83,475&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,770&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;United Kingdom&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,295&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 101,479&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33,158&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Czech&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,822&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,411&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,717&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,144&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,730&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 66,389&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 356,140&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 698,568&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 780,459&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;The Americas:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;United&#160;States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 628,815&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 999,144&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 852,231&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Brazil&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 388,554&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 339,964&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 395,303&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Mexico&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,274&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,004&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 94,446&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 85,519&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 85,545&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 60,061&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,108,162&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,474,657&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,402,041&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Asia:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 476,946&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 483,041&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 372,687&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 874,559&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 620,520&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 317,077&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Korea&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,244&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 46,697&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 72,552&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;India&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 336,468&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 145,873&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 70,893&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;United Arab Emirates&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 91,991&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 104,467&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 43,311&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Vietnam&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 462&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,216&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,268&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Thailand&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,167&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,511&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,753&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 116,254&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 142,962&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 89,542&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,926,091&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,571,287&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,018,083&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,390,393&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,744,512&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,200,583&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;22.&#160;SEGMENT INFORMATION (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table summarizes the Company&#x2019;s long-lived assets, including property, plant and equipment, non-current project assets, solar power systems, prepaid land use rights and intangible assets at December 31, 2018 and 2019 by geographic region, based on the physical location of the&#160;assets:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&lt;/b&gt;&lt;b style="font-family:'Calibri';font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 824,618&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 835,991&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Thailand&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 168,280&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 331,931&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 233,155&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 259,197&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Australia&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 61,960&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 63,143&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,052&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 60,177&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,739&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,718&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,899&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,513&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total long-lived assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,372,703&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,665,670&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table summarizes the Company&#x2019;s revenues generated from each product or&#160;service:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;MSS:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Solar modules and other solar power products&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,551,509&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,930,701&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,055,249&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Solar system kits&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 84,598&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 93,253&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 116,449&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;EPC services&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 62,408&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 223,423&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;O&amp;amp;M services&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,938&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,767&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,405&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Others  ( materials)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 69,878&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,789&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 66,612&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Energy:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Solar power projects&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 632,256&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,542,906&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 668,476&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Electricity &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,236&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,735&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,866&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Others (EPC and development services)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,978&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,953&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,103&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Total net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,390,393&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,744,512&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,200,583&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="INF"
      id="Narr_QfVLR3GBmEmicDzO-o9jfw"
      unitRef="Unit_Standard_segment_cECiqmtKEE2chm8uhJi7ig">2</us-gaap:NumberOfReportableSegments>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_V7Z-QrIfH0-Djdpq8g_Buw">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:53.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31, 2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;MSS&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Energy&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Elimination&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,582,635&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 719,445&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (101,497)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,200,583&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Cost of revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,934,062&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 635,716&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (87,692)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,482,086&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 648,573&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 83,729&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (13,805)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 718,497&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Income from operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 279,715&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (7,031)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (13,805)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 258,879&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31, 2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;MSS&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Energy&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Elimination&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,413,889&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,575,594&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (244,971)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,744,512&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Cost of revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,923,131&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,302,779&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (256,480)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,969,430&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 490,758&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 272,815&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,509&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 775,082&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Income from operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 141,609&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 211,539&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,509&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 364,657&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:53.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31, 2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;MSS&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Energy&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Elimination&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,850,859&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 677,470&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (137,936)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,390,393&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Cost of revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,390,686&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 473,453&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (111,344)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,752,795&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 460,173&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 204,017&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (26,592)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 637,598&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:44.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Income from operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 136,419&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 159,518&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (26,592)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 269,345&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_ss3QD1mEA0Ss5n4fwqqX3A"
      decimals="-3"
      id="Tc_3qD9eN5Q-EOqe5V_NgW1Xw_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2582635000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_3Sk93rEByE-dbeqKVVA7_g"
      decimals="-3"
      id="Tc_RHDPa8Ps60Kp03Zc32r9qQ_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">719445000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_484CsaX530iGjLclDEuAyA"
      decimals="-3"
      id="Tc_jG14VvAcQkG_gtZhMCq_jw_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-101497000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_znFFtqWEP0urcOvtAATZRA_4_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3200583000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_ss3QD1mEA0Ss5n4fwqqX3A"
      decimals="-3"
      id="Tc_gKa3L4Vr9Eum_sJOs442iQ_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1934062000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_3Sk93rEByE-dbeqKVVA7_g"
      decimals="-3"
      id="Tc_C6ATukrz5UKI4kgCUs1pFQ_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">635716000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_484CsaX530iGjLclDEuAyA"
      decimals="-3"
      id="Tc_W2f9A4L3ekKEl29uagNRkQ_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-87692000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_ZpjaDDonkU2OMGaH3EouFQ_5_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2482086000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_ss3QD1mEA0Ss5n4fwqqX3A"
      decimals="-3"
      id="Tc_S7XqPkLZh0G_lyYDqHeAhQ_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">648573000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_3Sk93rEByE-dbeqKVVA7_g"
      decimals="-3"
      id="Tc_55-9POooLEelvG2ZZIizBA_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">83729000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_484CsaX530iGjLclDEuAyA"
      decimals="-3"
      id="Tc_tmviJIUk0kapofDL93euXg_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-13805000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_SYHH5Fb49EqCrnVaVpuRqg_6_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">718497000</us-gaap:GrossProfit>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_ss3QD1mEA0Ss5n4fwqqX3A"
      decimals="-3"
      id="Tc_5eSutVWEDkS18cNInYHpww_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">279715000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_3Sk93rEByE-dbeqKVVA7_g"
      decimals="-3"
      id="Tc_AUVJfdfDFEC5_DNeIjuO2w_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-7031000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_484CsaX530iGjLclDEuAyA"
      decimals="-3"
      id="Tc_8_nQiG46pEu_sIiYL_tQRA_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-13805000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_a6gdbv0hPEeGAFL0sZaohw_7_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">258879000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_Cr4qBZh4zEWoHVD16HcRsg"
      decimals="-3"
      id="Tc_bHbMpSEXAEmOfsYUbd29Fg_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2413889000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_SkUIuue_V0KM0cghzFjUGA"
      decimals="-3"
      id="Tc_v-XYFfN5oUeRiINUDqgmuQ_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1575594000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_M_mTHN8f20mtGppqvA2zHA"
      decimals="-3"
      id="Tc_EfoR12e-8UuikR15sntAAg_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-244971000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_ITtVJVILrUaUVIYnsNjJEQ_4_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3744512000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_Cr4qBZh4zEWoHVD16HcRsg"
      decimals="-3"
      id="Tc_TdDL_HdEQE6pBEBeKmNOdQ_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1923131000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_SkUIuue_V0KM0cghzFjUGA"
      decimals="-3"
      id="Tc_Eg7QgmOxOUeKPo4TipYqJg_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1302779000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_M_mTHN8f20mtGppqvA2zHA"
      decimals="-3"
      id="Tc_gG22a9gFN0qeK54wRJ5FNQ_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-256480000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_c5zk837fLESOtacZBTjMqQ_5_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2969430000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_Cr4qBZh4zEWoHVD16HcRsg"
      decimals="-3"
      id="Tc_i1HylTXJH0queBDS3RSzAw_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">490758000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_SkUIuue_V0KM0cghzFjUGA"
      decimals="-3"
      id="Tc_De8NAst-tkWLTHN7RdDdiQ_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">272815000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_M_mTHN8f20mtGppqvA2zHA"
      decimals="-3"
      id="Tc_jbwwtkxTBEWwKH_j1Y74yQ_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11509000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Lrkthq6fkU6FazNjFnw62g_6_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">775082000</us-gaap:GrossProfit>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_Cr4qBZh4zEWoHVD16HcRsg"
      decimals="-3"
      id="Tc_ueOOaWGnv0KBhEr9YxP5eQ_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">141609000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_SkUIuue_V0KM0cghzFjUGA"
      decimals="-3"
      id="Tc_Jb0q0dhpoU-t6GJtnM6JXw_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">211539000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_M_mTHN8f20mtGppqvA2zHA"
      decimals="-3"
      id="Tc_oNEtIPc07kOoAnx2hDeg1g_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11509000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_aYpvI48Pn0iOZ1lX6GBy9Q_7_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">364657000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_fmaBzUgoI0yyBzxVQ57LnQ"
      decimals="-3"
      id="Tc_66D4c2N3M0y41snwBQggPA_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2850859000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_YxLxlAPl3Ei_5rDPgZQLAA"
      decimals="-3"
      id="Tc_iip5LzOarEy9Yz-0vPabTQ_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">677470000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_d6NUTosMNUeIDO0N65uVCg"
      decimals="-3"
      id="Tc_Ed19-cBykUOcT6hEuKv6VQ_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-137936000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_QclJZx6VuU-CXQEU5NKV8g_4_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3390393000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_fmaBzUgoI0yyBzxVQ57LnQ"
      decimals="-3"
      id="Tc_--kVGIRlpkedhAKMt7ouKQ_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2390686000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_YxLxlAPl3Ei_5rDPgZQLAA"
      decimals="-3"
      id="Tc_JRVns0UlaUyDx8QSVBujoA_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">473453000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_d6NUTosMNUeIDO0N65uVCg"
      decimals="-3"
      id="Tc_NxILgZ-tFUiFR8mICFOH1Q_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-111344000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_Zh9AXrBH4U2kmuTPrfnUBg_5_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2752795000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_fmaBzUgoI0yyBzxVQ57LnQ"
      decimals="-3"
      id="Tc_Gl48UalLEk6urhhjazRy3g_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">460173000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_YxLxlAPl3Ei_5rDPgZQLAA"
      decimals="-3"
      id="Tc_-ZNL3huygk-y1e2opDtU7A_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">204017000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_d6NUTosMNUeIDO0N65uVCg"
      decimals="-3"
      id="Tc_zZy94YnynkCtvTvtGnujnw_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-26592000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_hXi-spM2kkCCfIQRblFoYw_6_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">637598000</us-gaap:GrossProfit>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_fmaBzUgoI0yyBzxVQ57LnQ"
      decimals="-3"
      id="Tc_iBQX72vBH02-Lc3rzqxhXQ_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">136419000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_YxLxlAPl3Ei_5rDPgZQLAA"
      decimals="-3"
      id="Tc_jtzVXUP7vUCLEauevZCr7g_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">159518000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidationItemsAxis_us-gaap_IntersegmentEliminationMember_d6NUTosMNUeIDO0N65uVCg"
      decimals="-3"
      id="Tc_NofXsoby8UqBnQAmq6OD3Q_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-26592000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_zmbBijCoyE28m6adi7GQgA_7_8"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">269345000</us-gaap:OperatingIncomeLoss>
    <us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_rKxASc6sYkWJRWULv50lpA">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Europe and other regions:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Australia&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,069&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 232,409&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 313,167&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Germany&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 94,066&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 95,514&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 109,119&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;South Africa&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,916&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 53,739&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 93,911&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Spain&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,471&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 58,811&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 78,228&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Netherlands&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 51,357&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 83,475&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,770&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;United Kingdom&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 48,295&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 101,479&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33,158&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Czech&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,822&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,411&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,717&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,144&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,730&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 66,389&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 356,140&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 698,568&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 780,459&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;The Americas:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;United&#160;States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 628,815&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 999,144&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 852,231&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Brazil&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 388,554&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 339,964&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 395,303&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Mexico&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,274&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,004&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 94,446&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 85,519&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 85,545&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 60,061&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,108,162&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,474,657&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,402,041&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Asia:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 476,946&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 483,041&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 372,687&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 874,559&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 620,520&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 317,077&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Korea&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,244&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 46,697&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 72,552&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;India&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 336,468&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 145,873&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 70,893&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;United Arab Emirates&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 91,991&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 104,467&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 43,311&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Vietnam&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 462&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,216&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 39,268&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Thailand&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,167&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,511&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:11pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,753&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#x2014;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 116,254&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 142,962&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 89,542&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,926,091&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,571,287&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,018,083&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,390,393&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,744,512&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,200,583&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_AU_SoHhxh_NGU6yBVUnS_MUFw"
      decimals="-3"
      id="Tc_0L48f1RTwUauymCxNEFetg_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">48069000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_AU_WhjPgpmcVEGkwi8ZoKfbSQ"
      decimals="-3"
      id="Tc_jQ5vHAKjvUCfLHjVWB6imA_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">232409000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_AU_mP9RmJvqoEi_iEyijKAsww"
      decimals="-3"
      id="Tc_CZhXcObOYEiIwaJ9Y3fQ1w_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">313167000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_DE_N6R1JQgIyUOG3tjqHgfgkQ"
      decimals="-3"
      id="Tc_gSx4jaUy5kStPbbHrlaSJA_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">94066000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_DE_gM0QNQwhW0aazSi2LBiFlA"
      decimals="-3"
      id="Tc_0sWTXkCAckmiMv1zO0KthQ_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">95514000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_DE_pEX-6nGZtEqtHg6tTpwizQ"
      decimals="-3"
      id="Tc_jhecgOrsC0a5cXZ5JzrjEA_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">109119000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_ZA_805HHYc7dE2OJbd-rAIfLQ"
      decimals="-3"
      id="Tc_YQvYVgMFYkadNXDimLQ25w_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">21916000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_ZA_uUyP59nHcEyI4Cg6E3MZBA"
      decimals="-3"
      id="Tc_qB2q7maZG0mAh2pmZ0Km-A_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">53739000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_ZA_EDEe0_34L0SF7rQ0Ha1HRg"
      decimals="-3"
      id="Tc_bmUZAI1-HkqyU3cm-1Bkow_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">93911000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_ES_acpMfxiQr0uEK5wDTO2jew"
      decimals="-3"
      id="Tc_hVPjHJzzmk-TRb0NVW3lrg_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13471000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_ES_ix1-uZWpC0KehDwsV3HQGw"
      decimals="-3"
      id="Tc_rVSRcTFf4UCpw6XyJKEVLw_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">58811000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_ES_tt5tG8UWyESYvceH87u3fA"
      decimals="-3"
      id="Tc_odVRxYUR4kSDYtG_iIxQug_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">78228000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_NL_X5iF715vQUOJLEbth3zAZA"
      decimals="-3"
      id="Tc_NWElcgqfbkGHMwHtBTEJ7w_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">51357000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_NL_LviJyIWt-UyI178sCn-2Cg"
      decimals="-3"
      id="Tc_VDyeO1fj6E25N5PtZZcJdg_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">83475000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_NL_drdGL4vt0UixZBlgne8zNw"
      decimals="-3"
      id="Tc_PYZfAYgDH0q9mBJWgSotpg_9_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">68770000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_GB_sXapV1HYBE6KheFFxTkZbg"
      decimals="-3"
      id="Tc_IZD3drpaY0C-XwDCsPsRAg_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">48295000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_GB_WffZC1OSBEeoB_1tRDIGjA"
      decimals="-3"
      id="Tc_qjPlNIBWFE6blvrdOEco9w_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">101479000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_GB_33vlVAFBQ0uX7lJ4a9jeXA"
      decimals="-3"
      id="Tc_Bu3sa0d5Pk6w1F3AG2cAKw_10_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">33158000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_CZ_w_0XDhCqFEervnIpumeH3w"
      decimals="-3"
      id="Tc_XQpV4hNrnUuSlJxSs4nDrQ_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10822000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_CZ_1icskwoZwUGWzVTxVLFN5A"
      decimals="-3"
      id="Tc_J6tkOln53kC8E7lWHbm8gA_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">17411000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_CZ_WF9AKKMK8EquIwH4a4LDYQ"
      decimals="-3"
      id="Tc_L_sRX6IYmUuequET7FBBWQ_11_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">17717000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_8uZph1D4i0-8JH1jLFU05Q"
      decimals="-3"
      id="Tc_fiD-mf3unkGQY4e9LL1gWA_12_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">68144000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_bu3oD5kEYkOOPb3yoe3diA"
      decimals="-3"
      id="Tc_1tzLCPosWEqAnrAZP6Sz0Q_12_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">55730000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_qYwOGPrz_UCpF5Qq0SzF4Q"
      decimals="-3"
      id="Tc_lqZesIihM0S-l3XMdw7JUg_12_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">66389000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_srt_EuropeMember_tgAO1xUv6EKUG-9XVQXD_g"
      decimals="-3"
      id="Tc_U6lBz5mc3kaPj2t48Lw4og_13_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">356140000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_srt_EuropeMember_LKX675WZ4Ee6-R9POmy13w"
      decimals="-3"
      id="Tc_8nWk2zJOK06xACwGV7z6rg_13_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">698568000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_srt_EuropeMember_Jv9VNCoqxkqZTvkrmGVb1g"
      decimals="-3"
      id="Tc_dMvya2APsEiBgmXeZHAZyA_13_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">780459000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_US_12B3vdfbFU-6svBHY67Amg"
      decimals="-3"
      id="Tc_TTjRjoPTT0qGGNVzciMTPQ_15_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">628815000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_US_caMAoHablECSOnmyrNHQOg"
      decimals="-3"
      id="Tc_cDJbsg1e2EGnyHqL7w8AIg_15_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">999144000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_US_vabopVan5UKJQ0_ZXkQ2AA"
      decimals="-3"
      id="Tc_BGLdMC-rkEaTi6WsQP9HNw_15_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">852231000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_BR_9NFUL80BJUeYoge8NrRSxQ"
      decimals="-3"
      id="Tc_pgi_IzX07kKafSxgGZ0R3Q_16_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">388554000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_BR_d3j6JEMjLk2Snls_WCnloA"
      decimals="-3"
      id="Tc_Olk4A8h2I06XK80w31F28A_16_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">339964000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_BR_YVsDomG9TUqIcG2mSb8ICg"
      decimals="-3"
      id="Tc_v61KdAhZoEK12JLe83wZnQ_16_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">395303000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_MX_9PjPnag4iEyJRdPBRzBF2Q"
      decimals="-3"
      id="Tc_QWlDXvB-IUCciCzicCCzMg_17_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5274000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_MX_t4zlw9_wq0WNrDlpU2SgKw"
      decimals="-3"
      id="Tc_zFKQp51j1UWLG_sOAnrzMA_17_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">50004000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_MX_cXPFmr4sHkiFAFyP4VqDBA"
      decimals="-3"
      id="Tc_TDBBINrHwE6ot3E-5U0CWw_17_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">94446000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_5zYZtKtTIUOZcyeObpaoZw"
      decimals="-3"
      id="Tc_JbyZMh6HqkWL3UvLCWfkfw_18_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">85519000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_Ht53i2sfnE6nv9cfRa3j6g"
      decimals="-3"
      id="Tc_vaQDhxiuMkaS_Sj9E55hjg_18_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">85545000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_XsJ_CDavgkaSEgfCZEhfUA"
      decimals="-3"
      id="Tc_Wj0oEW8PdUeTNtaluB4G1A_18_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">60061000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_csiq_AmericaMember__GE_yzKpwUGxVu4sUCxzdQ"
      decimals="-3"
      id="Tc_MJdgTxMmh0a6Z9MBzz9vog_19_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1108162000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_csiq_AmericaMember_uJMI8LHFYEupnrSPxYPeoQ"
      decimals="-3"
      id="Tc_izN-jj6F2UeNcd9hgaY3Dg_19_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1474657000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_AmericaMember_5FGYhx7wNUGv0RVedt7KOQ"
      decimals="-3"
      id="Tc_Gmd5b-45nU6TtpJ5SOHWzQ_19_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1402041000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_JP_JMGL2-bOJ0-oUNuHEQh6bA"
      decimals="-3"
      id="Tc_PyWY1WOEREy_rY8yRIW6vQ_21_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">476946000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_JP_XUUj4F2VDkuqacUoSWbQUA"
      decimals="-3"
      id="Tc_3TwUOukE40ieySvVbN-pcw_21_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">483041000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_JP_ykEckAptt0mm-0ImnQ9y8w"
      decimals="-3"
      id="Tc_zV7Z3UOn3kGvPEoHnVqLYg_21_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">372687000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_CN_6w-s1NPKqUWlqEQvD5m3AQ"
      decimals="-3"
      id="Tc_l0f0p1MMtEyssdBM0xeKSA_22_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">874559000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_CN_uLe4gp6Oi0yZheHzFVivAQ"
      decimals="-3"
      id="Tc_ueoDkdEIkkenfuwgM1-_vg_22_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">620520000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_CN_-Ia16BaKeEKeA84eTeqCUQ"
      decimals="-3"
      id="Tc_mBtSWzv39U-hHzDdc9hvmQ_22_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">317077000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_KR_6LcDT-MJpU-CVoZxdut2cA"
      decimals="-3"
      id="Tc_YByYhliKu0OzZhAtYt4cTw_23_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">25244000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_KR_DPeVD3afB0KkWsgINr0Onw"
      decimals="-3"
      id="Tc_ftqq5gYrqUqFRXlQz63bpg_23_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">46697000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_KR_PIEg9t9PjE--bkBZ0G5fjw"
      decimals="-3"
      id="Tc_fd7rAGVyoU-UaskZCnLLLg_23_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">72552000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_IN_qen0-4xKj02Fwt10wBVtcg"
      decimals="-3"
      id="Tc_TxmY36Oe4EqJf6qdsVwdcA_24_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">336468000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_IN_9_mun8G7oEGrbTVhV691sg"
      decimals="-3"
      id="Tc_6a4kZ8MtTUmkFHhML8cG3Q_24_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">145873000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_IN_xPRZ0oF6A02B8ZfXi7pn8g"
      decimals="-3"
      id="Tc_Q4YhBnVFBEijDH0EwR1tRw_24_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">70893000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_AE_hmZcJO2dMUCEGNVVFjwwHA"
      decimals="-3"
      id="Tc_CB0GtBmgKE-g459tcWBU2w_25_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">91991000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_AE_lX3UZ-F5ykie9x0OHlTJTA"
      decimals="-3"
      id="Tc_FN-E5C_tZUaxiVupcoSQfA_25_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">104467000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_AE_QQgI5Og-fEmQGwpRDfHKWg"
      decimals="-3"
      id="Tc_v8lGTEwbM06OIrfgAhVu6g_25_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">43311000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_VN_CjZbdql7cE-sMM97Y-Zyag"
      decimals="-3"
      id="Tc_z6ADyT_fr0COn9lUYBy1nQ_26_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">462000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_VN_MQK-jVPiLk60aWKpuNOsIQ"
      decimals="-3"
      id="Tc_vhNOktXBpkSMVhe409Ed_A_26_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4216000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_VN_wU-9NyRM_E-BkCPIiKwPCw"
      decimals="-3"
      id="Tc_ddlDsCE3_kut3DNvuzMEuA_26_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">39268000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_country_TH_q2bNftrmsEC-mTf22RJ2UA"
      decimals="-3"
      id="Tc_bTodDtLIjEuiFrii_7al1A_27_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4167000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_country_TH_q6PAt4QPWEugXEP-Ft3JiA"
      decimals="-3"
      id="Tc_NazCGdPod0yNtvZVJCS4zg_27_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">23511000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_country_TH_H8Zl3MDCsEu2zEbjCdz5QQ"
      decimals="-3"
      id="Tc_YtL6mWxjgEit93luGpZZhA_27_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12753000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_DwQYsrPBD0Kc2WODcRZvUA"
      decimals="-3"
      id="Tc_d9r12mbGV0CSWws0WZmiyA_28_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">116254000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_apDDsSNSE06sSz-TljVMBQ"
      decimals="-3"
      id="Tc_-TkSieMfBE6BACHnEaCmFQ_28_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">142962000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_szgko6j4vkyZa9JArkkKkg"
      decimals="-3"
      id="Tc_3aYs-7C6_k6WJc4rENfCUQ_28_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">89542000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_StatementGeographicalAxis_srt_AsiaMember_NJE3Cf3WxUKgT2YSiUIAPw"
      decimals="-3"
      id="Tc_v4EQZ5vT8UiYDiblqzx3lA_29_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1926091000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_StatementGeographicalAxis_srt_AsiaMember_MDFr8DipeU2sC74Vlyh5RQ"
      decimals="-3"
      id="Tc_hwxyFffTC02hS5kgJxrJTw_29_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1571287000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_StatementGeographicalAxis_srt_AsiaMember_9hYzK6aiM0uiKlmxr2_kzQ"
      decimals="-3"
      id="Tc_HDGSu_cDhECxU1SZKJZ49g_29_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1018083000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc_pugg1EziiEmVZkEx3nr7cw_30_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3390393000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_xmvYIVLOH0-rVfKpI2XGsQ_30_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3744512000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_0Ol4MDx6AEySCKwdlbTbgA_30_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3200583000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_XVk6H_4NLUWMZHryxMrmVg">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&lt;/b&gt;&lt;b style="font-family:'Calibri';font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;At&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 824,618&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 835,991&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Thailand&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 168,280&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 331,931&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 233,155&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 259,197&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Australia&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 61,960&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 63,143&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,052&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 60,177&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,739&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,718&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 24,899&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 100,513&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total long-lived assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,372,703&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,665,670&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_CN_8QHe23S1wEmDHOVLkyKoDw"
      decimals="-3"
      id="Tc_c0NRU8C8lU-kIzzING2jVw_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">824618000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_CN_B76wqxJKvEG44LSF0wo4fw"
      decimals="-3"
      id="Tc__ZGZnjQRdUOGAROt4kn31Q_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">835991000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_TH_CdH4jtehD0qIrFCVEVYvpg"
      decimals="-3"
      id="Tc_iiwaKayfAE6jF8PxK-JfyQ_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">168280000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_TH_XYa-8aDFLkKERupC5kcUJw"
      decimals="-3"
      id="Tc_4QhLKgcRkUa1iho9GYPWDg_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">331931000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_JP_CYyjx4dYl0OJaDub1M3ftw"
      decimals="-3"
      id="Tc_83QeFBPc20m0s2ZLg3B0wQ_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">233155000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_JP_OjahXlXA9kah_5sEOE1_sw"
      decimals="-3"
      id="Tc_Va7JP9dy3k-bRfO54fe2Lw_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">259197000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_AU_Nm5oegU_EkiVgv7jr2CAuw"
      decimals="-3"
      id="Tc_OYqNAM_FHkeVcHNIB3A9zg_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">61960000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_AU_RIqer513PkaoLhr2QRb8GQ"
      decimals="-3"
      id="Tc_8SZYP9Jz9kSwaQMCueQMOA_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">63143000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_US_nuaZvVimREiHosfkFDvShQ"
      decimals="-3"
      id="Tc_KWm0rl4u3UuhrV2QI1w-qw_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">50052000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_US_ci8yVRiKm0SR3Ns812lcFQ"
      decimals="-3"
      id="Tc_RnKmOAn740qzpVVE1AS3kw_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">60177000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2018_srt_StatementGeographicalAxis_country_CA_9QNKGZPwHk-4O0zYdd3Jdg"
      decimals="-3"
      id="Tc_Oc-o9_ML70yvmwgl4atHsQ_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9739000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2019_srt_StatementGeographicalAxis_country_CA_Q3b3UZYpqkipqcdSRFHXwg"
      decimals="-3"
      id="Tc_J6le_vWF-k2g2Nt8bw13HQ_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">14718000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2018_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_P3hRQm14QkKPIjv8WO8Lyw"
      decimals="-3"
      id="Tc__MBxt3Lde0uya7nOa2jF1Q_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">24899000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2019_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_BeLi6GE5Kkua1QXqTu8NAQ"
      decimals="-3"
      id="Tc_Q8_DdxZ8fEGE65o-4Nxw8g_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">100513000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg"
      decimals="-3"
      id="Tc_Uh-0ul1krU-bAVHU5BdtkQ_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1372703000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-3"
      id="Tc_4JVMknYhoki8Yo3MNmneGg_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1665670000</us-gaap:NoncurrentAssets>
    <us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_rrU_nRBXw0O9BqETDb3GvQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;MSS:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Solar modules and other solar power products&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,551,509&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,930,701&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,055,249&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Solar system kits&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 84,598&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 93,253&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 116,449&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;EPC services&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 62,408&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 223,423&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;O&amp;amp;M services&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,938&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,767&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,405&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Others  ( materials)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 69,878&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 71,789&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 66,612&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Energy:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Solar power projects&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 632,256&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,542,906&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 668,476&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Electricity &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,236&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,735&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,866&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Others (EPC and development services)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,978&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,953&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 45,103&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Total net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,390,393&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,744,512&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,200,583&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_SolarModulesAndOtherSolarPowerProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_8By5ZzvkfE6TGaiODLMwTA"
      decimals="-3"
      id="Tc_WQtC2gH9IkGH0GjnPF2TYg_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2551509000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_SolarModulesAndOtherSolarPowerProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_1efr7KS9TESwBqdLnUWc8g"
      decimals="-3"
      id="Tc_GLgM45o-qE6T1kkGq9I0Rg_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1930701000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarModulesAndOtherSolarPowerProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_DaxFhPi_L0G4ACXbyptqBQ"
      decimals="-3"
      id="Tc_HQE1dUKA-EeLqdTUGnWp4A_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2055249000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_mgGNGOEeW0WVEY00FmdVww"
      decimals="-3"
      id="Tc_hQbICY54QUSEYLBihHn9cw_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">84598000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_inRuy9zgMU2nigTwevswNA"
      decimals="-3"
      id="Tc_EN8Zg08gVk2Iqztavby7xg_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">93253000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_S0_yC5ixgUCpZ6LpleB0lw"
      decimals="-3"
      id="Tc_9UCg-VnBqUmXV3deAV-mXA_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">116449000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_EPCServiceProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_jK8Cjotp20ag5c73nNPEoQ"
      decimals="-3"
      id="Tc_Rg2gBKbC0kWvNrZLwYHDZw_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">62408000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_EPCServiceProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_TVI-7bk6PUiQYiiW9AILEA"
      decimals="-3"
      id="Tc_nE2FuXSneEqfH5nKnYoW6Q_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">223423000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_OAndMServicesProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_Wr03CnxDl0aEVR8LQLtaBg"
      decimals="-3"
      id="Tc_x_Qr9sIPv06nikOFPpeRLA_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6938000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_OAndMServicesProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_TALXTvTgy0W8IszHpFgmRQ"
      decimals="-3"
      id="Tc_h7ICDZv9X0CbtU19IFiMLw_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10767000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_OAndMServicesProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_YYaFLG39WEudn0cpmISFqg"
      decimals="-3"
      id="Tc_2Y60jVf_uUuwFzllNE2GIw_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">19405000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_OtherProductMaterialsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_JqnZklJnI0Sq1a_O9UbcSQ"
      decimals="-3"
      id="Tc_aDaYLGuiyEiFpf-O7-Obfg_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">69878000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_OtherProductMaterialsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_qa_qj8UtdkGC6Cnxgsbxww"
      decimals="-3"
      id="Tc_-OoJH4U7c0qM__cso_zDxg_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">71789000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_OtherProductMaterialsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_kMo41JwU_0GEjXwpPX6ehg"
      decimals="-3"
      id="Tc_L7Y6vGr8-UaZiC34e_VX3Q_9_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">66612000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsConstructionAndSaleMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_e8foUq8S7UmLlo8wmQmWKw"
      decimals="-3"
      id="Tc_qXBcm4X7_kCf29Nj5wnadw_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">632256000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsConstructionAndSaleMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_b9UdPTWHcku8x1BMOch-rQ"
      decimals="-3"
      id="Tc_1HqvQBq_w0W4F-MtiSiSQA_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1542906000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsConstructionAndSaleMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_btHWDCifV0SU4SHlhH7mzQ"
      decimals="-3"
      id="Tc_GN6zYmUSaE-WEFC7wySGkg_11_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">668476000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_ElectricityIncomeMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_l08olw2opUStWzJNDnir1A"
      decimals="-3"
      id="Tc_vd7H6Ba1ike91AFQzHbOGw_12_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">29236000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_ElectricityIncomeMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_SnS3FU17kEGCSsVbakhkhg"
      decimals="-3"
      id="Tc_YGyJfBwd7km_nssWh7arHQ_12_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">8735000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_ElectricityIncomeMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_kUWlIl6A4Uy6KbjwFpDY2w"
      decimals="-3"
      id="Tc_yW5D75f1r0mUJ1Zp6W33TQ_12_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5866000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ProductOrServiceAxis_csiq_OtherProductEpcAndDevelopmentServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_WVTBv-zEEkK-i3er-mvy8g"
      decimals="-3"
      id="Tc_QiGY2cPg-UiaOSZVnaXdMg_13_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15978000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ProductOrServiceAxis_csiq_OtherProductEpcAndDevelopmentServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_iAkG1oAo6UCqNLKFdrE8sg"
      decimals="-3"
      id="Tc_PfMjbJHr90C3rr5H1KHvXQ_13_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">23953000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_OtherProductEpcAndDevelopmentServicesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_EnergySegmentMember_VQaDkqyo80uf96BSRUUidw"
      decimals="-3"
      id="Tc_ssQpecR-bUW9gFronMZkVA_13_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">45103000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Tc__A0kK1X6OUyX8Rj-v-l2-Q_14_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3390393000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Tc_Ou_VeZl74Ei8_dqb7y6d3A_14_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3744512000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Tc_KJrskBtFeEWRYGjpz3WBtA_14_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3200583000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <csiq:MajorCustomersDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_NiG_ge4dz02irquSwPwVWQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;23.&#160;MAJOR CUSTOMERS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;Details of customers accounting for 10% or more of total net revenues are as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:38.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Company A&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 718,341&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;23.&#160;MAJOR CUSTOMERS (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The accounts receivable from three customers with the largest receivable balances represents 17%, 5% and 4% of the balance of the account at December 31, 2019, and 12%, 5% and 5% of the balance of the account at December 31, 2018, respectively. The balance from the customer with the largest receivable balance is $59,224 and $74,376 as of December 31, 2018 and 2019, respectively.&lt;/p&gt;</csiq:MajorCustomersDisclosureTextBlock>
    <us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_FjZ00NKU4kq594r0mVQZZQ">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:38.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri';font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Company A&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 718,341&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_MajorCustomersAxis_csiq_CompanyAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_WvHAcmeQFUqFMo8sQcW59g"
      decimals="-3"
      id="Tc_bShMUcryT0qEwjy78mXLdA_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">718341000</us-gaap:Revenues>
    <csiq:NumberOfCustomers
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="INF"
      id="Narr_Ft3hx5Pq5kmx2WhTSD9qaA"
      unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA">3</csiq:NumberOfCustomers>
    <csiq:NumberOfCustomers
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="INF"
      id="Narr_WZ1H1v7H1UOduz0M-_WNDA"
      unitRef="Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA">3</csiq:NumberOfCustomers>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_1bYGB9AGo0SbTP0BHNbItA"
      decimals="2"
      id="Narr_IaTLNefwIkm3vp_lxyVIUg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.17</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_MajorCustomersAxis_csiq_CustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_2CC3aRMbdUeLqTuW5RvP0g"
      decimals="2"
      id="Narr_tqMl68RzvUi7L9LqHv4f6w"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.05</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_MajorCustomersAxis_csiq_CustomerThreeMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_xBLTo-0DN0e2e2pak5UCvQ"
      decimals="2"
      id="Narr_Od1LzKosykqvejiJ9CeTGw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.04</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_LScHX-whIkaDTTjPue_FNg"
      decimals="2"
      id="Narr_1lA3qnAXA0ecfG30NPE2_A"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_LScHX-whIkaDTTjPue_FNg"
      decimals="2"
      id="Narr_I38aCeO_wkqlbaOlzOnqFQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_MajorCustomersAxis_csiq_CustomerTwoMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_ouRLNsx2YE2ZYX55F6ryjw"
      decimals="2"
      id="Narr_8MA9ZCmdXEav4KWCLmW8mg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.05</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_MajorCustomersAxis_csiq_CustomerThreeMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_KorWr0kIjUOgBI3b-e70kA"
      decimals="2"
      id="Narr_BYeENI_DVUmeCeyg-_T-xg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.05</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:AccountsReceivableNet
      contextRef="As_Of_12_31_2018_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_lP-g-aEimEi3Xo0Wx7M7Og"
      decimals="-3"
      id="Narr_D7y577YIGUurihtBgrLYhA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">59224000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="As_Of_12_31_2019_srt_MajorCustomersAxis_csiq_CustomerOneMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CreditConcentrationRiskMember_MzpFZC4xc0SsOrqWET8WEg"
      decimals="-3"
      id="Narr_2SAuCZRhBkWQvEt8Rv7kfw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">74376000</us-gaap:AccountsReceivableNet>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_VWY-QS7v9Eee2o2G1BLy5g">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;24.&#160;EMPLOYEE BENEFIT PLANS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 5pt 0pt;"&gt;Employees of the Company located in the PRC are covered by the retirement schemes defined by local practice and regulations, which are essentially defined contribution schemes. The calculation of contributions for eligible employees is based on 16% of the applicable payroll cost in 2019. The expense incurred by the Company to these defined contributions schemes was $9,412, $12,544 and $11,738 for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In addition, in 2019, the Company is required by PRC law to contribute approximately 6-8.5%, 8%, 0.5-0.7% and 0.9-2.5% of applicable salaries for medical insurance benefits, housing funds, unemployment and other statutory benefits, respectively. The PRC government is directly responsible for the payment of the benefits to these employees. The amounts contributed for these benefit schemes were $10,447, $11,211 and $11,409 for the years ended December 31, 2017, 2018 and 2019, respectively.&lt;/p&gt;</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Narr_MSwd8MDB-kmp0At3iviKdA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.16</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Narr_FHwWN7tgjUe1DsvXhS_Cwg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9412000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Narr_ApVb9g6eI0Kr_tQgnaiJvQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12544000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_arBGBr9Ao0ihLoLxeDJkYg"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11738000</us-gaap:DefinedContributionPlanCostRecognized>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_qhGj9EM1EUy10PH3sclx3g"
      decimals="2"
      id="Narr_mpLARckWmEiOWtJuztuj1A"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.06</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_DZYOKKqhF0210mfrrrZweA"
      decimals="3"
      id="Narr_ceQyAYmEYUykoJ5vShcpig"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.085</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Narr_hrVE6QppYkSC1DYv5yzBXQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.08</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_qhGj9EM1EUy10PH3sclx3g"
      decimals="3"
      id="Narr_7CKd_RWRYEiomP0cKLKqGg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.005</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_DZYOKKqhF0210mfrrrZweA"
      decimals="3"
      id="Narr_fEvj282DokCHYVI3zF4wJA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.007</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MinimumMember_qhGj9EM1EUy10PH3sclx3g"
      decimals="3"
      id="Narr_le-y6PxiyEeZumdkEu22eA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.009</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_DZYOKKqhF0210mfrrrZweA"
      decimals="3"
      id="Narr_f6ifGT4agUmRbnK8AYu1bg"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.025</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAmount
      contextRef="Duration_1_1_2017_To_12_31_2017__5MrGnRCZkSPzq8IN3feLQ"
      decimals="-3"
      id="Narr_Q4_VHlkwDEOoeaTSw7muwA"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10447000</csiq:DefinedContributionPlanEmployerContributionAmount>
    <csiq:DefinedContributionPlanEmployerContributionAmount
      contextRef="Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw"
      decimals="-3"
      id="Narr_-5CGXLV3NUa4vb2Nxsa8_Q"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11211000</csiq:DefinedContributionPlanEmployerContributionAmount>
    <csiq:DefinedContributionPlanEmployerContributionAmount
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="-3"
      id="Narr_1uMCX67JoEeFPfJ3GVlk4A"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11409000</csiq:DefinedContributionPlanEmployerContributionAmount>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_V14ch7GR_06I5h1zopT9Nw">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;25.&#160;SHARE-BASED COMPENSATION&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;In March&#160;2006, the Company adopted a share incentive plan, or the Plan. The purpose of the Plan is to promote the success and enhance the value of the Company by linking the personal interests of the directors, employees and consultants to those of the shareholders and providing the directors, employees and consultants with an incentive for outstanding performance to generate superior returns to the shareholders. The Plan is also intended to motivate, attract and retain the services of the directors, employees and consultants upon whose judgment, interest and effort the successful conduct of the Company&#x2019;s operations is largely dependent. In September&#160;2010, the shareholders approved an amendment to the Plan to increase the maximum number of common shares which may be issued pursuant to all awards of options, restricted shares and RSUs under the Plan to the sum of (i)&#160;2,330,000 plus (ii)&#160;the sum of (a)&#160;1% of the number of outstanding common shares of the Company on the first day of each of 2007, 2008 and 2009 and (b)&#160;2.5% of the number of outstanding common shares of the Company outstanding on the first day of each calendar year after 2009. The Plan will expire on, and no awards may be granted after, May&#160;8, 2021. Under the terms of the Plan, options are generally granted with an exercise price equal to the fair market value of the Company&#x2019;s ordinary shares and expire ten years from the date of&#160;grant.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Options to Employees&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;During the year ended December 31, 2019, 103,723 options were exercised with a weighted average exercise price of $8.47. The total intrinsic value of options exercised during the years ended December 31, 2017, 2018 and 2019 was $605, $256 and $1,422, respectively. As of December 31, 2019, there were 120,779 options outstanding with a weighted average exercise price of $10.97 and weighted average remaining contract terms of 1 year. The intrinsic value of outstanding options as of December 31, 2019 was $1,344.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;25.&#160;SHARE-BASED COMPENSATION (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;RSUs to Employees&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The Company granted 1,033,001, 759,702 and 706,637 RSUs to employees in 2017, 2018 and 2019, respectively. The RSUs entitle the holders to receive the Company&#x2019;s common shares upon vesting. The RSUs were granted for free and generally vest over periods from &lt;span style="-sec-ix-hidden:Hidden_KLLxw-9sJkO8VDGPXSoRVQ"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;one&lt;/span&gt;&lt;/span&gt; to four years based on the specific terms of the grants. The fair market value of the Company&#x2019;s ordinary shares at the date of grant resulted in total compensation cost of approximately $13.3&#160;million, $10.2&#160;million and $12.2&#160;million that will be recognized ratably over the vesting period for the RSUs granted in 2017, 2018 and 2019, respectively. In the years ended December 31, 2017, 2018 and 2019, the Company recognized $9,314, $10,258 and $10,682 in compensation expense associated with these awards, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;As of December 31, 2019, there was $20,507 of total unrecognized share-based compensation related to unvested RSUs, which is expected to be recognized over a weighted-average period of 2.27 years.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;A summary of the RSU activity is as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&lt;/b&gt;&lt;b style="font-family:'Calibri';font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Grant-Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Shares&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Unvested at January&#160;1, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,781,271&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.18&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 706,637&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18.05&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (696,853)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.40&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Forfeited&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (131,288)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.01&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Unvested at December&#160;31, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,659,767&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.26&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The total fair value of RSUs vested during the years ended December 31, 2017, 2018 and 2019 was $12,091, $10,242 and $10,733, respectively.&lt;/p&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="As_Of_9_30_2010_u6dAuOeG_k6wsEpEP6YCrA"
      decimals="INF"
      id="Narr_gA1F2s-UykWtrQ3IeBjNDg"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">2330000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares
      contextRef="Duration_9_1_2010_To_9_30_2010_nsm9bHVoXUa0RbC_qLiWeA"
      decimals="2"
      id="Narr_OmVV2q_GuUCztDA7JLu0ug"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.01</csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares>
    <csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares
      contextRef="Duration_9_1_2010_To_9_30_2010_nsm9bHVoXUa0RbC_qLiWeA"
      decimals="3"
      id="Narr_GNrhmVpEmE-LPs3dJo-PNQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.025</csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares>
    <csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="INF"
      id="Narr_Wo1jtgtISkik7KAIEMudhg"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">0</csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate>
    <csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Narr_qmwZxNO0HUS7B2SFF2f27Q">P10Y</csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_3rM7nxXH6U2EnX7NCM8wPA"
      decimals="INF"
      id="Narr_IAhnpME2YU2xgmgyPgRbjw"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">103723</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_3rM7nxXH6U2EnX7NCM8wPA"
      decimals="2"
      id="Narr_ZHRH4G2KKE2_i6S64M_oAg"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">8.47</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_N3V72htU2Emg9we-C9dySg"
      decimals="-3"
      id="Narr_4QiSx357u0KGfjsloz7CSw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">605000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_QEXzSH-1-06e6Rd58cRzIA"
      decimals="-3"
      id="Narr_dKRl6hhIVEyQkdz91rOeoQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">256000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_3rM7nxXH6U2EnX7NCM8wPA"
      decimals="-3"
      id="Narr_Fvl66-Kh-0uwPwB_jSP5tw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1422000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_NGVgx_iCp0OXr3UgF2nHLw"
      decimals="INF"
      id="Narr_zoQbADT1MkCz2ef4b0tq8w"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">120779</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_NGVgx_iCp0OXr3UgF2nHLw"
      decimals="2"
      id="Narr__daD6Gkw90WgqO5A-dOZOw"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">10.97</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_3rM7nxXH6U2EnX7NCM8wPA"
      id="Narr_89ZHNx59PE-SRr9xmEaO4Q">P1Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_NGVgx_iCp0OXr3UgF2nHLw"
      decimals="-3"
      id="Narr_28JKSgq0fE6QwSEgNO5L_A"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1344000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_8ozFJvTZ-0yHSWTfIU_HWQ"
      decimals="INF"
      id="Narr_42RQ_wd_Uke4SwNxKtf5wg"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">1033001</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_SRCouWz3XEmwcxSGvcJu0A"
      decimals="INF"
      id="Narr_v_3wDck8Q0KRSA3bqL2exg"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">759702</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw"
      decimals="INF"
      id="Narr_7Cg7S-e4jkuIKqW94So82A"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">706637</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_RangeAxis_srt_MaximumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_P61IRcsLDEeNAKDB_BdacQ"
      id="Narr_gF3YUiUmCUS2onsQcdwPdA">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions
      contextRef="As_Of_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_doPPpFZ3-0SMtFKuRd9nBQ"
      decimals="-5"
      id="Narr_shHDDxPWO0qfl21vZI90Ug"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13300000</csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions>
    <csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions
      contextRef="As_Of_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Ug2UAGBzzEqKX4BN1gBIYw"
      decimals="-5"
      id="Narr_nbfZSNZy7UCPf5u_oV_x8g"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10200000</csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions>
    <csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions
      contextRef="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_0F00mVXwd0mQUFuCsDhkpw"
      decimals="-5"
      id="Narr_9uv4iP3iw0-lfcr2qYTqlQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12200000</csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_8ozFJvTZ-0yHSWTfIU_HWQ"
      decimals="-3"
      id="Narr_V12cY9NtrEqs8ZfNDqsq1g"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9314000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_8ozFJvTZ-0yHSWTfIU_HWQ"
      decimals="-3"
      id="Narr_4ijc1ELufEe-BwaFd4Qt2g"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9314000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_SRCouWz3XEmwcxSGvcJu0A"
      decimals="-3"
      id="Narr_dsoqnW1IyE6eHjt5pwH6tw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10258000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_SRCouWz3XEmwcxSGvcJu0A"
      decimals="-3"
      id="Narr_vDM7liQFGkG6omq1nh2UOQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10258000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw"
      decimals="-3"
      id="Narr_xo0VfLS0n0KH44b6SkIdaQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10682000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_0F00mVXwd0mQUFuCsDhkpw"
      decimals="-3"
      id="Narr_rQ1hPlmK7EiZbp2ghwmFEw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20507000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw"
      id="Narr_dKpVcMyewkaoKibgnZy_jQ">P2Y3M7D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_Nge53hvTFEmjcJwSbOEKNg">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&lt;/b&gt;&lt;b style="font-family:'Calibri';font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Grant-Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Shares&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Unvested at January&#160;1, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,781,271&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14.18&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 706,637&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18.05&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (696,853)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.40&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Forfeited&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (131,288)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.01&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Unvested at December&#160;31, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,659,767&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15.26&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Ug2UAGBzzEqKX4BN1gBIYw"
      decimals="INF"
      id="Tc_Jy7IPO1er0-VYvSQPkLE2g_5_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">1781271</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Ug2UAGBzzEqKX4BN1gBIYw"
      decimals="2"
      id="Tc_KkiMOIzK30-LR0S-thEtDw_5_4"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">14.18</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw"
      decimals="INF"
      id="Tc_LKTIampofkqXinZEk-3e2g_6_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">706637</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw"
      decimals="2"
      id="Tc_2kUBsU38XUe7GRK86ufNng_6_4"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">18.05</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw"
      decimals="INF"
      id="Tc_nqjVa6yqxUqCfrO5rmNVng_7_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">696853</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw"
      decimals="2"
      id="Tc_tXUnfnedYkKyykouF-LOfg_7_4"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">15.40</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw"
      decimals="INF"
      id="Tc_XtvAPielj0ujdBYpLFAcPw_8_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">131288</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw"
      decimals="2"
      id="Tc_1sKPTx4Chk668fvtPBDEww_8_4"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">15.01</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_0F00mVXwd0mQUFuCsDhkpw"
      decimals="INF"
      id="Tc_KWIa4BwaDEek-iW6w4GxOA_9_2"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">1659767</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_0F00mVXwd0mQUFuCsDhkpw"
      decimals="2"
      id="Tc_j6aW3JMCm0K-RwZxoWEk4w_9_4"
      unitRef="Unit_Divide_USD_shares_33zjasoXoUyd9x8b0E8SSA">15.26</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="Duration_1_1_2017_To_12_31_2017_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_8ozFJvTZ-0yHSWTfIU_HWQ"
      decimals="-3"
      id="Narr_hRxEqEfQ-0SdYJCPOm9fDQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12091000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="Duration_1_1_2018_To_12_31_2018_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_SRCouWz3XEmwcxSGvcJu0A"
      decimals="-3"
      id="Narr_4xmIxZLdlUSmffkh8W4CTw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10242000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw"
      decimals="-3"
      id="Narr_Uy-tkTEX0EO1sBww5zo5ag"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10733000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_xCVjgmmxHkafuf1EHATO0g">&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;26.&#160;SUBSEQUENT EVENTS&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;In the first quarter of 2020, the Company repurchased additional  &lt;/span&gt;381,330 shares with total costs of $5,963&lt;span style="white-space:pre-wrap;"&gt;.  The Company repurchased &lt;/span&gt;990,846&lt;span style="white-space:pre-wrap;"&gt; shares in total so far under the share repurchase plan authorized by its Board Directors on December 9, 2019.  These repurchased shares have been cancelled and retired.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;In early February 2020, the World Health Organization declared the outbreak of novel coronavirus, or COVID-19, a Public Health Emergency of International Concern. The outbreak of COVID-19 posed significant challenges to many aspects of the Company&#x2019;s business. Global commerce generally has been negatively affected due to travel restrictions, disruptions of global shipping and logistics systems, quarantines, and other measures taken by governments. Near-term global economic growth has also been adversely impacted. The Company is taking mitigation strategies to reduce the adverse impact of COVID-19 to its business. The COVID-19 situation remains fluid and the Company will continue to monitor it closely to assess the potential impacts. &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;On March 27, 2020, the U.S. President Donald Trump signed into law the &#x201c;Coronavirus Aid, Relief and Economic Security (CARES) Act&#x201d;. The impact of the CARES Act could be material to the Company&#x2019;s business in the U.S. The Company is in the process of evaluating the impact on its operation as further IRS guidance would be issued to address these complex provisions under the CARES Act.&lt;/p&gt;</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_k47ijO3OR06PZVxdHEkE2w"
      decimals="INF"
      id="Narr_9SpPWj3O2Ey_Luu21eXQuQ"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">381330</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="Duration_1_1_2020_To_3_31_2020_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_k47ijO3OR06PZVxdHEkE2w"
      decimals="-3"
      id="Narr_ZB80tq08vUGoA0GEqdjgDQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5963000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_11_29_2019_To_4_28_2020_us-gaap_ShareRepurchaseProgramAxis_us-gaap_RepurchaseAgreementsMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_sy5gVf4_dEiZgBZmeVnTOw"
      decimals="INF"
      id="Narr_k-gI7v3NME2pZpOq3ShoBA"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">990846</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_ygRCDgdwHkCVMzM3DsK6Fw">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Additional Information &#x2014; Financial Statement Schedule&#160;I&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Canadian Solar&#160;Inc.&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;Schedule&#160;I has been provided pursuant to the requirements of Rule&#160;12-04(a) and&#160;4-08(e)(3) of Regulation&#160;S-X, which require condensed financial information as to financial position, changes in financial position and results of operations of a parent company as of the same dates and for the same periods for which audited consolidated financial statements have been presented as the restricted net assets of Canadian Solar&#160;Inc.&#x2019;s consolidated and unconsolidated subsidiaries not available for distribution to Canadian Solar&#160;Inc. as of December 31, 2019 of $497.2 million, exceeded the 25%&#160;threshold.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"&gt;The condensed financial information has been prepared using the same accounting policies as set out in the consolidated financial statements, except that the equity method has been used to account for investments in subsidiaries.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;FINANCIAL INFORMATION OF PARENT COMPANY&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;BALANCE SHEETS&lt;/b&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars,&#160;except &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:27.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;share&lt;/b&gt;&lt;b style="font-family:'Calibri';font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;data)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;ASSETS&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Current assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Cash and cash equivalents&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,097&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,362&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Restricted cash&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 950&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Accounts receivable trade, net of allowance for doubtful accounts of $3,462 and $3,379 as of December&#160;31, 2018 and 2019, respectively&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,476&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Amounts due from subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 279,039&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 341,557&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Prepaid expenses and other current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,222&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,846&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 314,834&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 353,715&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Investments in subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,154,004&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,383,935&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Investments in affiliates&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,483&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Deferred tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,208&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 23,657&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other non-current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 68,068&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 69,070&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;TOTAL ASSETS&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,565,114&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,832,860&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;LIABILITIES AND EQUITY&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Current liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Convertible notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 127,428&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Accounts payable&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,903&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Amounts due to related parties&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 154,765&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 340,502&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Derivative liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,879&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,713&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Other current liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,255&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,531&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Total current liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 298,230&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 353,749&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Deferred tax liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 28,779&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,936&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Liability for uncertain tax positions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,633&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13,041&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;TOTAL LIABILITIES&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 339,642&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 439,726&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Equity:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Common shares &#x2014; &lt;span style="-sec-ix-hidden:Hidden_284MyGL-aE6ozlnSTlAw9w"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;no&lt;/span&gt;&lt;/span&gt; par value: unlimited authorized shares, 59,180,624 and 59,371,684 shares &lt;span style="-sec-ix-hidden:Hidden_ffv6suZ42EGOZd8DQLEmVA"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;issued&lt;/span&gt;&lt;/span&gt; and &lt;span style="-sec-ix-hidden:Hidden_bDjIoFvvgEKgVvWhVd5AnA"&gt;&lt;span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;"&gt;outstanding&lt;/span&gt;&lt;/span&gt; at December&#160;31, 2018 and 2019, respectively&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 702,931&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 703,806&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Treasury stock&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (11,845)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Additional paid-in capital&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,675&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 17,179&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Retained earnings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 622,015&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 793,601&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Accumulated other comprehensive loss&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (110,149)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (109,607)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;TOTAL EQUITY&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,225,472&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,393,134&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:70.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;TOTAL LIABILITIES AND EQUITY&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,565,114&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,832,860&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;FINANCIAL INFORMATION OF PARENT COMPANY&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;STATEMENTS OF OPERATIONS&lt;/b&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:30.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:30.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 35,011&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 86,755&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,351&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Cost of revenues&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,542&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 53,926&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,188&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Gross profit&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,469&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,829&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 163&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Operating expenses:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Selling expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,221&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,518&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,727&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;General and administrative expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,390&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,970&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 29,093&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Research and development expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 645&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 795&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 462&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Other operating loss, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,173&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 77&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Total operating expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,429&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,360&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 31,282&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Income (loss) from operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (16,960)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,469&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (31,119)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Other income (expenses):&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Interest expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (20,078)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (9,170)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (3,005)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Interest income&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 42,191&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 32,370&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 25,272&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Loss on change in fair value of derivatives, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (7,134)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,671)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (5,193)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Foreign exchange gain (loss)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (18,110)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,255&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (11,318)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Investment loss&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (11,944)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (116,879)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Other income (expenses), net:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (15,075)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 42,784&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (111,123)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Income (loss) before income taxes and equity in earnings (loss) of subsidiaries and unconsolidated investees&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (32,035)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 53,253&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (142,242)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Income tax (expense) benefit&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,686&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (12,133)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,230&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Equity in earnings of subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 130,048&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 195,950&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 308,597&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Equity in loss of unconsolidated investees&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (127)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.92%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Net income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 99,572&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 237,070&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.13%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 171,585&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;FINANCIAL INFORMATION OF PARENT COMPANY&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;STATEMENTS OF COMPREHENSIVE INCOME (LOSS)&lt;/b&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of&#160;U.S.&lt;/b&gt;&lt;b style="font-family:'Calibri';font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;b style="font-weight:bold;"&gt;Dollars)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Net income&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 99,572&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 237,070&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 171,585&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Other comprehensive income (loss) (net of tax of nil):&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Foreign currency translation adjustment&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 37,780&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt; (56,115)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 542&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;Comprehensive income &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 137,352&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 180,955&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 172,127&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 4pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;FINANCIAL INFORMATION OF PARENT COMPANY&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 24pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;STATEMENTS OF CASH FLOWS&lt;/b&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Years&#160;Ended&#160;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2017&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2018&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2019&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:29.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Operating activities:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Net income&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 99,572&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 237,070&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 171,585&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Adjustments to reconcile net income to net cash provided by (used in) operating activities:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Depreciation and amortization&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 33&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 154&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Loss on disposal of subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,559&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 116,879&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Impairment loss of investment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,686&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Loss on change in fair value of derivatives&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,134&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,671&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,193&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Allowance for doubtful accounts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,666&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (212)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (83)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Equity in earnings of subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (130,048)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (195,950)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (308,597)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Equity in loss of unconsolidated investees&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 127&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Share-based compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,314&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,259&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,682&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Changes in operating assets and liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Accounts receivable trade&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (6,739)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (5,089)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,563&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Amounts due from subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 57,539&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (184,755)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (43,630)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Advances to suppliers&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (60)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 60&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Prepaid expenses and other current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (5,715)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (2,749)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,449&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Other non-current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,016&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (149)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (1,158)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Accounts payable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,900&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (3,900)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Amounts due to related parties&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 55,399&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,598&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 183,675&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Other liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 22,436&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (25,958)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,193&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Liability for uncertain tax positions&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 833&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,008&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 408&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Deferred taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (6,106)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,230&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (1,292)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 12pt;"&gt;Net settlement of derivatives&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (6,358)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,450&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (11,125)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Net cash provided by (used in) operating activities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 114,288&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (108,595)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 136,996&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Investing activities:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Investments in subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (64,185)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (1,051)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (36,146)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Investments in affiliates&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (2,483)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Proceeds from disposal of subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 61,749&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Purchase of property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (26)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Funding of loans to subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (74,458)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (94,000)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (40,601)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Repayment of loans from subsidiaries &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 375,635&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,809&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Net cash provided by (used in) investing activities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (76,920)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 280,584&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (66,420)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Financing activities:&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Repayment of short-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (49,000)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (151,000)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Proceeds from long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50,000&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Repayment of convertible notes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (127,500)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Payments for repurchase of treasury stock&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (11,845)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt 0pt 0pt 6pt;"&gt;Proceeds from exercise of stock options&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 879&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 769&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 875&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Net cash used in financing activities&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (48,121)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (150,231)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (88,470)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Effect of exchange rate changes&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,362&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (29,618)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,110&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Net decrease in cash and cash equivalents&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (4,391)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (7,860)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt;"&gt; (6,784)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Cash and cash equivalents at the beginning of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 21,348&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,957&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,097&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Cash and cash equivalents at the end of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 16,957&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,097&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,313&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Supplemental disclosure of cash flow information:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;Interest paid (net of amounts capitalized)&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 18,375&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,154&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,644&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock>
    <us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries
      contextRef="As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw"
      decimals="-5"
      id="Narr_CL5Gqh9JhkOMohSttxny5w"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">497200000</us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries>
    <csiq:ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      decimals="2"
      id="Narr_WgRp0jyiDE-VbsgBfnOgsw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.25</csiq:ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_0kkrpImrJU-dDwOm-QR9Nw_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9097000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_zsNsI2fgzEiGZ_F34vmJmA_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1362000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalents
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_u8UOVx4Ou0GRG8QY43iPxA_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">950000</us-gaap:RestrictedCashAndCashEquivalents>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Narr_fcI5WAU4ekWHBse-wX7jcw"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3462000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Narr_4dTu_3tTGkuX_vmJXPzLtQ"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3379000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_Be1FCU_8Yk62sMDzzqkNaA_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11476000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:DueFromRelatedPartiesCurrent
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_7sbCxDF3U0i-hE6S1TSkaQ_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">279039000</us-gaap:DueFromRelatedPartiesCurrent>
    <us-gaap:DueFromRelatedPartiesCurrent
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_7XreFthBzEWTxuYj1_bESw_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">341557000</us-gaap:DueFromRelatedPartiesCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_R2rZec7gDEyGiuGV49gS6A_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15222000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_zy96KXHpJ0eAQDgveUuz-A_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9846000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_HPos5v9U6Uu-syIMmHN6GQ_12_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">314834000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_p3fCUKykIk-Vr6sVJorOKQ_12_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">353715000</us-gaap:AssetsCurrent>
    <csiq:InvestmentInSubsidiaries
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_4bHRhRgn10uGoolUlP6d6w_13_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1154004000</csiq:InvestmentInSubsidiaries>
    <csiq:InvestmentInSubsidiaries
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_3X-3_pOmPECGovRCx8RN9w_13_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1383935000</csiq:InvestmentInSubsidiaries>
    <csiq:InvestmentInAffiliates
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_G3KelM0LlUyZ1OZEPPlPrg_14_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2483000</csiq:InvestmentInAffiliates>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_e7hcerONLkmBJRWAqPZ3KA_15_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28208000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_eDLhSyVAz0GGrOm_yLcdmg_15_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">23657000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_tGhAgAIxV023j40jYoY0sw_16_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">68068000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_3IZ4YRdtDESch_q6lERCmw_16_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">69070000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_od7BtnqAfECpqZ5kPUJ7aw_17_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1565114000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_6hDUGb4nzUOkowLsk8Foiw_17_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1832860000</us-gaap:Assets>
    <us-gaap:ConvertibleNotesPayableCurrent
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_scPWPnKCwEmQzomFONJuDA_20_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">127428000</us-gaap:ConvertibleNotesPayableCurrent>
    <us-gaap:AccountsPayableTradeCurrent
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_IcXgNWdb7Ue6z_lCW7Ohkg_21_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3903000</us-gaap:AccountsPayableTradeCurrent>
    <us-gaap:AccountsPayableTradeCurrent
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_IhK1gy2k0Uu0HngwQg4ttw_21_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3000</us-gaap:AccountsPayableTradeCurrent>
    <us-gaap:DueToRelatedPartiesCurrent
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_9HmgmrciXU6yV4oKuappTw_22_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">154765000</us-gaap:DueToRelatedPartiesCurrent>
    <us-gaap:DueToRelatedPartiesCurrent
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_3Et-OlvqsEWPu9MpSeDF2w_22_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">340502000</us-gaap:DueToRelatedPartiesCurrent>
    <us-gaap:DerivativeLiabilitiesCurrent
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_5R6LL8vt70mYAPsWMYEVTg_23_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3879000</us-gaap:DerivativeLiabilitiesCurrent>
    <us-gaap:DerivativeLiabilitiesCurrent
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_RqC4g_FT8kOW-wOcuTLk1Q_23_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4713000</us-gaap:DerivativeLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_vacz1fMbXU-U-P7QfXO0kw_24_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">8255000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_NO4BDdzMf0Wbkjo5gbpq9w_24_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">8531000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_oAQlGrJBjEK-Kf4BEzLrqQ_25_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">298230000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_oDFXP22PQU61SvDSJinIEw_25_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">353749000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_IZASMGzwhkmaiHdYp6uHvw_26_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">50000000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_awcIgGtLmUeSSd__NscHlQ_27_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">28779000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_QTZwb_2KHUWZwdanhhjCwg_27_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">22936000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_s77IvWZA-EC7iysGQZv0Hg_28_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12633000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_EdBOBlzTmEOQKFfSbIicIg_28_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">13041000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_TRVSIkwzqkmIplinTiJh1g_29_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">339642000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_ytRNNzfH9UKcbdVQ-TszPA_29_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">439726000</us-gaap:Liabilities>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="INF"
      id="Narr_uInyVVvnZUyNHHUFLGWL3g"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">59180624</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="INF"
      id="Narr_bDDOjrrVnU-Cb3KZcsbh4A"
      unitRef="Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw">59371684</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_5g7ni5pB5kudnMoDslh2Ig_31_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">702931000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_bIt0YtBnHkig63dDHkee-Q_31_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">703806000</us-gaap:CommonStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_vOsSCbaU2kWTvjS1aVOORw_32_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-11845000</us-gaap:TreasuryStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_Y5E_00aCnkWsn-FlbmNJXg_33_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10675000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_6ViDct59sEmYlySXce62VA_33_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">17179000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_th28xsMcXkeOoasIhIpsxQ_34_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">622015000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_sxy3b7xzzUezSSNn-B1QJQ_34_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">793601000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_h19JMJ_mQkWcpv2eAKgtSQ_35_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-110149000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_5Xe6IaqXdESQJvHM_wTg1Q_35_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-109607000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_fhwOlelMq02jDAK5YDfcJg_36_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1225472000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_q10oDFNDf0qFr-5BZ47O3w_36_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1393134000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_IlaYbUX86EK_EjqRo0dESg_37_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1565114000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_9ZPKRVbFPUWpdJZ3NtGHpA_37_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1832860000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_6jwHMdGjIUWw0yF_nBdElg_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">35011000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc__LEwbEuG5kmXT5bc1Y7_0A_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">86755000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_Us0pQ7SE_UG6McwKCO-8ww_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4351000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_jQBZfoz2kEyiJy0CVpy7FQ_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">29542000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_0bYew4jeNUOG0117N3Zyrg_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">53926000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_PF1g9kStyEaQdTFy_kRcTQ_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4188000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_iJRcfmTXHk266JtDXhhHSw_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5469000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_fmrTgIZe9U6hhoCSNN102g_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">32829000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_Lc5pmIiIN0uU6CtPMod8Eg_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">163000</us-gaap:GrossProfit>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_BGqXzBKm50e-T-0TSluIAQ_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2221000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_1OkSjEtZiEGl7lXxsUdeqg_8_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2518000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_56GyVNsa1UGE9MwAWki8YQ_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1727000</us-gaap:SellingExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_peA4_Vm7zEqDRNDtOhqWhg_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18390000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_Bi76kuOQpEqsLHzS2kbLCg_9_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18970000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_8oBqZcgld0i-T8teTtz-rg_9_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">29093000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_4F1sZemv5kSWrJyrFiknJQ_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">645000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_yqNyVjmC_EyOJjFVfcm5gA_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">795000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_aSC-Y1Bhm0uCnqUca8TSGw_10_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">462000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_Fn2-VmJJCUmPweo2EES4lQ_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1173000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_iuefmv6LIUe_QdGVNfTcvw_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-77000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_n41W5EnXBEmPiulNHwu2Ag_12_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">22429000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_zu8Txv7_ckWMd_D-WohpAw_12_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">22360000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_xS3L_9O98E-tCVj539BPFQ_12_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">31282000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_NyjY-x9FQ0Kp1Y5jCAxCyA_13_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-16960000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_hoF_fMANcke6VRfDje2MkA_13_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10469000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_NgvYRJaoO0u1DUFBxwHmgw_13_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-31119000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_mYQf21xO2k-FVicOaT29BA_15_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">20078000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_HRKr3v0otUWWWaQti5d4jQ_15_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9170000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_02KlfN7sOU6ndAcoVrSKJg_15_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3005000</us-gaap:InterestExpense>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_m3GvllVj2kaCnTq30meHSA_16_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">42191000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_OWdCtCPJ2kqf8gGvFdrE1g_16_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">32370000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_peGfFTkIy0GFLjN8GVkjgA_16_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">25272000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_9TlpVFmcF02oKkfh2HHMuw_17_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-7134000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_djzIv8BOj0ejpbzvTl1_VA_17_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-2671000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_lq4xhOToc0uZCIdZEPK6xg_17_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5193000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_LWSBlZ0WSUe9ASsr6TyBJg_18_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-18110000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_GOTZ4WNHXUqMD7Kcfm-wSg_18_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">22255000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_cG6OOh8r3EmCD7RxtSzQ9Q_18_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-11318000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:GainLossOnInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_i6J2MbkgVkmG1oBbMGxxqQ_19_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-11944000</us-gaap:GainLossOnInvestments>
    <us-gaap:GainLossOnInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_yuA18B3prkC6reXx76H4JQ_19_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-116879000</us-gaap:GainLossOnInvestments>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_x7o9a4m2Hku5yQZzAsaT-g_20_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-15075000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_c6woWqfyVE22MVnCVM8x8w_20_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">42784000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_dzWmsu0ihk6PTawmcKWvsg_20_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-111123000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_ElHbnMZEkEGNXCYz8kzgOg_21_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-32035000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc__m86WwQN-keocMOkv5S7uw_21_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">53253000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_KNeNHctx-EmZqBk_9jw_2w_21_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-142242000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_FCsyAD-ZdEKTM4D0s0fIOQ_22_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1686000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_dc9pzB7VjU6rpUhOnVOcdw_22_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12133000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_to8rhnBMGUK25jaZgJLDVg_22_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5230000</us-gaap:IncomeTaxExpenseBenefit>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_O9acUnIu1kGXBBBJQm5P1A_23_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">130048000</csiq:EquityIncomeLossFromSubsidiaries>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_vprSle8g0UWSpYFvS_Lp-g_23_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">195950000</csiq:EquityIncomeLossFromSubsidiaries>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_j1W4xscBsESYpuWWlB5IPQ_23_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">308597000</csiq:EquityIncomeLossFromSubsidiaries>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_Koym8SFU-kiGj2h92LacGA_24_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-127000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_XDDMjVthKEWRgK1GvWvKxw_25_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">99572000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_80mXrqqX_keCvWjBz_y_fA_25_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">237070000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_-qSr8-LYhUyHxWRqRYw7Pg_25_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">171585000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_jXmWB8TtQ0mr7Fc-P_z1uQ_4_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">99572000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_03sHruCzw0imTnQWDX2D_Q_4_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">237070000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_kLx7nSndDEO8ArSNz1hFbA_4_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">171585000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_PrhijJb8XUeuN-xvp0eGwg_6_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">37780000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_nzJK7BNkUkqHbF1dPvVzTA_6_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-56115000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_xS7u83aJok2x0kE6VoL9tg_6_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">542000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_zvrsm9DffkOpZiw7rGvpBw_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">137352000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_dr4BNNLZbkC7VAQ7CuqIlg_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">180955000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_WEmTxDL1LUKlo0Tzg8ljpA_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">172127000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_DW3CMFWAq0S7oni3bFj_VA_5_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">99572000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_EsXWunlFT0m5FUAk6i0zNQ_5_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">237070000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_jQ7rXo_Z1UaH-ZzsI4efHA_5_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">171585000</us-gaap:ProfitLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_gYfi8GkC9UC1m1KByZD7OQ_7_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">33000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_Q1w6_66i-kCxeS69mCVwdw_7_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">21000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_F9Cpu5JBzU2_vOF9Dsi0rA_7_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">154000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:GainOrLossOnSaleOfStockInSubsidiary
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_OPqXMnPuCkqpEFeugsMWkw_8_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9559000</us-gaap:GainOrLossOnSaleOfStockInSubsidiary>
    <us-gaap:GainOrLossOnSaleOfStockInSubsidiary
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_f466iAgex0eR6esSXxkdAw_8_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">116879000</us-gaap:GainOrLossOnSaleOfStockInSubsidiary>
    <us-gaap:ImpairmentOfInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_83Ei7fdrmUqbKOHHUSKRHw_9_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3686000</us-gaap:ImpairmentOfInvestments>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_Qpkxkb2vLUuqMtqHZ2evbA_10_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-7134000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_zn6Ra9dEnEOdE-C0mxJPSg_10_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-2671000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_LrorF2KscESCrcGB3DGoYg_10_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5193000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_cTym8Ctea0e6nkHTo0UY0Q_11_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2666000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_erSPTNMbO06mvMDfQEPUxQ_11_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-212000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_Q8Og0_hf2ke8sefeEaPyeQ_11_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-83000</us-gaap:ProvisionForDoubtfulAccounts>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_NPo7RkeeS0WR-VLnuQfopQ_12_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">130048000</csiq:EquityIncomeLossFromSubsidiaries>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_nlLvyp3s1EKUtfeKIVpESw_12_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">195950000</csiq:EquityIncomeLossFromSubsidiaries>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_juku8EKwgE-QxGlbyTVJng_12_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">308597000</csiq:EquityIncomeLossFromSubsidiaries>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_AjanSDuVk0qVGhcY90EdtQ_13_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-127000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc__55UAK5YoUuLSc7TZW8MwA_14_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9314000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_KUoRzA150kiNUYVt38cVIA_14_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10259000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_C_yJ4WoGpkuEK7d35UTxPw_14_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10682000</us-gaap:ShareBasedCompensation>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_zROvGSQ9rU-Qr8dKmLaeMw_16_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6739000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_xask52K660ao90tkMxpPPA_16_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5089000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_9-19XeIZ6ESlsy5Ud2HwCg_16_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-11563000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_YZ4DgLlRHEmp3Z9BT6cukg_17_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-57539000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_V6lvyfWX6kyGsecDHkbxsA_17_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">184755000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_Ilq_tcKZZk--7-kg6DFArw_17_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">43630000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <csiq:IncreaseDecreaseInAdvanceToSuppliers
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_pBUN3puclUuyI0dqIRVFzw_18_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">60000</csiq:IncreaseDecreaseInAdvanceToSuppliers>
    <csiq:IncreaseDecreaseInAdvanceToSuppliers
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_IIn07s2Vxk-deUaLrFFnUQ_18_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-60000</csiq:IncreaseDecreaseInAdvanceToSuppliers>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_HgIVZjyrD0iFlzVl48yeIA_19_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">5715000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_jNUV4pV5vkyF3f5wuqeeIw_19_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2749000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_OQ7I-perjkmpfX5-83WUIA_19_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-5449000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_lhAfdxEBPkOtGtBrAapPtg_20_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1016000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_OJVseJ1KK0C6lDs3r_2lBw_20_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">149000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_PzEFy87Wa0-AqmKBQ3mLng_20_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1158000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_a6bX7YpxKUeeVV_kzq066g_21_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">3900000</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_nQwo5aBnU0OajCzCJ5_AGQ_21_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-3900000</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_R8vmuBHFFEmXphGw6SFKiw_22_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">55399000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_4sckkRxlSkyh2Ib6O2oc5g_22_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">15598000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_L2EMBmpdR0KuYEg1whJe8A_22_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">183675000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_Wh3FwYnXTUmVtj9od-BWqw_23_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">22436000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_OniU3C93c0WBivEGpCXQzQ_23_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-25958000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_vLrkRYCUqUKB3pXsND8qOQ_23_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1193000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_hFx1A98VrkqURWC9AOgJWQ_24_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">833000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_xYioOieZ7k2QnDsKMUtk-w_24_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6008000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_MdGdsuG1WkSEbBJ0UuaUEw_24_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">408000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_S5KaDh-QQ0yo5n3NUCkTJw_25_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6106000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_6NW5YG3TSEqLvXbd4dzf0g_25_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-9230000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_AR4kpCdBYUu1d4gdK1-RKQ_25_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1292000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc__22GbMlKU0i6Hf6C_d_njQ_26_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6358000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_WL2iseWFek6DwkQoxLdFuQ_26_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-21450000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_6Y56cGf0PESpziZSj4o6ew_26_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11125000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_7a8hxkpYeUyer1AysURawQ_27_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">114288000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_qE4Di0slVk-mj6NxTQLdPw_27_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-108595000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_zmmRWyqSnU6NZfJks29sCA_27_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">136996000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <csiq:PaymentsToAcquireSubsidiaries
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_d3o55X2rXEWkZZOVTj4bqw_29_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">64185000</csiq:PaymentsToAcquireSubsidiaries>
    <csiq:PaymentsToAcquireSubsidiaries
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_qorrQBn6zUqXAOIQjWpEqg_29_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">1051000</csiq:PaymentsToAcquireSubsidiaries>
    <csiq:PaymentsToAcquireSubsidiaries
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_CvHQdU-_j0GcM1L9tOJhyw_29_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">36146000</csiq:PaymentsToAcquireSubsidiaries>
    <csiq:PaymentsToAcquireAffiliates
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_ZekvzJHFxkOGZZxph6DXSA_30_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2483000</csiq:PaymentsToAcquireAffiliates>
    <us-gaap:ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_XHy2E4Y2FUutzyOHTAVIpQ_31_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">61749000</us-gaap:ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_Ja04Pt6v90irau7kooFofg_32_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">26000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_AG6qv_iC90Gr3os4SJJS5Q_32_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-1000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <csiq:PaymentsForProceedsFromLoansToSubsidiaries
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_NtrOI3MEjUin_vit9K2bXw_33_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">74458000</csiq:PaymentsForProceedsFromLoansToSubsidiaries>
    <csiq:PaymentsForProceedsFromLoansToSubsidiaries
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_ZmHJhDtqJUyW8e_5X0mPGA_33_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">94000000</csiq:PaymentsForProceedsFromLoansToSubsidiaries>
    <csiq:PaymentsForProceedsFromLoansToSubsidiaries
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_6sJr31UIm0-YUMXOS_y62w_33_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">40601000</csiq:PaymentsForProceedsFromLoansToSubsidiaries>
    <us-gaap:RepaymentOfNotesReceivableFromRelatedParties
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_L3fUU6zM0EOrFV7DZJ0DZA_34_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">375635000</us-gaap:RepaymentOfNotesReceivableFromRelatedParties>
    <us-gaap:RepaymentOfNotesReceivableFromRelatedParties
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_jyafqGJihU6Gu42ph5pSeQ_34_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">12809000</us-gaap:RepaymentOfNotesReceivableFromRelatedParties>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_4Zm0kdXa5k21WWGnvyR-Rw_35_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-76920000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_bMHzgXios0y-eUhLTgdnWQ_35_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">280584000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_C0t33PICSEq72h5qZtA8sw_35_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-66420000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc__HP29XeudUeoOAUo2zqc0A_37_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">49000000</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_ebXPmIvgjk-7-ZvZ0mcfbA_37_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">151000000</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:ProceedsFromRepaymentsOfNotesPayable
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_DHUKaULUsEWN4AnADvJx_g_38_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">50000000</us-gaap:ProceedsFromRepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfConvertibleDebt
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_RSq14L7UO0aIvTZHi6qC1g_39_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">127500000</us-gaap:RepaymentsOfConvertibleDebt>
    <us-gaap:PaymentsForRepurchaseOfConvertiblePreferredStock
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_x1MeE5lTz0GJ19PEgzm91w_40_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11845000</us-gaap:PaymentsForRepurchaseOfConvertiblePreferredStock>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_jp3XS3pKy0uj7wqTXUt4EA_41_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">879000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_bm6aCiXAmEKokZnI6TaiPQ_41_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">769000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_DPG_T_QIk0eqKk6rfG4hZQ_41_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">875000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_YWdRphvmhkSXWZJj8OoH_g_42_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-48121000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_gFVSS2m1EUSpCySLBfjx2g_42_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-150231000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_8bUVx01o1EWsK9USrPvoAw_42_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-88470000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_bTK60zrOE0el5l_3ftl9zA_44_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">6362000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_TP4dSuXIBkWHiypvWnAeSw_44_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-29618000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_8WEdQUvt9kWA0o9RPa2ssw_44_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">11110000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_5Nhxxzg0EUy1Q0j1CqNO9w_46_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-4391000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_wSi11rF8OkaIauk0F3uvaw_46_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-7860000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_6PWVQ4Bhg06T1iaQIpEgZA_46_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">-6784000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2016_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_ync2vpL9vkSdVFl3lols6w"
      decimals="-3"
      id="Tc_i4VxLa3IlUOqtMx4A_U5zA_48_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">21348000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_dFnmrWqd-UqgDn0vonqWDw"
      decimals="-3"
      id="Tc_0zznISlQj0OuitOMOUCijw_48_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">16957000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_anhcZOjNyUeKAasEpUA9_g_48_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9097000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_dFnmrWqd-UqgDn0vonqWDw"
      decimals="-3"
      id="Tc_WaCU2kwRS0GiQUR2lXUhHQ_49_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">16957000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_xR4OgQ1Z8EaYBw10963zyA"
      decimals="-3"
      id="Tc_XPjat1Jut0SwYxJ-ndDz8Q_49_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">9097000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA"
      decimals="-3"
      id="Tc_zzTTcbHAJUeU_7Mpf-yGIA_49_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">2313000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2017_To_12_31_2017_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_1pEjHSwT_kWcCl6_BUrcUg"
      decimals="-3"
      id="Tc_iAIAyw0wIkCpy9L5RcSAJQ_52_2"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">18375000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2018_To_12_31_2018_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_hvL1qqpukE6wQjFhQrcLKg"
      decimals="-3"
      id="Tc_AhNqiF5tP0mwwnelmsqzvQ_52_4"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">10154000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ"
      decimals="-3"
      id="Tc_N_TD1hjLakuFzlV9WgZ3OQ_52_6"
      unitRef="Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q">4644000</us-gaap:InterestPaidNet>
    <us-gaap:InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock
      contextRef="Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ"
      id="Tb_mvwmD7yos0yptLZyYIY0_g">&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Appendix 1&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Major Subsidiaries of CSI &lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;The following table sets forth information concerning CSI&#x2019;s major subsidiaries: &lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:12pt;text-indent:18pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Place&#160;and&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Attributable&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:6pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:6pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Equity&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:6pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:45.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Subsidiary &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;of&#160;Incorporation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Interest&#160;Held&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Principal&#160;Activity&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;CSI Solartronics (Changshu)&#160;Co.,&#160;Ltd.&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Developing solar power project&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;November&#160;23, 2001&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;CSI Solar Technologies&#160;Inc.&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Sales and marketing of solar products&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;August&#160;8, 2003&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;CSI New Energy Holding Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Investment holding&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;January&#160;7, 2005&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Manufacturing (Luoyang)&#160;Inc.&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Manufacture of solar modules,&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;February&#160;24, 2006&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;ingots and wafers&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Manufacturing (Changshu)&#160;Inc.&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Production of solar modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;August&#160;1, 2006&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;CSI Cells&#160;Co.,&#160;Ltd.&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Manufacture of solar cells&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;August&#160;23, 2006&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar (USA)&#160;Inc.&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;USA&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Sales and marketing of modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;June&#160;8, 2007&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Japan K.K.&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Sales and marketing of modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;June&#160;21, 2009&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Solutions&#160;Inc.&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Developing solar power project and manufacture of solar modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;June&#160;22, 2009&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;CSI Solar Power Group Co., Ltd. (formerly named/known as "CSI Solar Power (China)&#160;Inc.")&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Investment holding and trading&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;July&#160;7, 2009&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar EMEA&#160;GmbH&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Germany&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Sales and marketing of modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;August&#160;21, 2009&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar (Australia) Pty&#160;Limited&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Australia&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Developing solar power project&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;February&#160;3, 2011&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar International Limited&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Hong Kong&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Sales and marketing of modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;March&#160;25, 2011&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar O and M (Ontario)&#160;Inc.&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Solar farm operating and maintenance service&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;May&#160;10, 2011&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Suzhou Sanysolar Materials Technology&#160;Co.,&#160;Ltd.&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 99.73&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Production of solar module materials&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;August&#160;17, 2011&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar South East Asia Pte. Ltd.&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Singapore&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Sales and marketing of modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;September&#160;19, 2011&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar South Africa (Pty)&#160;Ltd&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;South Africa&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Sales and marketing of modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;June&#160;22, 2012&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Brazil&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Sales and marketing of solar modules, and provide solar energy solution to customer&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;November&#160;14, 2012&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Construction (USA) LLC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;USA&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Solar farm operating and maintenance service &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;May 20, 2014&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Projects K.K.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Developing solar power project&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;May 20, 2014&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;CSI&amp;amp;GCL Solar Manufacturing (Yan Cheng) Inc.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Research and developing,  manufacture and sales of solar cells, and solar power projects development &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;May 29, 2014&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar UK Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;United Kingdom &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Sales and marketing of modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;May 29, 2014&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar UK Projects Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;United Kingdom&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Developing solar power project&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;August 29, 2014&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Changshu Tegu New Material Technology Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;EVA solar packaging film research and development, production, and sales&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;September 2, 2014&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Changshu Tlian Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Junction box and connector research, development, production and sales&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;December 26, 2014&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Recurrent Energy Group Inc.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;USA&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Developing solar power project&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;January 22, 2015&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Recurrent Energy, LLC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;USA&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Developing solar power project&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;March 31, 2015&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PT. Canadian Solar Indonesia&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Indonesia&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 67&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Production of solar modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;February 26, 2015&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Manufacturing Vietnam Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Vietnam&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Production of solar modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;June 25, 2015&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Energy Private Limited&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;India&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Sales and marketing of modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;May 06, 2015&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar MSS (Australia) Pty Ltd (formerly named/known as &#x201c;Canadian Solar Australia 1 Pty Ltd. ")&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Australia&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Sales and marketing of modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;August 03, 2015&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Energy Holding Company Limited&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Hong Kong &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Project investment, financing, trading of solar modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;September 22, 2015&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Energy Singapore Pte. Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Singapore&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Development &amp;amp; Ownership of solar PV projects&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;October 29, 2015&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Manufacturing (Thailand) Co.,Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Thailand&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 99.99992&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Cells and module production&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;November 20, 2015&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Sunenergy (Suzhou) Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Production of solar modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;May 12, 2016&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Sunenergy (Baotou) Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Production of solar modules, ingots and wafers&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;August 18, 2016&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Middle East DMCC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;United Arab Emirates&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt;100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Sales and marketing of modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;March 28, 2017&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;CSI Investment Management (SuZhou) Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt;100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Investment management &amp;amp; assets management&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;May 05, 2017&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Suzhou Gaochuangte New Energy Development Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 90&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Design, engineering construction and management of solar power project&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;June 12, 2017&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;CSI Cells (Yancheng) Co., Ltd. &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Production of solar cells&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;May 18, 2017&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;CSI Modules (DaFeng) Co., Ltd. &lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;**&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Production of solar modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;May 16, 2017&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Construction (Australia) Pty Ltd&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Australia&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Providing engineering, procurement and construction service&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;July&#160;04, 2017&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;CSUK Energy Systems Construction and Generation JSC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Turkey&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Construction of power plants generating electricity by utilizing renewable energy sources&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;October 30, 2017&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;CSI Modules (JiaXing) Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Production of solar modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;November 3, 2017&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;CSI Wafer (LuoYang) Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Production of solar cells and wafers&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;November 27, 2017&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Manufacturing Taiwan Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Production of solar modules&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;December&#160;05, 2017&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Argentina Investment Holding Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Argentina&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Developing solar power project&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;January 23, 2018&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Changsu Xingu Photovoltaic Material Technology Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;EVA solar packaging film research and development, production and sales&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:top;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;March 19, 2018&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar New Energy Holding Company Limited&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Hong Kong&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Project investment, financing, trading of solar modules.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;March 20, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar Energy Holding Singapore Pte. Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Singapore&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Development &amp;amp; Ownership of Solar PV Projects&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;April 22, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar SSES (Canada) Inc.&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;System Solution and Energy Storage&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Nov 27, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:auto;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;Canadian Solar SSES (UK) Ltd&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;United Kingdom&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;text-align:right;margin:0pt 2.25pt 0pt 0pt;"&gt; 100&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;IP holding&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:45.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:6pt;margin:0pt;"&gt;December&#160;18, 2019&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.41%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;vertical-align:bottom;width:31.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:6pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-family:'Times New Roman';font-size:7.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"&gt;&lt;div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/&gt;&lt;/div&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 6pt 0pt;"&gt;*&lt;span style="font-family:'Calibri';"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/span&gt;CSI Cells Co., Ltd. holds 52% equity rights of CSI Cells (Yancheng) Co., Ltd., a limited partnership fund, of which CSI Cells Co., Ltd. holds 37.33% shares as a limited partner and a wholly-owned subsidiary of CSI Solar Power Group Co., Ltd. holds 0.17% shares as a general partner, holds 48% equity rights of CSI Cells (Yancheng) Co., Ltd.&lt;/p&gt;&lt;p style="font-family:'Times New Roman';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 0pt;"&gt;**&lt;span style="font-family:'Calibri';"&gt;&#160;&#160;&#160;&#160;&lt;/span&gt;Canadian Solar Manufacturing (Changshu) Inc. holds 3.12% equity rights of CSI Modules (DaFeng) Co., Ltd.,a limited partnership fund, of which Canadian Solar Manufacturing (Changshu) Inc. holds 20% shares as a limited partner and a wholly-owned subsidiary of CSI Solar Power Group Co., Ltd. holds 0.067% shares as a general partner, holds 96.88% equity rights of CSI Modules (DaFeng) Co., Ltd.&lt;/p&gt;</us-gaap:InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CSISolartronicsChangshuCoLtdMember_X2daspvchECaB7VCla1Psw"
      decimals="2"
      id="Tc_bswVuNfUEkWtFZBM158cpw_4_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CSISolarTechnologiesIncMember_eXrqcEc30Ei0qALz2vCLvw"
      decimals="2"
      id="Tc_rBVaZqm0kkOX9PP2LBdvGg_6_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiNewEnergyHoldingCo.LtdMember_f3BBwSBlQk-aYL2vlJi5jg"
      decimals="2"
      id="Tc_vkiaF0IC1USgWU5xBvjvhA_8_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingLuoyangIncMember_IjALAkJg8kS0WYjYxymI7g"
      decimals="2"
      id="Tc_RIdtD6cFVkmuwzisXBUdYQ_10_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_l7hJjXGwS0S7CHhnXKSXyw"
      decimals="2"
      id="Tc_1ZXdG6fxaE-BMCgZv6VTwQ_12_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiCellsCo.Ltd.Member_pgGVNg8lp0Sh7U7fWsyv2g"
      decimals="2"
      id="Tc_AsHI0vdid0uyfiROdZsjdA_14_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_50dtds0o1U2PfBa7Ju7KIQ"
      decimals="2"
      id="Tc_x2AssO4g3UKmFbFPNW4i5w_16_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_E7s0enECwEm_SyoeRl196w"
      decimals="4"
      id="Tc_MkY8C3DO-EK2V_iFeH6lxg_18_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_R65hiqi-BkGyArimZFj6kQ"
      decimals="2"
      id="Tc_mkI0NQtFAE6Zu4KUSs--rQ_20_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiSolarPowerChinaInc.Member_2XOncCEazUK4vS1Ijo1FPQ"
      decimals="2"
      id="Tc_lrMCigBMOkKaiTYmFiJ0OA_22_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_VgVpP6IgvEeJJ8yXETQkfQ"
      decimals="2"
      id="Tc_gBis_JObsUapaX86lvMKrg_24_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarAustraliaPtyLtdMember_IQaKtyiZxkG7qi3SJvyDIA"
      decimals="2"
      id="Tc__8FSh-itOEOjOuSkC2dnWA_26_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarInternationalProjectHoldingLimitedMember_AlBVqgZqXUiF6uAz17iJUA"
      decimals="2"
      id="Tc_Z4ClV0iCO0i4VvdMrKF1XA_28_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarOAndMOntarioIncMember_6CM_pzl240CSlQHbpW0PuQ"
      decimals="2"
      id="Tc_PBcrzJDxZ0K4R4hvfccSTg_30_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember_p6_jPQLIaUutOVv0Ty5iCg"
      decimals="5"
      id="Tc_ossXxX1z2UO1kxo4OcbX1w_32_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.9973</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSouthEastAsiaPteLtdMember_ubLDcYvLCUuT3bAlHD7uNA"
      decimals="2"
      id="Tc_bdruZ75b10a2pU8QK-rNJg_34_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSouthAfricaPtyLtdMember_Hq256zVRrkyBj14khGxE3A"
      decimals="2"
      id="Tc_CcU0pZh3jEmziPulabwW9w_36_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_D0bbTLwklk69tQO30lztQA"
      decimals="2"
      id="Tc_DEpuWs6C0UivYorSBmUVHw_38_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarConstructionUsaLLCMember_SxMKdJGv0EqOa4AtP5Hczw"
      decimals="2"
      id="Tc_yhyDU3cTJ0K40fQyh8egaA_40_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_wqWISQGOt0aEOzTLJDmR9w"
      decimals="2"
      id="Tc_1JSVrnpEf0qG1yFl6Htrhw_42_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiGclSolarManufacturingYanchengCo.Ltd.Member_YqFvDkAPxkCVF2Vt8O2l6g"
      decimals="2"
      id="Tc_OjCmIyaEmEGaPHMMzTriXA_44_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarUkLtdMember_nHcLXRu22kaKL7Hpu3JEWA"
      decimals="2"
      id="Tc_Ads-p6c85Uar64Fq6axFJg_46_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarUkProjectsLtdMember_gaFFVSiMVU6dJx6tv-15pw"
      decimals="2"
      id="Tc_9IsbFglSo0u-g-sBpvAshw_48_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember_pfgLe_A9ukygMgFIx3pkTw"
      decimals="2"
      id="Tc_1iP1GFS1pk2dOBI-JX7IzA_50_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_ChangshuTlianCo.Ltd.Member_O1mirRnMdUOXfh8yn7m3pQ"
      decimals="2"
      id="Tc_csvGdBQjLEC4g3jWjNBfOw_52_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_RecurrentEnergyGroupInc.Member_tfNffgYLOU21rCoI61i76w"
      decimals="2"
      id="Tc_r6OIVNAm_UePpim0Xh1nFw_54_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_RecurrentEnergyLlcMember_uCUszJzAkkedZfzB6TzLjg"
      decimals="2"
      id="Tc_BTgXdasoJkO8t7qmjZA7kg_56_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_PtCanadianSolarIndonesiaMember_WIa2wR-R7EabxskoyytV4Q"
      decimals="2"
      id="Tc__haxm0mma0ipnfcHDxdFqg_58_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.67</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingVietnamCo.LtdMember_j6KXhNbxdUKQnrw1nPf8pA"
      decimals="2"
      id="Tc_bUsZr3zBUUaEeXYAENnSVg_60_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyPrivateLimitedMember_eHSRKh6OEU6lcmKRHLWs8g"
      decimals="2"
      id="Tc_ITtec7ZTqU-5BDrlc9KrQw_62_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarAustralia1PtyLtdMember_Bq8reKRQzEeAJVfF0H_S2Q"
      decimals="2"
      id="Tc_inX8tU19X0mJ3R1TNsaQtQ_64_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingCompanyLimitedMember_kYzLCiJx4U2DO0PAUArfcA"
      decimals="2"
      id="Tc_Vf__JX5yAEGJhoz5Et-WFw_66_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member_IZbwU8qQ1k2O4q_JuvLeJg"
      decimals="2"
      id="Tc_poPrx7hGgEyweSCtls3wuQ_68_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_k3pfla9r_USOzRTlmL3WIg"
      decimals="7"
      id="Tc_UH_AOwzp3kymkjs6dBC6Vg_70_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.9999992</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSunenergySuzhouCo.Ltd.Member_dJD8J6MYAEOwoZlpGzx51Q"
      decimals="2"
      id="Tc_8VLwFYqY_EmItnq2AFjT8g_72_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member_8ujZS-yBMESJXzpV0Crsxw"
      decimals="2"
      id="Tc_t3ElhxaNyUWz88wQmS3n0Q_74_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarMiddleEastDmccMember_UsdpaLQhmk-podlCp2-T8Q"
      decimals="2"
      id="Tc_hB0OrYkL5kW91z62tY_41w_76_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiInvestmentManagementSuzhouCoLtdMember_GJt3ETH8_0CxWvTY3gZ0bw"
      decimals="2"
      id="Tc_mZ_3V4s8ZE-Gbt-73M6MoA_78_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember_LGxXw2tOskuUFrLfvpL8eA"
      decimals="2"
      id="Tc_4GuFwinfw068s9oIVDkS0g_80_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.90</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarConstructionAustraliaPtyLtdMember_Jub7_vciaEqQm7wdA9GrGg"
      decimals="2"
      id="Tc_KQLxB1fU8kS6Cld8fGysrQ_86_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsukEnergySystemsConstructionAndGenerationJscMember_fjg9x-UWGUG4bERD7gfdCg"
      decimals="2"
      id="Tc_Z_X4aEUn7Um5d2U4n5IKWw_88_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiModulesJiaxingCoLtdMember_SNgW881rrEizurtXQwpdcA"
      decimals="2"
      id="Tc_lnX5asi6Q0mVxRiRNeqc6g_90_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiWaferLuoyangCoLtdMember_1ZVHiC_9dEyNUII2fgKyjw"
      decimals="2"
      id="Tc_5NFQw1lyykiz27MQNzybxg_92_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingTaiwanCoLtdMember_VPLCaZyfrkGlrnL0ri-j4w"
      decimals="2"
      id="Tc_pCaWjinoM02GytkqwtKbPg_94_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarArgentinaInvestmentHoldingLtdMember_EPf-Mmmb3EmG8Ak__bCR0w"
      decimals="2"
      id="Tc_OwhcWfnHjUWhXCOP0LQVCg_96_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember_8g6PlU6ogEWyqmSMeIbKnw"
      decimals="2"
      id="Tc_qsF3l7b2MkCxXxYJ11XjYA_98_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember_iZAe9dPgUEWNHzxDVQo4Ag"
      decimals="2"
      id="Tc_06Sc4v-M3EeFq-finauPjA_100_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member_MU8LW1ASJEypZcrjukEHEw"
      decimals="2"
      id="Tc_GLV8bRee0EacBGvhHzvS4g_102_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSsesCanadaInc.Member_9FBBjjFkL02CrIh4E0mIGA"
      decimals="2"
      id="Tc_1e3pVidzakKDv2UsGC3AZg_104_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CanadianSolarSsesUkLtdMember_s7UcNNfSTk-ya7j7gKh3KQ"
      decimals="2"
      id="Tc_Ne89CcyWL02giLO9pwgPOw_106_4"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_CounterpartyNameAxis_csiq_CsiCellsCo.Ltd.Member_Ld_hV3-Kk0-OpEOkQQ3flg"
      decimals="2"
      id="Narr_bHHZBkmxw0uVOWoiTVvwJQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.52</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiSolarPowerChinaInc.Member_srt_CounterpartyNameAxis_csiq_CsiCellsCo.Ltd.Member_NVm05P2FNkarzAqjfzzKLg"
      decimals="4"
      id="Narr_AcklYK5Zz0WvetH0u-Egvw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.3733</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <csiq:EquityInterestHeldAsGeneralPartner
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_CounterpartyNameAxis_csiq_CsiCellsCo.Ltd.Member_Ld_hV3-Kk0-OpEOkQQ3flg"
      decimals="4"
      id="Narr_kwwl1-zEo0qk7PvWxT9hnQ"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0017</csiq:EquityInterestHeldAsGeneralPartner>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiCellsYanchangCoLtdMember_jGNrNqRCvUuQRZBx6-jF0g"
      decimals="2"
      id="Narr_R8IKB8ZFw0eMpGUqGtC-mA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.48</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiModulesDafengCoLtdMember_srt_CounterpartyNameAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_1n1AG2K6xk2UOzGnATGbIw"
      decimals="4"
      id="Narr_j6X319OxCEedF13gySoP8w"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.0312</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_CounterpartyNameAxis_csiq_CanadianSolarManufacturingChangshuInc.Member_B--R_4fNa0yJ6CHEldgOeg"
      decimals="2"
      id="Narr_zwZrOnjdBUO0RAz08P0Biw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.20</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <csiq:EquityInterestHeldAsGeneralPartner
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiSolarPowerChinaInc.Member_2XOncCEazUK4vS1Ijo1FPQ"
      decimals="5"
      id="Narr_wVUEfUHI60-aSAAg6RbVRA"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.00067</csiq:EquityInterestHeldAsGeneralPartner>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="Duration_1_1_2019_To_12_31_2019_dei_LegalEntityAxis_csiq_CsiModulesDafengCoLtdMember_srt_CounterpartyNameAxis_csiq_CsiSolarPowerChinaInc.Member_ZtO-Oy4VYU-bwnYTyH14MQ"
      decimals="4"
      id="Narr_53pWgaCtr0Sfig2yiC4wiw"
      unitRef="Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg">0.9688</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6841869872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BORROWINGS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>BORROWINGS</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="top.Show.showAR( this, 'defref_us-gaap_DebtDisclosureTextBlock', window );">BORROWINGS</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">13</b><span style="font-style:italic;font-weight:bold;">.</span><b style="font-weight:bold;">&#160;BORROWINGS</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Analysis as:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 856,876</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 819,031</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term borrowings, current portion</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 171,051</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 114,089</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Subtotal for short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,027,927</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 933,120</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term borrowings on project assets &#8212; current<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 265,770</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 286,173</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 393,614</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 619,477</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,687,311</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,838,770</p></td></tr></table><div style="font-family:'Times New Roman';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"/></div><table style="border-collapse:collapse;font-family:'Times New Roman';font-size:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:baseline;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">Certain long-term borrowings were classified as current liabilities because these borrowings are associated with certain solar power projects that are expected to be sold within one year.</span></td></tr></table><div style="margin-top:6pt;"/><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2019, the Company had contractual credit facilities of $2,331,226 and $579,545 was available for draw down upon demand. In addition, as of December 31, 2019, the Company also had non-binding credit facilities of $513,566.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2019, short-term borrowings of $708,787, long-term borrowings on project assets &#8211; current of $283,409 and long-term borrowings of $513,622 were secured by property, plant and equipment with carrying amounts of $192,103, inventories of $55,955, prepaid land use rights of $28,763, restricted cash of $138,950, accounts receivable of $226,938, equity interest of $373,751 and project assets and solar power systems of&#160;$579,695.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Long term borrowings newly obtained during the year ended December 31, 2019 were as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On January 31, 2019, Canadian Solar Japan K.K. entered into a financing agreement with Mizuho Bank, Ltd, denominated in JPY, which agreed to provide revolving long-term working capital financing of approximately $8,476. The total outstanding borrowings under this agreement equaled $8,476 at December 31, 2019. The loan is secured by inventory and accounts receivable. The agreement does not contain any financial covenants or restrictions.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On January 25, 2019, CSI Cells (Yancheng) Co., Ltd. entered into a financing agreement, denominated in RMB, with a Chinese financial institution, which agreed to provide long-term Capex financing of $129,010 in Jiangsu Province. The outstanding borrowing under this agreement was $40,136 at December 31, 2019, which requires repayment in 2021 and 2022. The loan is secured by prepaid land use rights and guaranteed by Chinese Subsidiary of CSI. The agreement does not contain any financial covenants or restrictions.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On March 18, 2019, Canadian Solar Projects K.K. entered into a financing agreement, denominated in JPY, with a Japanese financial institution, which agreed to provide revolving long-term working capital financing of $49,290 for Solar power project development in Japan. The outstanding borrowing under this agreement was $11,881 at December 31, 2019, which requires repayment in 2022. The loan is unsecured and guaranteed by CSI. The agreement does not contain any financial covenants or restrictions.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">13.&#160;BORROWINGS </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On May 8, 2019, CSI entered into a financing agreement, denominated in USD, with Credit Suisse, which agreed to provide revolving long-term working capital financing of $50,000 for Solar power project development worldwide. The outstanding borrowing under this agreement was $50,000 at December 31, 2019, which requires repayment in 2021. The loan is secured by equity and guaranteed by SEA subsidiaries of CSI. As of December 31, 2019, the Company met all the requirements of financial covenants.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On June 25, 2019, CSI Cells Co., Ltd. entered into a financing agreement, denominated in RMB, with a Chinese financial institution, which agreed to provide long-term Capex financing of $43,003 in Jiangsu Province. The outstanding borrowing under this agreement was $34,188 at December 31, 2019, which requires repayment in 2024. The loan is secured by property, plant and equipment and guaranteed by Chinese Subsidiary of CSI. The agreement does not contain any financial covenants or restrictions.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On June 28, 2019, Europe Clean Energies Asia K.K. entered into a financing agreement, denominated in JPY, with a Japanese financial institution, which agreed to provide project financing of $5,989 for Solar power project development in Japan. The outstanding borrowing under this agreement was $1,503 at December 31, 2019, which requires repayment in 2021. The loan is secured by project assets and guaranteed by CSI. As of December 31, 2019, the Company met all the requirements of financial covenants.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On July 15, 2019, Canadian Solar Manufacturing (Thailand) Co.,Ltd. entered into a financing agreement, denominated in USD, with syndicate financial institutions, which agreed to provide long-term Capex financing of $110,000 in Thailand. The outstanding borrowing under this agreement was $91,095 at December 31, 2019, which requires repayment in 2024. The loan is secured by prepaid land use rights and property, plant and equipment and guaranteed by Chinese Subsidiary of CSI. As of December 31, 2019, the Company met all the requirements of financial covenants.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On September 6, 2019, Re SH ProCo LLC entered into a financing agreement, denominated in USD, with Syndicate financial institutions, which agreed to provide module supply financing of $123,708 for in US. The outstanding borrowing under this agreement was $123,708 at December 31, 2019, which requires repayment in 2022. The loan is secured by equity and guaranteed by CSI. As of December 31, 2019, the Company met all the requirements of financial covenants.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On October 11, 2019, Re SH Mezz Borrower LLC. entered into a financing agreement, denominated in USD, with a Japan financial institution, which agreed to provide module supply financing of $60,000 for in US. The outstanding borrowing under this agreement was $60,000 at December 31, 2019, which requires repayment in 2022. The loan is secured by equity and guaranteed by CSI. As of December 31, 2019, the Company met all the requirements of financial covenants.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On October 25, 2019, Canadian Solar Projects K.K. entered into a financing agreement, denominated in JPY, with a Japanese financial institution, which agreed to provide revolving long-term working capital financing of $93,975 for Solar power project development in Japan. The outstanding borrowing under this agreement was $93,975 at December 31, 2019, which requires repayment in 2021. The loan is unsecured and guaranteed by CSI. The agreement does not contain any financial covenants or restrictions. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The newly obtained long-term borrowings disclosed above bear effective floating interest rates from 0.95% to 8.28% per annum.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">13.&#160;BORROWINGS </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Future principal repayments on the long-term borrowings are as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 400,262</p></td></tr><tr><td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 245,927</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2022</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 276,675</p></td></tr><tr><td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,679</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2024</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,158</p></td></tr><tr><td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,038</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,019,739</p></td></tr><tr><td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Less: future principal repayment related to long-term borrowings, current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (400,262)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total long-term portion</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 619,477</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Interest expenses</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Average effective interest rates on borrowings are as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">Short-term borrowings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.58</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.86</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">Long-term borrowings on project assets &#8211; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.61</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.65</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">Long-term borrowings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.13</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.43</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The Company capitalized interest costs incurred on borrowings obtained to finance construction of solar power projects or property, plant and equipment until the asset is ready for its intended use. The interests incurred during the years ended December 31, 2017, 2018 and 2019 are as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:35.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Interest capitalized &#8212; project assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,274</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,462</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,794</p></td></tr><tr><td style="vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Interest capitalized &#8212; property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,010</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,182</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,620</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Interest expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 117,971</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 106,032</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 81,326</p></td></tr><tr><td style="vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total interest incurred</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 132,255</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 122,676</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 94,740</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -URI http://asc.fasb.org/topic&amp;trid=2208564<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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>80
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6842011936">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONVERTIBLE NOTES<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_ConvertibleNotesDisclosureAbstract', window );"><strong>CONVERTIBLE NOTES</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="top.Show.showAR( this, 'defref_csiq_ConvertibleNotesDisclosureTextBlock', window );">CONVERTIBLE NOTES</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">17.&#160;CONVERTIBLE NOTES</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On February 18, 2014, the Company issued $130,000 of convertible notes (the "2014 Notes"). The Company granted the initial purchasers a 30-day option to purchase up to an additional $20,000 aggregate principal amount of the 2014 Notes. The option was fully exercised by initial purchasers on the same day. The key terms of the 2014 Notes are described as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Maturity date.</i> The 2014 Notes mature on February 15, 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Interest.</i> The 2014 Notes holders are entitled to receive interest at 4.25% per annum on the principal outstanding, in semi-annually installments, payable in arrears on February 15 and August 15 of each year, beginning August 15, 2014.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Conversion.</i> The initial conversion rate is 22.2222 shares per $1,000 initial principal amount, which represents an initial conversion price of approximately $45.00 per share. The 2014 Notes are convertible at any time prior to maturity. The conversion rate is subject to change for certain anti-dilution events and upon a change in control. If the holders elect to convert the 2014 Notes upon a change of control, the conversion rate will increase by a number of additional shares as determined by reference to an adjustment schedule based on the date on which the change in control becomes effective and the price paid per common share in the transaction (referred to as the "Fundamental Change Make-Whole Premium"). The Fundamental Make-Whole Premium is intended to compensate holders for the loss of time value upon early exercise.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Redemption.</i> The Company may redeem for cash all or any portion of the notes (i) at the Company&#8217;s option, on or after February 21, 2017, if the last reported sale price of the Company&#8217;s common stock has been at least 130% of the conversion price then in effect for at least 20 trading days (whether or not consecutive) during any 30 consecutive trading day period (including the last trading day of such period) ending on, and including, the trading day immediately preceding the date on which the Company provides notice of redemption, or (ii) following the occurrence of certain tax related events, in each case, at a redemption price equals to 100% of the principal amount of the notes to be redeemed, plus accrued and unpaid interest to, but excluding, the redemption date.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2018, and 2019, the carrying value of the convertible notes was $127,428 and nil<span style="white-space:pre-wrap;">, respectively.  The balance at December 31, 2018 and 2019 was net of unamortized issuance costs of $</span>72 and nil, respectively. The debt issuance costs are being amortized through interest expense over the period from February 18, 2014, the date of issuance, to February 15, 2019, the date of expiration, using the effective interest rate method which was 4.96%. The amortization expense was $907, $953 and $71.8 for the years ended December 31, 2017, 2018 and 2019, respectively. Coupon interest of $5,419 and $903 was recorded for the years ended December 31, 2018 and 2019, of which, $2,008 and recorded in other payables as of December 31, 2018 and all amounts were paid upon December 31, 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">In February 2019, the company repaid the entire $127.5 million outstanding balance of senior convertible notes.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ConvertibleNotesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ConvertibleNotesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ConvertibleNotesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of borrowings which can be exchanged for a specified number of another security at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ConvertibleNotesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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>81
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6600069984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ALLOWANCE FOR DOUBTFUL ACCOUNTS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ReceivablesAbstract', window );"><strong>ALLOWANCE FOR DOUBTFUL ACCOUNTS</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="top.Show.showAR( this, 'defref_us-gaap_AllowanceForCreditLossesTextBlock', window );">ALLOWANCE FOR DOUBTFUL ACCOUNTS</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">3.&#160;ALLOWANCE FOR DOUBTFUL ACCOUNTS</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Allowance for doubtful accounts are comprised of allowances for accounts receivable trade, advances to&#160;suppliers and other receivables.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">An analysis of allowances for accounts receivable, trade for the years ended December 31, 2017, 2018 and 2019 is as&#160;follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Beginning of the year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,119</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,941</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,733</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Allowances made (reversed) during the year, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,345</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 869</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,386)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accounts written-off against allowances</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (174)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (297)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (309)</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,651</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (780)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,493)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Closing balance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,941</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,733</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,545</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">An analysis of allowances for advances to suppliers for the years ended December 31, 2017, 2018 and 2019 is as&#160;follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Beginning of the year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,527</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,762</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,926</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Allowances made (reversed) during the year, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (833)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,287</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 738</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accounts written-off against allowances</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,452)</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (123)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Closing balance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,762</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,926</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,281</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">An analysis of allowances for other receivables for the years ended December 31, 2017, 2018 and 2019 is as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Beginning of the year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,251</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,349</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,704</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Allowances made (reversed) during the year, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 549</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (175)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,919</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 549</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (470)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (192)</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Closing balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,349</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,704</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,431</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForCreditLossesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for allowance for credit losses.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -URI http://asc.fasb.org/topic&amp;trid=2196771<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForCreditLossesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6842030576">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SOLAR POWER SYSTEMS, NET<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_SolarPowerSystemsAbstract', window );"><strong>SOLAR POWER SYSTEMS, 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="top.Show.showAR( this, 'defref_csiq_SolarPowerSystemsTextBlock', window );">SOLAR POWER SYSTEMS, NET</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">7. SOLAR POWER SYSTEMS , NET</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Solar power systems, net consist of the following:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Solar power systems in operation</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,641</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 70,449</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Solar power systems under construction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,484</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,830</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accumulated depreciation</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (16,227)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (22,322)</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Solar power systems, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 54,898</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,957</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Depreciation expense of solar power systems was $5,683, $3,756 and $6,379 for the years ended December 31, 2017, 2018 and 2019, 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_csiq_SolarPowerSystemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SolarPowerSystemsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_SolarPowerSystemsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for solar power systems used in the normal conduct of business. Includes, but is not limited to, accounting policies and methodology, roll forwards, depreciation, depletion and amortization expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SolarPowerSystemsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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>83
<FILENAME>R123.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6853157424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (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, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 166,555<span></span>
</td>
<td class="nump">$ 242,431<span></span>
</td>
<td class="nump">$ 102,983<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', 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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">159,723<span></span>
</td>
<td class="nump">129,256<span></span>
</td>
<td class="nump">99,273<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ImpairmentOfInvestments', window );">Impairment of long-lived assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">5,738<span></span>
</td>
<td class="nump">3,686<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss', window );">Loss on change in fair value of derivatives</a></td>
<td class="nump">22,218<span></span>
</td>
<td class="nump">19,230<span></span>
</td>
<td class="nump">272<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Allowance for doubtful accounts</a></td>
<td class="nump">1,250<span></span>
</td>
<td class="nump">2,812<span></span>
</td>
<td class="nump">7,265<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromEquityMethodInvestments', window );">Equity in loss of unconsolidated investees</a></td>
<td class="num">(28,948)<span></span>
</td>
<td class="num">(5,908)<span></span>
</td>
<td class="num">(9,411)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Share-based compensation</a></td>
<td class="nump">10,682<span></span>
</td>
<td class="nump">10,258<span></span>
</td>
<td class="nump">9,314<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable trade</a></td>
<td class="nump">51,670<span></span>
</td>
<td class="num">(179,607)<span></span>
</td>
<td class="nump">46,337<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent', window );">Amounts due from related parties</a></td>
<td class="num">(17,347)<span></span>
</td>
<td class="nump">9,237<span></span>
</td>
<td class="num">(10,089)<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="top.Show.showAR( this, 'defref_csiq_IncreaseDecreaseInAdvanceToSuppliers', window );">Advances to suppliers</a></td>
<td class="num">(27,066)<span></span>
</td>
<td class="nump">29,001<span></span>
</td>
<td class="num">(15,990)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">33,283<span></span>
</td>
<td class="num">(2,208)<span></span>
</td>
<td class="num">(49,813)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets', window );">Other non-current assets</a></td>
<td class="num">(24,037)<span></span>
</td>
<td class="nump">9,387<span></span>
</td>
<td class="num">(23,795)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayableTrade', window );">Accounts payable</a></td>
<td class="nump">209,175<span></span>
</td>
<td class="nump">47,756<span></span>
</td>
<td class="num">(27,758)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent', window );">Amounts due to related parties</a></td>
<td class="num">(5,798)<span></span>
</td>
<td class="nump">10,467<span></span>
</td>
<td class="nump">33,908<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities', window );">Other liabilities</a></td>
<td class="num">(10,851)<span></span>
</td>
<td class="num">(29,691)<span></span>
</td>
<td class="num">(18,774)<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="top.Show.showAR( this, 'defref_csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes', window );">Liability for uncertain tax positions</a></td>
<td class="num">(4,775)<span></span>
</td>
<td class="nump">10,863<span></span>
</td>
<td class="nump">833<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes', window );">Deferred taxes</a></td>
<td class="num">(12,455)<span></span>
</td>
<td class="nump">37,591<span></span>
</td>
<td class="nump">84,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="top.Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfDerivatives', window );">Net settlement of derivatives</a></td>
<td class="num">(27,012)<span></span>
</td>
<td class="nump">28,731<span></span>
</td>
<td class="num">(1,460)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by (used in) operating activities</a></td>
<td class="nump">600,111<span></span>
</td>
<td class="nump">216,280<span></span>
</td>
<td class="nump">203,920<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash provided by (used in) investing activities</a></td>
<td class="num">(294,102)<span></span>
</td>
<td class="nump">29,071<span></span>
</td>
<td class="num">(239,230)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfNotesPayable', window );">Repayment of short-term borrowings</a></td>
<td class="num">(1,649,721)<span></span>
</td>
<td class="num">(2,368,967)<span></span>
</td>
<td class="num">(2,068,069)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfConvertibleDebt', window );">Repayment of convertible notes</a></td>
<td class="num">(127,500)<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="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from exercise of stock options</a></td>
<td class="nump">875<span></span>
</td>
<td class="nump">769<span></span>
</td>
<td class="nump">879<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by (used in) financing activities</a></td>
<td class="num">(34,614)<span></span>
</td>
<td class="num">(463,613)<span></span>
</td>
<td class="nump">165,283<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Effect of exchange rate changes</a></td>
<td class="num">(6,965)<span></span>
</td>
<td class="num">(38,725)<span></span>
</td>
<td class="nump">51,342<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase (decrease) in cash, cash equivalents and restricted cash</a></td>
<td class="nump">264,430<span></span>
</td>
<td class="num">(256,987)<span></span>
</td>
<td class="nump">181,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="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents and restricted cash at the beginning of the year</a></td>
<td class="nump">940,990<span></span>
</td>
<td class="nump">1,190,134<span></span>
</td>
<td class="nump">1,007,700<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents and restricted cash at the end of the year</a></td>
<td class="nump">1,205,420<span></span>
</td>
<td class="nump">940,990<span></span>
</td>
<td class="nump">1,190,134<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Interest paid (net of amounts capitalized)</a></td>
<td class="nump">85,362<span></span>
</td>
<td class="nump">103,236<span></span>
</td>
<td class="nump">113,513<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Income taxes paid</a></td>
<td class="nump">40,454<span></span>
</td>
<td class="nump">32,135<span></span>
</td>
<td class="nump">45,483<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidatedEntitiesAxis=srt_ParentCompanyMember', window );">Parent Company | Reportable Legal Entities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">171,585<span></span>
</td>
<td class="nump">237,070<span></span>
</td>
<td class="nump">99,572<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', 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>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">154<span></span>
</td>
<td class="nump">21<span></span>
</td>
<td class="nump">33<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainOrLossOnSaleOfStockInSubsidiary', window );">Loss on disposal of subsidiaries</a></td>
<td class="nump">116,879<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,559<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ImpairmentOfInvestments', window );">Impairment of long-lived assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,686<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss', window );">Loss on change in fair value of derivatives</a></td>
<td class="nump">5,193<span></span>
</td>
<td class="nump">2,671<span></span>
</td>
<td class="nump">7,134<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Allowance for doubtful accounts</a></td>
<td class="num">(83)<span></span>
</td>
<td class="num">(212)<span></span>
</td>
<td class="nump">2,666<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="top.Show.showAR( this, 'defref_csiq_EquityIncomeLossFromSubsidiaries', window );">Equity in earnings of subsidiaries</a></td>
<td class="num">(308,597)<span></span>
</td>
<td class="num">(195,950)<span></span>
</td>
<td class="num">(130,048)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromEquityMethodInvestments', window );">Equity in loss of unconsolidated investees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">127<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Share-based compensation</a></td>
<td class="nump">10,682<span></span>
</td>
<td class="nump">10,259<span></span>
</td>
<td class="nump">9,314<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable trade</a></td>
<td class="nump">11,563<span></span>
</td>
<td class="num">(5,089)<span></span>
</td>
<td class="num">(6,739)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent', window );">Amounts due from related parties</a></td>
<td class="num">(43,630)<span></span>
</td>
<td class="num">(184,755)<span></span>
</td>
<td class="nump">57,539<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="top.Show.showAR( this, 'defref_csiq_IncreaseDecreaseInAdvanceToSuppliers', window );">Advances to suppliers</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">60<span></span>
</td>
<td class="num">(60)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">5,449<span></span>
</td>
<td class="num">(2,749)<span></span>
</td>
<td class="num">(5,715)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherNoncurrentAssets', window );">Other non-current assets</a></td>
<td class="num">(1,158)<span></span>
</td>
<td class="num">(149)<span></span>
</td>
<td class="nump">1,016<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayableTrade', window );">Accounts payable</a></td>
<td class="num">(3,900)<span></span>
</td>
<td class="nump">3,900<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent', window );">Amounts due to related parties</a></td>
<td class="nump">183,675<span></span>
</td>
<td class="nump">15,598<span></span>
</td>
<td class="nump">55,399<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingLiabilities', window );">Other liabilities</a></td>
<td class="nump">1,193<span></span>
</td>
<td class="num">(25,958)<span></span>
</td>
<td class="nump">22,436<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="top.Show.showAR( this, 'defref_csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes', window );">Liability for uncertain tax positions</a></td>
<td class="nump">408<span></span>
</td>
<td class="nump">6,008<span></span>
</td>
<td class="nump">833<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes', window );">Deferred taxes</a></td>
<td class="num">(1,292)<span></span>
</td>
<td class="nump">9,230<span></span>
</td>
<td class="num">(6,106)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfDerivatives', window );">Net settlement of derivatives</a></td>
<td class="num">(11,125)<span></span>
</td>
<td class="nump">21,450<span></span>
</td>
<td class="num">(6,358)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by (used in) operating activities</a></td>
<td class="nump">136,996<span></span>
</td>
<td class="num">(108,595)<span></span>
</td>
<td class="nump">114,288<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_csiq_PaymentsToAcquireSubsidiaries', window );">Investment in subsidiaries</a></td>
<td class="num">(36,146)<span></span>
</td>
<td class="num">(1,051)<span></span>
</td>
<td class="num">(64,185)<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="top.Show.showAR( this, 'defref_csiq_PaymentsToAcquireAffiliates', window );">Investments in affiliates</a></td>
<td class="num">(2,483)<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="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries', window );">Proceeds from disposal of subsidiaries</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">61,749<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchase of property, plant and equipment</a></td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(26)<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="top.Show.showAR( this, 'defref_csiq_PaymentsForProceedsFromLoansToSubsidiaries', window );">Funding of loans to subsidiaries</a></td>
<td class="num">(40,601)<span></span>
</td>
<td class="num">(94,000)<span></span>
</td>
<td class="num">(74,458)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentOfNotesReceivableFromRelatedParties', window );">Repayment of loans from subsidiaries</a></td>
<td class="nump">12,809<span></span>
</td>
<td class="nump">375,635<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash provided by (used in) investing activities</a></td>
<td class="num">(66,420)<span></span>
</td>
<td class="nump">280,584<span></span>
</td>
<td class="num">(76,920)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfNotesPayable', window );">Repayment of short-term borrowings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(151,000)<span></span>
</td>
<td class="num">(49,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="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromRepaymentsOfNotesPayable', window );">Proceeds from long-term borrowings</a></td>
<td class="nump">50,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfConvertibleDebt', window );">Repayment of convertible notes</a></td>
<td class="num">(127,500)<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="top.Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfConvertiblePreferredStock', window );">Payments for repurchase of treasury stock</a></td>
<td class="num">(11,845)<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="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from exercise of stock options</a></td>
<td class="nump">875<span></span>
</td>
<td class="nump">769<span></span>
</td>
<td class="nump">879<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by (used in) financing activities</a></td>
<td class="num">(88,470)<span></span>
</td>
<td class="num">(150,231)<span></span>
</td>
<td class="num">(48,121)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Effect of exchange rate changes</a></td>
<td class="nump">11,110<span></span>
</td>
<td class="num">(29,618)<span></span>
</td>
<td class="nump">6,362<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase (decrease) in cash, cash equivalents and restricted cash</a></td>
<td class="num">(6,784)<span></span>
</td>
<td class="num">(7,860)<span></span>
</td>
<td class="num">(4,391)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents and restricted cash at the beginning of the year</a></td>
<td class="nump">9,097<span></span>
</td>
<td class="nump">16,957<span></span>
</td>
<td class="nump">21,348<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents and restricted cash at the end of the year</a></td>
<td class="nump">2,313<span></span>
</td>
<td class="nump">9,097<span></span>
</td>
<td class="nump">16,957<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Interest paid (net of amounts capitalized)</a></td>
<td class="nump">$ 4,644<span></span>
</td>
<td class="nump">$ 10,154<span></span>
</td>
<td class="nump">$ 18,375<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_EquityIncomeLossFromSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This item represents the entity's proportionate share for the period of the net income (loss) of its subsidiaries to which the equity method of accounting is applied.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_EquityIncomeLossFromSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_IncreaseDecreaseInAdvanceToSuppliers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in advances to suppliers.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncreaseDecreaseInAdvanceToSuppliers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the amount of uncertainty liability in income taxes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_PaymentsForProceedsFromLoansToSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net amount paid or received by the reporting entity associated with the loans to subsidiaries.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PaymentsForProceedsFromLoansToSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_PaymentsToAcquireAffiliates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of payments to acquire affiliates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PaymentsToAcquireAffiliates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_PaymentsToAcquireSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of Payments to Acquire Subsidiaries.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PaymentsToAcquireSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=98513438&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=98513438&amp;loc=d3e33268-110906<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of unrealized gain (loss) recognized in income for derivative asset (liability) after deduction of derivative liability (asset), measured at fair value using unobservable input (level 3) and still held.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=117815213&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GainLossOnSaleOfDerivatives">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The difference between the book value and the sale price of options, swaps, futures, forward contracts, and other derivative instruments. This element refers to the gain (loss) included in earnings.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.13(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfDerivatives</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GainOrLossOnSaleOfStockInSubsidiary">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of equity in securities of subsidiaries.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(9)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(7)(c))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(13)(g))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(3)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainOrLossOnSaleOfStockInSubsidiary</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ImpairmentOfInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount by which the fair value of an investment is less than the amortized cost basis or carrying amount of that investment at the balance sheet date and the decline in fair value is deemed to be other than temporary, before considering whether or not such amount is recognized in earnings or other comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8A<br> -URI http://asc.fasb.org/extlink&amp;oid=118954083&amp;loc=SL6284422-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) for proportionate share of equity method investee's income (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(12))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(13)(f))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=109237563&amp;loc=d3e33749-111570<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=d3e4297-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_IncreaseDecreaseInAccountsPayableTrade">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Change in recurring obligations of a business that arise from the acquisition of merchandise, materials, supplies and services used in the production and sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayableTrade</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_IncreaseDecreaseInDeferredIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_IncreaseDecreaseInDueFromRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate increase (decrease) during the reporting period in the amount due from the following types of related parties: a parent company and its subsidiaries; subsidiaries of a common parent; an entity and trust for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; an entity and its principal owners, management, or member of their immediate families, affiliates, or other parties with the ability to exert significant influence.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInDueToRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of obligations to be paid to the following types of related parties: a parent company and its subsidiaries; subsidiaries of a common parent; an entity and trust for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entities' management; an entity and its principal owners, management, or member of their immediate families, affiliates, or other parties with the ability to exert significant influence.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_IncreaseDecreaseInOtherNoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherNoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInOtherOperatingLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=d3e4297-108586<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3367-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_PaymentsForRepurchaseOfConvertiblePreferredStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire preferred stock originally issued and identified as a security that can be exchanged for another type of financial security. This repurchased stock is held in treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfConvertiblePreferredStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the deconsolidation of a previously consolidated subsidiary or the sale of investment in consolidated subsidiaries (generally greater than 50 percent).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProceedsFromRepaymentsOfNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from long-term debt supported by a written promise to pay an obligation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e24072-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromRepaymentsOfNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=SL79508275-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4591551-111686<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3000-108585<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569616-111683<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4591552-111686<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=119407570&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentOfNotesReceivableFromRelatedParties">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from a loan, supported by a promissory note, granted to related parties where one party can exercise control or significant influence over another party; including affiliates, owners or officers and their immediate families, pension trusts, and so forth.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentOfNotesReceivableFromRelatedParties</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RepaymentsOfConvertibleDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow from the repayment of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfConvertibleDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RepaymentsOfNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for a borrowing supported by a written promise to pay an obligation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ParentCompanyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ParentCompanyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R108.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6832484464">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>COMMITMENTS AND CONTINGENCIES - Commitments (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2019 </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="top.Show.showAR( this, 'defref_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis=csiq_PropertyAndEquipmentPurchaseCommitmentMember', window );">Property, plant and 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="top.Show.showAR( this, 'defref_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems', window );"><strong>Purchase Commitment, Excluding Long-term Commitment [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="top.Show.showAR( this, 'defref_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted', window );">Commitments</a></td>
<td class="nump">$ 12,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="top.Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInNextTwelveMonths', window );">2020</a></td>
<td class="nump">9,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="top.Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInSecondYear', window );">2021</a></td>
<td class="nump">3,000<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PurchaseObligation', window );">Total</a></td>
<td class="nump">12,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="top.Show.showAR( this, 'defref_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis=csiq_SolarPowerSystemCommitmentsMember', window );">Solar power system</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="top.Show.showAR( this, 'defref_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems', window );"><strong>Purchase Commitment, Excluding Long-term Commitment [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="top.Show.showAR( this, 'defref_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted', window );">Commitments</a></td>
<td class="nump">800<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInNextTwelveMonths', window );">2020</a></td>
<td class="nump">600<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInSecondYear', window );">2021</a></td>
<td class="nump">200<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PurchaseObligation', window );">Total</a></td>
<td class="nump">$ 800<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_PurchaseCommitmentExcludingLongtermCommitmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems</td>
</tr>
<tr>
<td style="padding-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_PurchaseCommitmentRemainingMinimumAmountCommitted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Minimum amount to be expended to satisfy the terms of arrangements in which the entity has agreed to expend funds to procure goods or services, excluding long-term purchase commitments or unconditional purchase obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(17))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PurchaseObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PurchaseObligationDueInNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Minimum amount of purchase arrangement maturing in the next fiscal year following the latest fiscal year. Includes, but not limited to, recorded and unrecorded purchase obligations, long-term purchase commitments, and short-term purchase commitments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseObligationDueInNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PurchaseObligationDueInSecondYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Minimum amount of purchase arrangement maturing in the second fiscal year following the latest fiscal year. Includes, but not limited to, recorded and unrecorded purchase obligations, long-term purchase commitments, and short-term purchase commitments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseObligationDueInSecondYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PurchaseCommitmentExcludingLongtermCommitmentAxis=csiq_PropertyAndEquipmentPurchaseCommitmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_PurchaseCommitmentExcludingLongtermCommitmentAxis=csiq_PropertyAndEquipmentPurchaseCommitmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_PurchaseCommitmentExcludingLongtermCommitmentAxis=csiq_SolarPowerSystemCommitmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_PurchaseCommitmentExcludingLongtermCommitmentAxis=csiq_SolarPowerSystemCommitmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp7009012240">
<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, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventsTextBlock', window );">SUBSEQUENT EVENTS</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">26.&#160;SUBSEQUENT EVENTS</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="white-space:pre-wrap;">In the first quarter of 2020, the Company repurchased additional  </span>381,330 shares with total costs of $5,963<span style="white-space:pre-wrap;">.  The Company repurchased </span>990,846<span style="white-space:pre-wrap;"> shares in total so far under the share repurchase plan authorized by its Board Directors on December 9, 2019.  These repurchased shares have been cancelled and retired.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In early February 2020, the World Health Organization declared the outbreak of novel coronavirus, or COVID-19, a Public Health Emergency of International Concern. The outbreak of COVID-19 posed significant challenges to many aspects of the Company&#8217;s business. Global commerce generally has been negatively affected due to travel restrictions, disruptions of global shipping and logistics systems, quarantines, and other measures taken by governments. Near-term global economic growth has also been adversely impacted. The Company is taking mitigation strategies to reduce the adverse impact of COVID-19 to its business. The COVID-19 situation remains fluid and the Company will continue to monitor it closely to assess the potential impacts. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">On March 27, 2020, the U.S. President Donald Trump signed into law the &#8220;Coronavirus Aid, Relief and Economic Security (CARES) Act&#8221;. The impact of the CARES Act could be material to the Company&#8217;s business in the U.S. The Company is in the process of evaluating the impact on its operation as further IRS guidance would be issued to address these complex provisions under the CARES Act.</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -URI http://asc.fasb.org/topic&amp;trid=2122774<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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>86
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6841740400">
<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, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingDisclosureTextBlock', window );">SEGMENT INFORMATION</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">22.&#160;SEGMENT INFORMATION</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company uses the management approach to determine operating segments. The management approach considers the internal organization and reporting used by the Company&#8217;s chief operating decision maker (&#8220;CODM&#8221;) for making decisions, allocating resources and assessing performance. The Company&#8217;s CODM has been identified as the Chief Executive Officer of the Company, since he reviews consolidated and segment results when making decisions about allocating resources and assessing performance of the Company.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company has been operating in two principal businesses since 2016: module and system solutions (&#8220;MSS&#8221;) and Energy. The MSS business comprises primarily the design, development, manufacture and sale of solar modules, other solar power products and solar system kits. The MSS business also provides engineering, procurement and construction (EPC) and operating and maintenance (O&amp;M) services. The Energy business comprises primarily the development and sale of solar projects, operating solar power projects and the sale of electricity. The module sales from the Company's MSS business to its Energy business are on terms and conditions similar to sales to third parties. The Company&#8217;s CODM reviews net revenue and gross profit and does not review balance sheet information by segment.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">22.&#160;SEGMENT INFORMATION (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company's revenues, gross profit and income from operations generated from each segment:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:53.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31, 2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSS</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Elimination</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,582,635</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 719,445</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (101,497)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,200,583</p></td></tr><tr><td style="vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,934,062</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 635,716</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (87,692)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,482,086</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 648,573</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83,729</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (13,805)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 718,497</p></td></tr><tr><td style="vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Income from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 279,715</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (7,031)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (13,805)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 258,879</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31, 2018</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSS</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Elimination</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,413,889</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,575,594</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (244,971)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,744,512</p></td></tr><tr><td style="vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,923,131</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,302,779</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (256,480)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,969,430</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 490,758</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 272,815</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,509</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 775,082</p></td></tr><tr><td style="vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Income from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 141,609</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 211,539</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,509</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 364,657</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:53.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31, 2017</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSS</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Elimination</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,850,859</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 677,470</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (137,936)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,390,393</p></td></tr><tr><td style="vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,390,686</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 473,453</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (111,344)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,752,795</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 460,173</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 204,017</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (26,592)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 637,598</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Income from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 136,419</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 159,518</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (26,592)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 269,345</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Income from operations is estimated based on the Company's management accounts as some services are shared by two segments.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">22.&#160;SEGMENT INFORMATION (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s net revenues generated from different geographic locations. The information presented below is based on the location of customers&#8217; headquarters:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Europe and other regions:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Australia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,069</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 232,409</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 313,167</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Germany</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 94,066</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 95,514</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 109,119</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;South Africa</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,916</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53,739</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 93,911</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Spain</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,471</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,811</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 78,228</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Netherlands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,357</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83,475</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,770</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;United Kingdom</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,295</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 101,479</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33,158</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Czech</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,822</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,411</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,717</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Others</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,144</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,730</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,389</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 356,140</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 698,568</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 780,459</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">The Americas:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;United&#160;States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 628,815</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 999,144</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 852,231</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Brazil</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 388,554</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 339,964</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 395,303</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Mexico</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,274</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,004</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 94,446</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Others</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 85,519</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 85,545</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60,061</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,108,162</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,474,657</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,402,041</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Asia:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 476,946</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 483,041</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 372,687</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 874,559</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 620,520</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 317,077</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Korea</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,244</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 46,697</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 72,552</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;India</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 336,468</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 145,873</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 70,893</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;United Arab Emirates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 91,991</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 104,467</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,311</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Vietnam</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 462</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,216</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,268</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,167</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,511</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,753</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Others</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 116,254</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 142,962</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 89,542</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,926,091</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,571,287</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,018,083</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total net revenues</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,390,393</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,744,512</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,200,583</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">22.&#160;SEGMENT INFORMATION (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s long-lived assets, including property, plant and equipment, non-current project assets, solar power systems, prepaid land use rights and intangible assets at December 31, 2018 and 2019 by geographic region, based on the physical location of the&#160;assets:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At</b><b style="font-family:'Calibri';font-weight:bold;">&#160;</b><b style="font-weight:bold;">December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 824,618</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 835,991</p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 168,280</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 331,931</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Japan</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 233,155</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 259,197</p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Australia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 61,960</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,143</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">United States</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,052</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60,177</p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,739</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,718</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Others</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,899</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,513</p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total long-lived assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,372,703</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,665,670</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s revenues generated from each product or&#160;service:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">MSS:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Solar modules and other solar power products</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,551,509</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,930,701</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,055,249</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Solar system kits</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 84,598</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 93,253</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 116,449</p></td></tr><tr><td style="vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">EPC services</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 62,408</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 223,423</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">O&amp;M services</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,938</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,767</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,405</p></td></tr><tr><td style="vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="white-space:pre-wrap;">Others  ( materials)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69,878</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 71,789</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,612</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Energy:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Solar power projects</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 632,256</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,542,906</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 668,476</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Electricity </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,236</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,735</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,866</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Others (EPC and development services)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,978</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,953</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,103</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total net revenues</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,390,393</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,744,512</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,200,583</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -URI http://asc.fasb.org/topic&amp;trid=2134510<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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>87
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6827480992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</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="top.Show.showAR( this, 'defref_csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock', window );">Schedule of expected useful lives of property and equipment</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Buildings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">20 years</p></td></tr><tr><td style="vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:48.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Over the shorter of the lease term or their estimated useful lives</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Machinery</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_wCQYZoz750uAEDFs_tX9Mg"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">5</span></span>-10 years</p></td></tr><tr><td style="vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Furniture, fixtures and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">5 years</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Motor vehicles</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">5 years</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of useful life intangible assets</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:49.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:48.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Technical know-how</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">10 years</p></td></tr><tr><td style="vertical-align:bottom;width:49.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Computer software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_DzwZBiVHl02oSzavGfXqEg"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">1</span></span>-10 years</p></td></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueTableTextBlock', window );">Schedule of disaggregation of revenue</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">MSS:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue recognized at a point in time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,705,985</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,095,743</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,238,310</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue recognized over time</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,938</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,175</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 242,828</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Energy:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue recognized at a point in time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 633,195</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,542,906</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 668,476</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue recognized over time</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,275</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,688</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,969</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,390,393</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,744,512</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,200,583</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Schedule of contract assets and contract liabilities</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:12.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,<br/>2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;width:12.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December31,<br/>2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fluctuation</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:40.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Contract Assets</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accounts receivables, unbilled</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,256</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,218</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Contract Liabilities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Advances from customers</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,024</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 134,806</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 95,782</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,381</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,917</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (30,464)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 90,405</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 155,723</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 65,318</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock', window );">Summary of the Company's other operating income, net</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net gain on disposal of solar power system</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (27,803)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (36,098)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,666)</p></td></tr><tr><td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net loss on disposal of property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,960</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,565</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,227</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Government grants</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (6,473)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (11,013)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (10,097)</p></td></tr><tr><td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Business interruption insurance compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (15,238)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (47,554)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (44,546)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (10,536)</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of accounting policy for other operating income and other operating expense items.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the useful life 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of contract balances and changes in contract balances.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130551-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130545-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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>88
<FILENAME>R104.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6832099424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES - Reconciliation (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract', window );"><strong>Reconciliation between the provision for income tax computed by applying Canadian federal and provincial statutory tax rates to income before income taxes and the actual provision and benefit for income taxes</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="top.Show.showAR( this, 'defref_csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate', window );">Combined federal and provincial income tax rate (as a percent)</a></td>
<td class="nump">27.00%<span></span>
</td>
<td class="nump">27.00%<span></span>
</td>
<td class="nump">27.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="top.Show.showAR( this, 'defref_csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent', window );">Effect of permanent difference (as a percent)</a></td>
<td class="num">(1.00%)<span></span>
</td>
<td class="num">(11.00%)<span></span>
</td>
<td class="num">(18.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="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential', window );">Effect of different tax rate on earnings in other jurisdictions (as a percent)</a></td>
<td class="nump">3.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(7.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="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays', window );">Effect of tax holiday (as a percent)</a></td>
<td class="num">(4.00%)<span></span>
</td>
<td class="num">(1.00%)<span></span>
</td>
<td class="num">(2.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="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies', window );">Unrecognized tax provision (as a percent)</a></td>
<td class="num">(3.00%)<span></span>
</td>
<td class="nump">4.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Change in valuation allowance (as a percent)</a></td>
<td class="num">(3.00%)<span></span>
</td>
<td class="nump">7.00%<span></span>
</td>
<td class="num">(6.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="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate', window );">Effect of change in tax rate</a></td>
<td class="num">(1.00%)<span></span>
</td>
<td class="num">(3.00%)<span></span>
</td>
<td class="nump">39.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="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments', window );">Others (as a percent)</a></td>
<td class="nump">2.00%<span></span>
</td>
<td class="num">(3.00%)<span></span>
</td>
<td class="num">(5.00%)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Actual income tax rate (as a percent)</a></td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">28.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="top.Show.showAR( this, 'defref_csiq_IncomeTaxAdditionalDisclosureAbstract', window );"><strong>Additional disclosure</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities', window );">Withholding income tax rate on dividends distributed by foreign invested enterprises (as a percent)</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="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UndistributedEarningsOfForeignSubsidiaries', window );">Undistributed earnings of subsidiaries and affiliates considered to be permanently reinvested</a></td>
<td class="nump">$ 625,900,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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities', window );">Provision for withholding income tax on dividend</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_PreferentialWithholdingTaxRate', window );">Preferential withholding tax rate (as a percent)</a></td>
<td class="nump">5.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_IncomeTaxHolidayAbstract', window );"><strong>Aggregate amount and per share effect of the tax holiday</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxHolidayAggregateDollarAmount', window );">The aggregate amount (in dollars)</a></td>
<td class="nump">$ 7,956,000<span></span>
</td>
<td class="nump">$ 3,089,000<span></span>
</td>
<td class="nump">$ 2,850,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="top.Show.showAR( this, 'defref_csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic', window );">Per share effect - basic (in dollars per share)</a></td>
<td class="nump">$ 0.13<span></span>
</td>
<td class="nump">$ 0.05<span></span>
</td>
<td class="nump">$ 0.05<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="top.Show.showAR( this, 'defref_csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted', window );">Per share effect - diluted (in dollars per share)</a></td>
<td class="nump">$ 0.13<span></span>
</td>
<td class="nump">$ 0.05<span></span>
</td>
<td class="nump">$ 0.05<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_IncomeTaxAdditionalDisclosureAbstract', window );"><strong>Additional disclosure</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries', window );">Unrecognized deferred tax liabilities</a></td>
<td class="nump">$ 31,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_WithholdingTaxRate', window );">Withholding tax rate (as a percent)</a></td>
<td class="nump">5.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_IncomeTaxAdditionalDisclosureAbstract', window );"><strong>Additional disclosure</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries', window );">Unrecognized deferred tax liabilities</a></td>
<td class="nump">$ 62,600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_WithholdingTaxRate', window );">Withholding tax rate (as a percent)</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>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The domestic federal statutory tax rate and provincial corporate income tax rate applicable under enacted tax laws to the Company's pretax income from continuing operations for the period. The "statutory" tax rate is the regular tax rate if there are alternative tax systems.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to permanent difference.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_IncomeTaxAdditionalDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncomeTaxAdditionalDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_IncomeTaxHolidayAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncomeTaxHolidayAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the basic per share amount effect of the income tax benefit resulting from the income tax holidays granted by taxing jurisdictions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the diluted per share amount effect of the income tax benefit resulting from the income tax holidays granted by taxing jurisdictions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_csiq_PreferentialWithholdingTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the preferential withholding tax rate.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PreferentialWithholdingTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of provision for withholding tax on dividends distributed by foreign investment entities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_WithholdingTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the withholding tax rate.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_WithholdingTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the withholding tax rate on dividends distributed by foreign investment entities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability not recognized because of the exceptions to comprehensive recognition of deferred taxes related to undistributed earnings of foreign subsidiaries.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the income tax rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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_EffectiveIncomeTaxRateReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_EffectiveIncomeTaxRateReconciliationTaxContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to income tax contingencies. Includes, but not limited to, domestic tax contingency, foreign tax contingency, state and local tax contingency, and other contingencies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_EffectiveIncomeTaxRateReconciliationTaxHolidays">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to income exempt from income tax because of a tax holiday.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_IncomeTaxHolidayAggregateDollarAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of income taxes from which a reporting entity is exempt or for which it will receive a reduction in income taxes as a result of the income tax holiday granted by the taxing jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330215-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxHolidayAggregateDollarAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_UndistributedEarningsOfForeignSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of undistributed earnings of foreign subsidiaries intended to be permanently reinvested outside the country of domicile.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 740<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6487024&amp;loc=d3e29054-158556<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)(c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=117330534&amp;loc=d3e28200-109314<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 740<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6479915&amp;loc=d3e66715-112838<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UndistributedEarningsOfForeignSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>89
<FILENAME>R100.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6854521360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONVERTIBLE NOTES (Details)<br></strong></div></th>
<th class="th" colspan="1"></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>Feb. 18, 2014 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Feb. 28, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>USD ($) </div>
<div>item </div>
<div>D </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>CONVERTIBLE NOTES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConvertibleLongTermNotesPayable', window );">Convertible notes</a></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">$ 127,400,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="top.Show.showAR( this, 'defref_us-gaap_ConvertibleNotesPayableCurrent', window );">Carrying value of convertible notes</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">127,428,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="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfConvertibleDebt', window );">Repayment of outstanding balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 127,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember', window );">2014 Notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>CONVERTIBLE NOTES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_ProceedsFromConvertibleDebtInitialIssuance', window );">Proceeds from initial issuance of convertible notes</a></td>
<td class="nump">$ 130,000,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>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance', window );">Period of option for additional issuance</a></td>
<td class="text">30 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_csiq_ProceedsFromConvertibleDebtAdditionalIssuance', window );">Proceeds from additional issuance of convertible notes</a></td>
<td class="nump">$ 20,000,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>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.25%<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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleConversionRatio1', window );">Conversion rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">22.2222<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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentAnnualPrincipalPayment', window );">Conversion rate initial principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleConversionPrice1', window );">Conversion price (in dollars per share) | $ / shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 45.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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger', window );">Sales price of common stock as percentage of conversion price for redemption at Company's option</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">130.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleThresholdTradingDays', window );">Number of trading days that threshold percentage exceeds stock price for trigger of redemption at Company's option | item</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1', window );">Period of consecutive trading days that the threshold of trading days must fall within for trigger of redemption at Company's option | D</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents', window );">Redemption prices as percentage of outstanding principal amount plus accrued and unpaid interest following occurrence of certain tax related events</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConvertibleNotesPayableCurrent', window );">Carrying value of convertible notes</a></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">127,428,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="top.Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsGross', window );">Unamortized issuance costs</a></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">72,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage', window );">Effective interest rate (as a percent)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.96%<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="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfFinancingCosts', window );">Amortization of financing costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 71,800<span></span>
</td>
<td class="nump">953,000<span></span>
</td>
<td class="nump">$ 907,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="top.Show.showAR( this, 'defref_us-gaap_InterestExpenseDebtExcludingAmortization', window );">Interest expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 903,000<span></span>
</td>
<td class="nump">5,419,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="top.Show.showAR( this, 'defref_us-gaap_RepaymentsOfConvertibleDebt', window );">Repayment of outstanding balance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 127,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="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember', window );">2014 Notes | Other payables</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>CONVERTIBLE NOTES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestPayableCurrentAndNoncurrent', window );">Accrued interest</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,008,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_csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The period of option available to initial purchasers of convertible debt instruments for purchase of additional convertible debt instruments, 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage price of original principal amount of debt plus accrued interest at which debt can be redeemed by the issuer following occurrence of certain tax related events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_ProceedsFromConvertibleDebtAdditionalIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the additional issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProceedsFromConvertibleDebtAdditionalIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProceedsFromConvertibleDebtInitialIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the initial issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProceedsFromConvertibleDebtInitialIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AmortizationOfFinancingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense attributable to debt issuance costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=114775744&amp;loc=d3e28555-108399<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfFinancingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConvertibleLongTermNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of long-term debt (with maturities initially due after one year or beyond the operating cycle if longer) identified as Convertible Notes Payable, excluding current portion. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConvertibleLongTermNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConvertibleNotesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of the portion of long-term debt due within one year or the operating cycle if longer identified as Convertible Notes Payable. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConvertibleNotesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DebtInstrumentAnnualPrincipalPayment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the total principal payments made during the annual reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAnnualPrincipalPayment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DebtInstrumentConvertibleConversionPrice1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The price per share of the conversion feature embedded in the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109500613&amp;loc=SL6031898-161870<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleConversionPrice1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_DebtInstrumentConvertibleConversionRatio1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Ratio applied to the conversion of debt instrument into equity with equity shares divided by debt principal amount.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21521-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21506-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21475-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleConversionRatio1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Threshold period of specified consecutive trading days within which common stock price to conversion price of convertible debt instrument must exceed threshold percentage for specified number of trading days to trigger conversion feature.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Minimum percentage of common stock price to conversion price of convertible debt instruments to determine eligibility of conversion.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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_DebtInstrumentConvertibleThresholdTradingDays">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Threshold number of specified trading days that common stock price to conversion price of convertible debt instruments must exceed threshold percentage within a specified consecutive trading period to trigger conversion feature.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentConvertibleThresholdTradingDays</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109500613&amp;loc=SL6036836-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=114775744&amp;loc=d3e28551-108399<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateEffectivePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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_us-gaap_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-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_DeferredFinanceCostsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=114775744&amp;loc=d3e28555-108399<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFinanceCostsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpenseDebtExcludingAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the portion of interest incurred in the period on debt arrangements that was charged against earnings, excluding amortization of debt discount (premium) and financing costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpenseDebtExcludingAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPayableCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of interest payable on debt, including, but not limited to, trade payables.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.15(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPayableCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RepaymentsOfConvertibleDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow from the repayment of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfConvertibleDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_BalanceSheetLocationAxis=us-gaap_AccountsPayableAndAccruedLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_AccountsPayableAndAccruedLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6827749312">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>CONSOLIDATED BALANCE SHEETS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Accounts receivable trade, allowance</a></td>
<td class="nump">$ 29,545<span></span>
</td>
<td class="nump">$ 32,733<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="top.Show.showAR( this, 'defref_csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent', window );">Advances to suppliers - current, allowance</a></td>
<td class="nump">7,222<span></span>
</td>
<td class="nump">5,702<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="top.Show.showAR( this, 'defref_csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent', window );">Advances to suppliers - non-current, allowance</a></td>
<td class="nump">$ 13,059<span></span>
</td>
<td class="nump">$ 15,224<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common share, par value (in dollars per share)</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common shares, shares issued (in shares)</a></td>
<td class="nump">59,371,684<span></span>
</td>
<td class="nump">59,180,624<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common shares, shares outstanding (in shares)</a></td>
<td class="nump">59,371,684<span></span>
</td>
<td class="nump">59,180,624<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockShares', window );">Treasury stock, shares issued (in shares)</a></td>
<td class="nump">609,516<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A valuation allowance for advances made to suppliers expected to be utilized within twelve months (or the normal operating cycle, whichever is longer) that are expected to be uncollectible.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A valuation allowance for advances made to suppliers expected to be utilized after twelve months (or the normal operating cycle, whichever is longer) that are expected to be uncollectible.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=118936363&amp;loc=d3e5074-111524<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118955202&amp;loc=SL82895884-210446<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29,30)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockShares</td>
</tr>
<tr>
<td style="padding-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>91
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6842009808">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2019 </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="top.Show.showAR( this, 'defref_us-gaap_StatementOfStockholdersEquityAbstract', window );"><strong>CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY</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="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Number of shares repurchased | shares</a></td>
<td class="nump">609,516<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Total cost of share repurchases | $</a></td>
<td class="nump">$ 11,845<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_StatementOfStockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfStockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-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_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_StockRepurchasedDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>92
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6841992496">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Allowance for doubtful receivables (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainContingenciesLineItems', window );"><strong>Principal 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="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">$ 253,542<span></span>
</td>
<td class="nump">$ 289,459<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainContingenciesByNatureAxis=us-gaap_InsuranceSettlementMember', window );">Allowance for doubtful receivables</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="top.Show.showAR( this, 'defref_us-gaap_GainContingenciesLineItems', window );"><strong>Principal accounting policies:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">$ 166<span></span>
</td>
<td class="nump">$ 164<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_GainContingenciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainContingenciesLineItems</td>
</tr>
<tr>
<td style="padding-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_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(7))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_GainContingenciesByNatureAxis=us-gaap_InsuranceSettlementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_GainContingenciesByNatureAxis=us-gaap_InsuranceSettlementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>93
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6828363312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BORROWINGS (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>BORROWINGS</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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDebtTableTextBlock', window );">Schedule of bank borrowings</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:5pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Analysis as:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 856,876</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 819,031</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term borrowings, current portion</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 171,051</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 114,089</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Subtotal for short-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,027,927</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 933,120</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term borrowings on project assets &#8212; current<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"> (1)</sup></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 265,770</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 286,173</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term borrowings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 393,614</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 619,477</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,687,311</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,838,770</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock', window );">Schedule of future principal repayments on the long-term borrowings</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 400,262</p></td></tr><tr><td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 245,927</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2022</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 276,675</p></td></tr><tr><td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,679</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2024</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,158</p></td></tr><tr><td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,038</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,019,739</p></td></tr><tr><td style="vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Less: future principal repayment related to long-term borrowings, current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (400,262)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:83.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total long-term portion</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 619,477</p></td></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_ScheduleOfEffectiveInterestRatesTableTextBlock', window );">Schedule of average effective interest rates on borrowings</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">Short-term borrowings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.58</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.86</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">Long-term borrowings on project assets &#8211; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.61</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.65</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:60.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">Long-term borrowings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.13</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.43</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_ScheduleOfInterestExpenseTableTextBlock', window );">Schedule of interest incurred</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:35.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Interest capitalized &#8212; project assets</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,274</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,462</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,794</p></td></tr><tr><td style="vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Interest capitalized &#8212; property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,010</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,182</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,620</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Interest expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 117,971</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 106,032</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 81,326</p></td></tr><tr><td style="vertical-align:bottom;width:61.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total interest incurred</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 132,255</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 122,676</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.99%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 94,740</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ScheduleOfEffectiveInterestRatesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of average effective interest rates on borrowings.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ScheduleOfEffectiveInterestRatesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_ScheduleOfInterestExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amount of interest expenses related to borrowings.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ScheduleOfInterestExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfDebtTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDebtTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the combined aggregate amount of maturities and sinking fund requirements for all long-term borrowings for each of the five years following the date of the latest balance sheet date presented.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6802200&amp;loc=d3e1835-112601<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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>94
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp7009017312">
<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, 2019</div></th></tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis=csiq_PropertyAndEquipmentPurchaseCommitmentMember', window );">Property, plant and 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="top.Show.showAR( this, 'defref_us-gaap_LongTermPurchaseCommitmentTextBlock', window );">Schedule of payment for commitments</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:86.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Year Ending December&#160;31:</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">$</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,000</p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,000</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,000</p></td></tr></table><span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis=csiq_SolarPowerSystemCommitmentsMember', window );">Solar power system</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="top.Show.showAR( this, 'defref_us-gaap_LongTermPurchaseCommitmentTextBlock', window );">Schedule of payment for commitments</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Year Ending December 31:</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">$</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 600</p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 200</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 800</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermPurchaseCommitmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of key provisions of an arrangement under which the entity has agreed to purchase goods or services over a period of time greater than one year or the normal operating cycle, if longer, including the item for which expenditures will be made, minimum quantities, milestones, time period and committed amount.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermPurchaseCommitmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_PurchaseCommitmentExcludingLongtermCommitmentAxis=csiq_PropertyAndEquipmentPurchaseCommitmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_PurchaseCommitmentExcludingLongtermCommitmentAxis=csiq_PropertyAndEquipmentPurchaseCommitmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_PurchaseCommitmentExcludingLongtermCommitmentAxis=csiq_SolarPowerSystemCommitmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_PurchaseCommitmentExcludingLongtermCommitmentAxis=csiq_SolarPowerSystemCommitmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R77.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6832912848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (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, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Effect of derivative instruments on consolidated statements of operations</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="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet', window );">Gain (loss) on change in fair value of derivatives</a></td>
<td class="num">$ (22,218)<span></span>
</td>
<td class="num">$ (19,230)<span></span>
</td>
<td class="num">$ (272)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeForwardMember', window );">Foreign exchange forward contracts</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="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Effect of derivative instruments on consolidated statements of operations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet', window );">Gain (loss) on change in fair value of derivatives</a></td>
<td class="num">(20,249)<span></span>
</td>
<td class="num">(16,414)<span></span>
</td>
<td class="num">(2,638)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeOptionMember', window );">Foreign exchange option contracts</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="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Effect of derivative instruments on consolidated statements of operations</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="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet', window );">Gain (loss) on change in fair value of derivatives</a></td>
<td class="num">(1,022)<span></span>
</td>
<td class="num">(2,023)<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="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=csiq_WarrantsMember', window );">Warrants</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="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Effect of derivative instruments on consolidated statements of operations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet', window );">Gain (loss) on change in fair value of derivatives</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">711<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember', window );">Interest rate swap</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="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Effect of derivative instruments on consolidated statements of operations</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="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet', window );">Gain (loss) on change in fair value of derivatives</a></td>
<td class="num">$ (947)<span></span>
</td>
<td class="num">$ (793)<span></span>
</td>
<td class="nump">$ 1,655<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_DerivativeInstrumentsGainLossLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsGainLossLineItems</td>
</tr>
<tr>
<td style="padding-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_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of realized and unrealized gain (loss) of derivative instruments not designated or qualifying as hedging instruments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4CC<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=SL109998890-113959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=SL5624171-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeForwardMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeForwardMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=csiq_WarrantsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=csiq_WarrantsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R87.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6841830112">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASE - Operating leases - Gross difference (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2019 </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="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract', window );"><strong>Operating leases, gross difference</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="nump">$ 41,721<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less: imputed interest</a></td>
<td class="nump">2,236<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">NPV for future minimum lease payments</a></td>
<td class="nump">$ 39,485<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_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract</td>
</tr>
<tr>
<td style="padding-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_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>97
<FILENAME>R83.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6855543952">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LEASE - Lease expense (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, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseCostAbstract', window );"><strong>Finance lease cost:</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="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAssetAmortization', window );">Amortization of right-of-use assets</a></td>
<td class="nump">$ 18,900<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="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseInterestExpense', window );">Interest on lease liabilities</a></td>
<td class="nump">3,213<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="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseCost', window );">Operating lease cost</a></td>
<td class="nump">17,619<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="top.Show.showAR( this, 'defref_us-gaap_ShortTermLeaseCost', window );">Short term lease cost</a></td>
<td class="nump">8,920<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseCost', window );">Total lease cost</a></td>
<td class="nump">$ 45,916<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="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseExpense', window );">Operating lease expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 20,900<span></span>
</td>
<td class="nump">$ 19,800<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="top.Show.showAR( this, 'defref_csiq_FinanceLeaseExpense', window );">Finance lease expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 24,700<span></span>
</td>
<td class="nump">$ 19,100<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_FinanceLeaseExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of financing lease expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_FinanceLeaseExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of interest expense on finance lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918638-209977<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=77888399&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918638-209977<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=77888399&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=77888399&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_LeaseCostAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCostAbstract</td>
</tr>
<tr>
<td style="padding-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_OperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=77888399&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_OperatingLeaseExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of operating lease expense. Excludes sublease income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918638-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=77888399&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>98
<FILENAME>R73.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6833488208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SOLAR POWER SYSTEMS, 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, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, plant and equipment</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="top.Show.showAR( this, 'defref_csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems', window );">Accumulated depreciation</a></td>
<td class="num">$ (22,322)<span></span>
</td>
<td class="num">$ (16,227)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_SolarPowerSystems', window );">Solar power systems, net</a></td>
<td class="nump">52,957<span></span>
</td>
<td class="nump">54,898<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation expense</a></td>
<td class="nump">148,034<span></span>
</td>
<td class="nump">120,834<span></span>
</td>
<td class="nump">$ 88,931<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ElectricGenerationEquipmentMember', window );">Solar power systems</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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, plant and equipment</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="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_SolarPowerSystems', window );">Solar power systems, net</a></td>
<td class="nump">70,449<span></span>
</td>
<td class="nump">66,641<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation expense</a></td>
<td class="nump">6,379<span></span>
</td>
<td class="nump">3,756<span></span>
</td>
<td class="nump">$ 5,683<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_AssetUnderConstructionMember', window );">Solar power sysetems under construction</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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, plant and equipment</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="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_SolarPowerSystems', window );">Solar power systems, net</a></td>
<td class="nump">$ 4,830<span></span>
</td>
<td class="nump">$ 4,484<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_csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_SolarPowerSystems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation of ground-mounted projects and roof top systems intend to be held for use.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SolarPowerSystems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ElectricGenerationEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ElectricGenerationEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_AssetUnderConstructionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_AssetUnderConstructionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6828153328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INTANGIBLE ASSETS, NET (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNetAbstract', window );"><strong>INTANGIBLE ASSETS, 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="top.Show.showAR( this, 'defref_csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of intangible assets</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">At December&#160;31, 2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Technical know-how</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,428</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,425)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3</p></td></tr><tr><td style="vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Computer software </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38,205</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (15,417)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,788</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total intangible assets, net </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,633</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (16,842)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,791</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">At December&#160;31, 2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Technical know-how</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,369</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,458)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 911</p></td></tr><tr><td style="vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Computer software </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,882</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (11,890)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,992</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total intangible assets, net </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,251</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (13,348)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,903</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of carrying value and amortization of finite-lived intangible assets by major class.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_FiniteLivedIntangibleAssetsNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNetAbstract</td>
</tr>
<tr>
<td style="padding-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>100
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6841942128">
<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, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Schedule of inventories</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Raw materials</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,759</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 75,722</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Work-in-process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 46,817</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 74,105</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Finished goods</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 167,446</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 404,243</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 262,022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 554,070</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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>101
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6827343232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LEASE (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>LEASE</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="top.Show.showAR( this, 'defref_us-gaap_LeaseCostTableTextBlock', window );">Schedule of leases</a></td>
<td class="text"><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year&#160;ended</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Finance lease cost:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Amortization of right-of-use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,900</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest on lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,213</p></td></tr><tr><td style="vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Operating fixed lease cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,619</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Short-term lease cost</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,920</p></td></tr><tr><td style="vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total lease cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,916</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock', window );">Schedule of other supplemental information:</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year&#160;ended</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash paid for amounts included in the measurement of lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating cash flows from finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (3,213)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating cash flows from operating lease</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (15,866)</p></td></tr><tr><td style="vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Financing cash flows from finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (33,614)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Right-of-use assets obtained in exchange of new finance lease liabilities in non-cash transaction</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,300</p></td></tr><tr><td style="vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Right-of-use assets obtained in exchange of new operating lease liabilities in non-cash transaction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,222</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Weighted average of remaining operating lease term - finance leases (in years)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="-sec-ix-hidden:Hidden_M-Q2a2b3OEOOK02jTa1BjQ"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:right;">1.41</span></span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Weighted average of remaining operating lease term - operating leases (in years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="-sec-ix-hidden:Hidden_GCueFfnbSEaf4cRxYJqJlw"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:right;">3.03</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Weighted average of operating lease discount rate - finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.82</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Weighted average of operating lease discount rate - operating lease</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.36</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Schedule of lease maturities</a></td>
<td class="text"><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Operating&#160;Lease&#160;Payment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Finance&#160;Lease&#160;Payment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total&#160;Lease&#160;Payment</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Year Ending December 31:</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,953</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,439</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 46,392</p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,980</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,087</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,066</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2022</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,666</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 604</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,270</p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,541</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,541</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2024</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,077</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,077</p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,504</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,504</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total future minimum lease payments</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,721</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,130</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 82,851</p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Less: imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,236</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,056</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,292</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">NPV for future minimum lease payments</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,485</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,074</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 78,559</p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Analysis as:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Short-term</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,767</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,998</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,765</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,718</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,076</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33,794</p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,485</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,074</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 78,559</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_ScheduleOfFutureMinimumLeasePaymentsForLeasesTableTextBlock', window );">Schedule of lease liabilities under(Topic 840)</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The future minimum lease payments from 2018 Form 20-F as filed in accordance with Leases (Topic 840) were as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Operating&#160;Lease&#160;Payment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Finance&#160;Lease&#160;Payment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total&#160;Lease&#160;Payment</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Year Ending December 31:</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,287</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,945</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,232</p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,790</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,483</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,273</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,379</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,842</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,221</p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,485</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 556</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,041</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 838</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 838</p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,743</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,743</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">Total future minimum lease payments</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,522</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 76,826</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 127,348</p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">Less: imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,024</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">NPV for future minimum lease payments</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 71,802</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 71,802</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Schedule of components of leases that are recognized on the Balance Sheets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_ScheduleOfFutureMinimumLeasePaymentsForLeasesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of future minimum lease payments as of the date of the latest balance sheet presented, in aggregate and for each of the five years succeeding fiscal years, with separate deductions from the total for the amount representing executor costs, including any profit thereon, included in the minimum lease payments and for the amount of the imputed interest necessary to reduce the net minimum lease payments to present value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ScheduleOfFutureMinimumLeasePaymentsForLeasesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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>102
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6827843504">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition (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, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue recognition:</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="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">$ 554,070<span></span>
</td>
<td class="nump">$ 262,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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">3,200,583<span></span>
</td>
<td class="nump">3,744,512<span></span>
</td>
<td class="nump">$ 3,390,393<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ElectricityMember', window );">Electricity</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="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue recognition:</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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">3,900<span></span>
</td>
<td class="nump">4,700<span></span>
</td>
<td class="nump">$ 10,900<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PublicUtilitiesInventoryAxis=csiq_UncollectableRevenueMember', window );">Uncollectable Revenue</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="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue recognition:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">$ 7,700<span></span>
</td>
<td class="nump">$ 9,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_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=116846819&amp;loc=d3e3927-108312<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130545-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130543-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ElectricityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ElectricityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PublicUtilitiesInventoryAxis=csiq_UncollectableRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PublicUtilitiesInventoryAxis=csiq_UncollectableRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>103
<FILENAME>R92.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6828168512">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASE - Total leases - Summary (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2019 </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="top.Show.showAR( this, 'defref_us-gaap_AssetsAndLiabilitiesLesseeAbstract', window );"><strong>Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_LeaseLiabilityCurrent', window );">Short-term</a></td>
<td class="nump">$ 44,765<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="top.Show.showAR( this, 'defref_csiq_LeaseLiabilityNoncurrent', window );">Long-term</a></td>
<td class="nump">33,794<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_LeaseLiability', window );">Total lease liabilities</a></td>
<td class="nump">78,559<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liabilities, current</a></td>
<td class="nump">18,767<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities, noncurrent</a></td>
<td class="nump">20,718<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Total operating lease liabilities</a></td>
<td class="nump">39,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="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityCurrent', window );">Finance lease liabilities, current</a></td>
<td class="nump">25,998<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityNoncurrent', window );">Finance lease liabilities, noncurrent</a></td>
<td class="nump">13,076<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiability', window );">Total Finance lease liabilities</a></td>
<td class="nump">$ 39,074<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_LeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Lease Liability</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Lease Liability, Current</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Lease Liability, Noncurrent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AssetsAndLiabilitiesLesseeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsAndLiabilitiesLesseeAbstract</td>
</tr>
<tr>
<td style="padding-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_FinanceLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>104
<FILENAME>R96.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6931095104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BORROWINGS - Long term narrative and interest expense (Details)<br> &#165; in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Oct. 11, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jul. 15, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 28, 2019 </div>
<div>JPY (&#165;)</div>
</th>
<th class="th">
<div>Jun. 28, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jan. 31, 2019 </div>
<div>JPY (&#165;)</div>
</th>
<th class="th">
<div>Jan. 25, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Oct. 31, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Sep. 14, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Apr. 05, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Mar. 30, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Mar. 26, 2018 </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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>BORROWINGS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_csiq_DebtInstrumentInterestRateFloatingPercentage', window );">Floating interest rate (as a percent)</a></td>
<td class="nump">5.43%<span></span>
</td>
<td class="nump">3.13%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_InterestCostsIncurredAbstract', window );"><strong>Interest expense</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_csiq_InterestCostsCapitalizedProjectAssets', window );">Interest capitalized - project assets</a></td>
<td class="nump">$ 10,794<span></span>
</td>
<td class="nump">$ 15,462<span></span>
</td>
<td class="nump">$ 13,274<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_csiq_InterestCostsCapitalizedPropertyPlantAndEquipment', window );">Interest capitalized - property, plant, and equipment</a></td>
<td class="nump">2,620<span></span>
</td>
<td class="nump">1,182<span></span>
</td>
<td class="nump">1,010<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense</a></td>
<td class="nump">81,326<span></span>
</td>
<td class="nump">106,032<span></span>
</td>
<td class="nump">117,971<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestCostsIncurred', window );">Total interest incurred</a></td>
<td class="nump">94,740<span></span>
</td>
<td class="nump">$ 122,676<span></span>
</td>
<td class="nump">$ 132,255<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_LineOfCreditMember', window );">Credit facility</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>BORROWINGS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="nump">$ 2,331,226<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_UnsecuredDebtMember', window );">Unsecured</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>BORROWINGS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_csiq_DebtInstrumentInterestRateFloatingPercentage', window );">Floating interest rate (as a percent)</a></td>
<td class="nump">4.86%<span></span>
</td>
<td class="nump">4.58%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember', window );">Secured by project assets and solar power systems</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>BORROWINGS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_csiq_DebtInstrumentInterestRateFloatingPercentage', window );">Floating interest rate (as a percent)</a></td>
<td class="nump">3.65%<span></span>
</td>
<td class="nump">4.61%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=csiq_FinancingAgreementMember', window );">Finance agreement</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>BORROWINGS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity | &#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="nump">&#165; 5,989<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Outstanding balance</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="nump">$ 1,503<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_srt_CounterpartyNameAxis=csiq_BankBorrowingsMember', window );">Bank borrowings | Subsidiary</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>BORROWINGS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 123,708<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Outstanding balance</a></td>
<td class="nump">$ 123,708<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_srt_CounterpartyNameAxis=csiq_BankBorrowingsMember', window );">Bank borrowings | Secured by Inventory and accounts receivable</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>BORROWINGS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity | &#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="nump">&#165; 8,476<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Outstanding balance</a></td>
<td class="nump">8,476<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_srt_CounterpartyNameAxis=csiq_BankBorrowingsMember', window );">Bank borrowings | Unsecured</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>BORROWINGS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 49,290<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Outstanding balance</a></td>
<td class="nump">11,881<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_srt_CounterpartyNameAxis=csiq_BankBorrowingsMember', window );">Bank borrowings | Secured by project assets and solar power systems</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>BORROWINGS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 50,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="top.Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Outstanding balance</a></td>
<td class="nump">50,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_srt_CounterpartyNameAxis=csiq_BankBorrowingsMember', window );">Bank borrowings | Secured by project assets and solar power systems | Subsidiary</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>BORROWINGS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 43,003<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="top.Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Outstanding balance</a></td>
<td class="nump">34,188<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_srt_CounterpartyNameAxis=csiq_BorrowingsFromNonBankingInstitutionsMember', window );">Borrowings from non-banking institutions</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>BORROWINGS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 93,975<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Outstanding balance</a></td>
<td class="nump">93,975<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_srt_CounterpartyNameAxis=csiq_BorrowingsFromNonBankingInstitutionsMember', window );">Borrowings from non-banking institutions | Subsidiary</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>BORROWINGS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 110,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Outstanding balance</a></td>
<td class="nump">91,095<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_srt_CounterpartyNameAxis=csiq_BorrowingsFromNonBankingInstitutionsMember', window );">Borrowings from non-banking institutions | Secured by prepaid land use rights and guaranteed by Chinese Subsidiary</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>BORROWINGS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 129,010<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Outstanding balance</a></td>
<td class="nump">$ 40,136<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_srt_CounterpartyNameAxis=csiq_BorrowingsFromNonBankingInstitutionsMember', window );">Borrowings from non-banking institutions | Finance agreement</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentLineItems', window );"><strong>BORROWINGS</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 60,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>
<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="top.Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Outstanding balance</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">$ 60,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>
<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_csiq_DebtInstrumentInterestRateFloatingPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Contractual floating interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DebtInstrumentInterestRateFloatingPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_InterestCostsCapitalizedProjectAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of interest costs capitalized for project assets disclosed as an adjusting item to interest costs incurred.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_InterestCostsCapitalizedProjectAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_InterestCostsCapitalizedPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of interest costs capitalized for property, plant, and equipment disclosed as an adjusting item to interest costs incurred.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_InterestCostsCapitalizedPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentLineItems</td>
</tr>
<tr>
<td style="padding-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_InterestCostsIncurred">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total interest costs incurred during the period and either capitalized or charged against earnings.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestCostsIncurred</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_InterestCostsIncurredAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestCostsIncurredAbstract</td>
</tr>
<tr>
<td style="padding-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_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the cost of borrowed funds accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=114775744&amp;loc=d3e28555-108399<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_LineOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_LineOfCreditMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_LineOfCreditMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_UnsecuredDebtMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_UnsecuredDebtMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=csiq_FinancingAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=csiq_FinancingAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CounterpartyNameAxis=csiq_BankBorrowingsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CounterpartyNameAxis=csiq_BankBorrowingsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_OwnershipAxis=csiq_SubsidiaryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_OwnershipAxis=csiq_SubsidiaryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=csiq_SecuredByInventoryAndAccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=csiq_SecuredByInventoryAndAccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CounterpartyNameAxis=csiq_BorrowingsFromNonBankingInstitutionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CounterpartyNameAxis=csiq_BorrowingsFromNonBankingInstitutionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R66.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6830360992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating 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, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue recognition:</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="top.Show.showAR( this, 'defref_csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments', window );">Gain on disposal of solar power systems</a></td>
<td class="num">$ (1,666)<span></span>
</td>
<td class="num">$ (36,098)<span></span>
</td>
<td class="num">$ (27,803)<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="top.Show.showAR( this, 'defref_csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense', window );">Net loss on disposal of property, plant and equipment</a></td>
<td class="nump">1,227<span></span>
</td>
<td class="nump">2,565<span></span>
</td>
<td class="nump">1,960<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainOnBusinessInterruptionInsuranceRecovery', window );">Business interruption insurance compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(15,238)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherOperatingIncomeExpenseNet', window );">Other operating income, net</a></td>
<td class="num">(10,536)<span></span>
</td>
<td class="num">(44,546)<span></span>
</td>
<td class="num">(47,554)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_GrantMember', window );">Government grants</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="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue recognition:</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="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherOperatingIncomeExpenseNet', window );">Other operating income, net</a></td>
<td class="num">$ (10,097)<span></span>
</td>
<td class="num">$ (11,013)<span></span>
</td>
<td class="num">$ (6,473)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of solar power systems and other investments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net loss on disposal of property, plant and equipment included in other operating expense.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainOnBusinessInterruptionInsuranceRecovery">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net amount (to the extent disclosed within this portion of the income statement) by which an insurance settlement exceeds incremental costs incurred from the event causing an interruption of business, plus the insurance award for earnings lost from the event, such as a natural catastrophe, explosion or fire.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=114868897&amp;loc=SL114872001-224240<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainOnBusinessInterruptionInsuranceRecovery</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherOperatingIncomeExpenseNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net amount of other operating income and expenses, the components of which are not separately disclosed on the income statement, from items that are associated with the entity's normal revenue producing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherOperatingIncomeExpenseNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_GrantMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_GrantMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>JSON
<SEQUENCE>106
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "csiq-20191231x20f.htm": {
   "axisCustom": 0,
   "axisStandard": 43,
   "contextCount": 533,
   "dts": {
    "calculationLink": {
     "local": [
      "csiq-20191231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "csiq-20191231_def.xml"
     ],
     "remote": [
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-eedm-def-2019-01-31.xml",
      "http://xbrl.fasb.org/srt/2019/elts/srt-eedm1-def-2019-01-31.xml"
     ]
    },
    "inline": {
     "local": [
      "csiq-20191231x20f.htm"
     ]
    },
    "labelLink": {
     "local": [
      "csiq-20191231_lab.xml"
     ],
     "remote": [
      "https://xbrl.sec.gov/dei/2019/dei-doc-2019-01-31.xml",
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-doc-2019-01-31.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "csiq-20191231_pre.xml"
     ]
    },
    "referenceLink": {
     "remote": [
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-ref-2019-01-31.xml",
      "https://xbrl.sec.gov/dei/2019/dei-ref-2019-01-31.xml"
     ]
    },
    "schema": {
     "local": [
      "csiq-20191231.xsd"
     ],
     "remote": [
      "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",
      "https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd",
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd",
      "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd",
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-roles-2019-01-31.xsd",
      "http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://xbrl.fasb.org/srt/2019/elts/srt-types-2019-01-31.xsd",
      "http://xbrl.fasb.org/srt/2019/elts/srt-roles-2019-01-31.xsd",
      "https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-types-2019-01-31.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",
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-parts-codification-2019-01-31.xsd",
      "http://www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd"
     ]
    }
   },
   "elementCount": 1075,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2019-01-31": 14,
    "http://www.canadiansolar.com/20191231": 3,
    "http://xbrl.sec.gov/dei/2019-01-31": 6,
    "total": 23
   },
   "keyCustom": 172,
   "keyStandard": 531,
   "memberCustom": 117,
   "memberStandard": 82,
   "nsprefix": "csiq",
   "nsuri": "http://www.canadiansolar.com/20191231",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "00090 - Document - Document and Entity Information",
     "role": "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation",
     "shortName": "Document and Entity Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NatureOfOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10101 - Disclosure - ORGANIZATION AND PRINCIPAL ACTIVITIES",
     "role": "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivities",
     "shortName": "ORGANIZATION AND PRINCIPAL ACTIVITIES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NatureOfOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R100": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:ConvertibleLongTermNotesPayable",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41701 - Disclosure - CONVERTIBLE NOTES (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails",
     "shortName": "CONVERTIBLE NOTES (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "csiq:ConvertibleNotesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_2_18_2014_To_2_18_2014_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_QLwd4HpR902K_A8wABiJsQ",
      "decimals": "-3",
      "lang": null,
      "name": "csiq:ProceedsFromConvertibleDebtInitialIssuance",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R101": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41801 - Disclosure - INCOME TAXES - Provision for income taxes (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
     "shortName": "INCOME TAXES - Provision for income taxes (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R102": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate",
      "reportCount": 1,
      "unitRef": "Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41802 - Disclosure - INCOME TAXES - Domestic federal statutory tax rates (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
     "shortName": "INCOME TAXES - Domestic federal statutory tax rates (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R103": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41803 - Disclosure - INCOME TAXES - Deferred tax assets and liabilities (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
     "shortName": "INCOME TAXES - Deferred tax assets and liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R104": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate",
      "reportCount": 1,
      "unitRef": "Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41804 - Disclosure - INCOME TAXES - Reconciliation (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails",
     "shortName": "INCOME TAXES - Reconciliation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "2",
      "lang": null,
      "name": "csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg",
      "xsiNil": "false"
     }
    },
    "R105": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredTaxAssetsValuationAllowance",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41805 - Disclosure - INCOME TAXES - Movement of the valuation allowance (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails",
     "shortName": "INCOME TAXES - Movement of the valuation allowance (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:SummaryOfValuationAllowanceTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_GhtInNTJ7Um_BcXw7gTx3A",
      "decimals": "-3",
      "lang": null,
      "name": "csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R106": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41901 - Disclosure - EARNINGS PER SHARE (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails",
     "shortName": "EARNINGS PER SHARE (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R107": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DueFromRelatedPartiesCurrent",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
     "shortName": "RELATED PARTY BALANCES AND TRANSACTIONS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:AccountsReceivableRelatedParties",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R108": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_zjSsGEmr3E6ImxRcFXV6BA",
      "decimals": "-6",
      "first": true,
      "lang": null,
      "name": "us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42101 - Disclosure - COMMITMENTS AND CONTINGENCIES - Commitments (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails",
     "shortName": "COMMITMENTS AND CONTINGENCIES - Commitments (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_zjSsGEmr3E6ImxRcFXV6BA",
      "decimals": "-6",
      "first": true,
      "lang": null,
      "name": "us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R109": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2010_To_12_31_2010_srt_LitigationCaseAxis_csiq_ClassActionLawsuitsFiledInNewYorkMember_FNrge7ynxUKgdwShVOjAFA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "csiq:NumberOfSubpoenasReceived",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42102 - Disclosure - COMMITMENTS AND CONTINGENCIES - Contingencies (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails",
     "shortName": "COMMITMENTS AND CONTINGENCIES - Contingencies (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2010_To_12_31_2010_srt_LitigationCaseAxis_csiq_ClassActionLawsuitsFiledInNewYorkMember_FNrge7ynxUKgdwShVOjAFA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "csiq:NumberOfSubpoenasReceived",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA",
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPolicies",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R110": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NumberOfReportableSegments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_segment_cECiqmtKEE2chm8uhJi7ig",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42201 - Disclosure - SEGMENT INFORMATION (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
     "shortName": "SEGMENT INFORMATION (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NumberOfReportableSegments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_segment_cECiqmtKEE2chm8uhJi7ig",
      "xsiNil": "false"
     }
    },
    "R111": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42202 - Disclosure - SEGMENT INFORMATION - Different geographic locations (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails",
     "shortName": "SEGMENT INFORMATION - Different geographic locations (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:NoncurrentAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R112": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42203 - Disclosure - SEGMENT INFORMATION - Each product or service (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
     "shortName": "SEGMENT INFORMATION - Each product or service (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_SolarModulesAndOtherSolarPowerProductsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_DaxFhPi_L0G4ACXbyptqBQ",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R113": {
     "firstAnchor": {
      "ancestors": [
       "csiq:NumberOfCustomers",
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "csiq:NumberOfCustomers",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42301 - Disclosure - MAJOR CUSTOMERS (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails",
     "shortName": "MAJOR CUSTOMERS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "csiq:NumberOfCustomers",
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "csiq:NumberOfCustomers",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA",
      "xsiNil": "false"
     }
    },
    "R114": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42401 - Disclosure - EMPLOYEE BENEFIT PLANS (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails",
     "shortName": "EMPLOYEE BENEFIT PLANS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg",
      "xsiNil": "false"
     }
    },
    "R115": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_9_30_2010_u6dAuOeG_k6wsEpEP6YCrA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42501 - Disclosure - SHARE-BASED COMPENSATION - Options to Employees (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
     "shortName": "SHARE-BASED COMPENSATION - Options to Employees (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_9_30_2010_u6dAuOeG_k6wsEpEP6YCrA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw",
      "xsiNil": "false"
     }
    },
    "R116": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FZQEbcVkrkqbWPOWvtlfJw",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
      "reportCount": 1,
      "unitRef": "Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42502 - Disclosure - SHARE-BASED COMPENSATION - RSUs to Employees (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails",
     "shortName": "SHARE-BASED COMPENSATION - RSUs to Employees (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_0F00mVXwd0mQUFuCsDhkpw",
      "decimals": "-5",
      "lang": null,
      "name": "csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R117": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_12_1_2019_To_12_31_2019_6Sb61chd0k6u_eevRjCz9g",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockRepurchasedDuringPeriodShares",
      "reportCount": 1,
      "unitRef": "Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42601 - Disclosure - SUBSEQUENT EVENTS (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSubsequentEventsDetails",
     "shortName": "SUBSEQUENT EVENTS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:SubsequentEventsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2020_To_3_31_2020_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_k47ijO3OR06PZVxdHEkE2w",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:StockRepurchasedDuringPeriodShares",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw",
      "xsiNil": "false"
     }
    },
    "R118": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:RestrictedAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42701 - Disclosure - Financial Statement Schedule I (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIDetails",
     "shortName": "Financial Statement Schedule I (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "2",
      "lang": null,
      "name": "csiq:ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg",
      "xsiNil": "false"
     }
    },
    "R119": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42702 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
     "shortName": "Financial Statement Schedule I - BALANCE SHEETS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllowanceForCreditLossesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10301 - Disclosure - ALLOWANCE FOR DOUBTFUL ACCOUNTS",
     "role": "http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccounts",
     "shortName": "ALLOWANCE FOR DOUBTFUL ACCOUNTS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllowanceForCreditLossesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R120": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42703 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
     "shortName": "Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rLGtkbREiUaJ3wgrxgmsxA",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R121": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42704 - Disclosure - Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
     "shortName": "Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R122": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42705 - Disclosure - Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
     "shortName": "Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R123": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42706 - Disclosure - Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
     "shortName": "Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_JZZhxjynQ02JqglwVyEEwQ",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R124": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_srt_CounterpartyNameAxis_csiq_CsiCellsCo.Ltd.Member_Ld_hV3-Kk0-OpEOkQQ3flg",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "42801 - Disclosure - Appendix 1 - Major Subsidiaries of CSI (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails",
     "shortName": "Appendix 1 - Major Subsidiaries of CSI (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_srt_CounterpartyNameAxis_csiq_CsiCellsCo.Ltd.Member_Ld_hV3-Kk0-OpEOkQQ3flg",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg",
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10401 - Disclosure - INVENTORIES",
     "role": "http://www.canadiansolar.com/role/DisclosureInventories",
     "shortName": "INVENTORIES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ProjectAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10501 - Disclosure - PROJECT ASSETS",
     "role": "http://www.canadiansolar.com/role/DisclosureProjectAssets",
     "shortName": "PROJECT ASSETS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ProjectAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET",
     "role": "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNet",
     "shortName": "PROPERTY, PLANT AND EQUIPMENT, NET",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:SolarPowerSystemsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10701 - Disclosure - SOLAR POWER SYSTEMS, NET",
     "role": "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNet",
     "shortName": "SOLAR POWER SYSTEMS, NET",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:SolarPowerSystemsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10801 - Disclosure - INTANGIBLE ASSETS, NET",
     "role": "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNet",
     "shortName": "INTANGIBLE ASSETS, NET",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10901 - Disclosure - FAIR VALUE MEASUREMENT",
     "role": "http://www.canadiansolar.com/role/DisclosureFairValueMeasurement",
     "shortName": "FAIR VALUE MEASUREMENT",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:VariableInterestEntityDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11001 - Disclosure - VARIABLE INTEREST ENTITIES",
     "role": "http://www.canadiansolar.com/role/DisclosureVariableInterestEntities",
     "shortName": "VARIABLE INTEREST ENTITIES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:VariableInterestEntityDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00100 - Statement - CONSOLIDATED BALANCE SHEETS",
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets",
     "shortName": "CONSOLIDATED BALANCE SHEETS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ValueAddedTaxReceivableCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11101 - Disclosure - INVESTMENTS IN AFFILIATES",
     "role": "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliates",
     "shortName": "INVESTMENTS IN AFFILIATES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11201 - Disclosure - LEASE",
     "role": "http://www.canadiansolar.com/role/DisclosureLease",
     "shortName": "LEASE",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11301 - Disclosure - BORROWINGS",
     "role": "http://www.canadiansolar.com/role/DisclosureBorrowings",
     "shortName": "BORROWINGS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ShortTermNotesPayableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11401 - Disclosure - SHORT-TERM NOTES PAYABLE",
     "role": "http://www.canadiansolar.com/role/DisclosureShortTermNotesPayable",
     "shortName": "SHORT-TERM NOTES PAYABLE",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ShortTermNotesPayableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11501 - Disclosure - ACCRUED WARRANTY COSTS",
     "role": "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCosts",
     "shortName": "ACCRUED WARRANTY COSTS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RestrictedAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11601 - Disclosure - RESTRICTED NET ASSETS",
     "role": "http://www.canadiansolar.com/role/DisclosureRestrictedNetAssets",
     "shortName": "RESTRICTED NET ASSETS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RestrictedAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ConvertibleNotesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11701 - Disclosure - CONVERTIBLE NOTES",
     "role": "http://www.canadiansolar.com/role/DisclosureConvertibleNotes",
     "shortName": "CONVERTIBLE NOTES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ConvertibleNotesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11801 - Disclosure - INCOME TAXES",
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxes",
     "shortName": "INCOME TAXES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11901 - Disclosure - EARNINGS PER SHARE",
     "role": "http://www.canadiansolar.com/role/DisclosureEarningsPerShare",
     "shortName": "EARNINGS PER SHARE",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS",
     "role": "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactions",
     "shortName": "RELATED PARTY BALANCES AND TRANSACTIONS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical",
     "shortName": "CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "lang": null,
      "name": "csiq:AllowanceForDoubtfulAdvancesToSuppliersCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12101 - Disclosure - COMMITMENTS AND CONTINGENCIES",
     "role": "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingencies",
     "shortName": "COMMITMENTS AND CONTINGENCIES",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12201 - Disclosure - SEGMENT INFORMATION",
     "role": "http://www.canadiansolar.com/role/DisclosureSegmentInformation",
     "shortName": "SEGMENT INFORMATION",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:MajorCustomersDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12301 - Disclosure - MAJOR CUSTOMERS",
     "role": "http://www.canadiansolar.com/role/DisclosureMajorCustomers",
     "shortName": "MAJOR CUSTOMERS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:MajorCustomersDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12401 - Disclosure - EMPLOYEE BENEFIT PLANS",
     "role": "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlans",
     "shortName": "EMPLOYEE BENEFIT PLANS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12501 - Disclosure - SHARE-BASED COMPENSATION",
     "role": "http://www.canadiansolar.com/role/DisclosureShareBasedCompensation",
     "shortName": "SHARE-BASED COMPENSATION",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12601 - Disclosure - SUBSEQUENT EVENTS",
     "role": "http://www.canadiansolar.com/role/DisclosureSubsequentEvents",
     "shortName": "SUBSEQUENT EVENTS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12701 - Disclosure - Additional Information - Financial Statement Schedule I",
     "role": "http://www.canadiansolar.com/role/DisclosureAdditionalInformationFinancialStatementScheduleI",
     "shortName": "Additional Information - Financial Statement Schedule I",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "12801 - Disclosure - Appendix 1 - Major Subsidiaries of CSI",
     "role": "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsi",
     "shortName": "Appendix 1 - Major Subsidiaries of CSI",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "20202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Policies)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:RevenueFromNonrelatedParties",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS",
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations",
     "shortName": "CONSOLIDATED STATEMENTS OF OPERATIONS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:RevenueFromNonrelatedParties",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:AllowanceForCreditLossesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_tq-G0UD3eEqDOF452JF6iA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30303 - Disclosure - ALLOWANCE FOR DOUBTFUL ACCOUNTS (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsTables",
     "shortName": "ALLOWANCE FOR DOUBTFUL ACCOUNTS (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:AllowanceForCreditLossesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_tq-G0UD3eEqDOF452JF6iA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30403 - Disclosure - INVENTORIES (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureInventoriesTables",
     "shortName": "INVENTORIES (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "csiq:ProjectAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfProjectAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30503 - Disclosure - PROJECT ASSETS (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureProjectAssetsTables",
     "shortName": "PROJECT ASSETS (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "csiq:ProjectAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfProjectAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30603 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetTables",
     "shortName": "PROPERTY, PLANT AND EQUIPMENT, NET (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "csiq:SolarPowerSystemsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30703 - Disclosure - SOLAR POWER SYSTEMS, NET (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetTables",
     "shortName": "SOLAR POWER SYSTEMS, NET (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "csiq:SolarPowerSystemsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30803 - Disclosure - INTANGIBLE ASSETS, NET (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetTables",
     "shortName": "INTANGIBLE ASSETS, NET (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30903 - Disclosure - FAIR VALUE MEASUREMENT (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables",
     "shortName": "FAIR VALUE MEASUREMENT (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:VariableInterestEntityDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfVariableInterestEntitiesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31003 - Disclosure - VARIABLE INTEREST ENTITIES (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesTables",
     "shortName": "VARIABLE INTEREST ENTITIES (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:VariableInterestEntityDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfVariableInterestEntitiesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EquityMethodInvestmentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31103 - Disclosure - INVESTMENTS IN AFFILIATES (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTables",
     "shortName": "INVESTMENTS IN AFFILIATES (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EquityMethodInvestmentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31203 - Disclosure - LEASE (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseTables",
     "shortName": "LEASE (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00300 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME",
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome",
     "shortName": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2018_To_12_31_2018_z5jtpcJwEUW2W8K75WqDLw",
      "decimals": "-3",
      "lang": null,
      "name": "csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31303 - Disclosure - BORROWINGS (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureBorrowingsTables",
     "shortName": "BORROWINGS (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31503 - Disclosure - ACCRUED WARRANTY COSTS (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsTables",
     "shortName": "ACCRUED WARRANTY COSTS (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31803 - Disclosure - INCOME TAXES (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables",
     "shortName": "INCOME TAXES (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31903 - Disclosure - EARNINGS PER SHARE (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureEarningsPerShareTables",
     "shortName": "EARNINGS PER SHARE (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_Np0KdG7IgkGg0RZJy8EOmA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LongTermPurchaseCommitmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "32103 - Disclosure - COMMITMENTS AND CONTINGENCIES (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables",
     "shortName": "COMMITMENTS AND CONTINGENCIES (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_Np0KdG7IgkGg0RZJy8EOmA",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LongTermPurchaseCommitmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "32203 - Disclosure - SEGMENT INFORMATION (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureSegmentInformationTables",
     "shortName": "SEGMENT INFORMATION (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R56": {
     "firstAnchor": {
      "ancestors": [
       "csiq:MajorCustomersDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "32303 - Disclosure - MAJOR CUSTOMERS (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureMajorCustomersTables",
     "shortName": "MAJOR CUSTOMERS (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "csiq:MajorCustomersDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R57": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "32503 - Disclosure - SHARE-BASED COMPENSATION (Tables)",
     "role": "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationTables",
     "shortName": "SHARE-BASED COMPENSATION (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R58": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PrepaidExpenseAndOtherAssetsCurrent",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Allowance for doubtful receivables (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Allowance for doubtful receivables (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "csiq:AllowanceForDoubtfulAccountsPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_us-gaap_GainContingenciesByNatureAxis_us-gaap_InsuranceSettlementMember_nVEHOs6J7kaN3n9wRUvIvA",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:PrepaidExpenseAndOtherAssetsCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R59": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_KO24wHZchkqHiv_tqI_pHg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Property, plant and equipment (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Property, plant and equipment (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_KO24wHZchkqHiv_tqI_pHg",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_YRmJLv4FhEq4wT4N0l1Uhw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00400 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY",
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
     "shortName": "CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2016_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_YRmJLv4FhEq4wT4N0l1Uhw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R60": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_ELYLOouZJEe_L8lh_Cqbvw",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FiniteLivedIntangibleAssetUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Prepaid land use rights (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Prepaid land use rights (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_ELYLOouZJEe_L8lh_Cqbvw",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FiniteLivedIntangibleAssetUsefulLife",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R61": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:EquityMethodInvestmentsPolicy",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ImpairmentOfInvestments",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40204 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Asset retirement obligation (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Asset retirement obligation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:AssetRetirementObligationsPolicy",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:AssetRetirementObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R62": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryNet",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40205 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_BUFxCdL0A0y6BF12QikXqw",
      "decimals": "-5",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R63": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40206 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Disaggregation of Revenue (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Disaggregation of Revenue (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_us-gaap_StatementBusinessSegmentsAxis_csiq_ModuleSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_kqYJQ7mlgECOTJtnUDOsew",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R64": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:UnbilledReceivablesCurrent",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40207 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "lang": null,
      "name": "csiq:IncreaseDecreaseInAccountsReceivablesUnbilled",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R65": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:SellingExpense",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40208 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Shipping and handling costs, Research and development (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Shipping and handling costs, Research and development (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "csiq:ShippingsAndHandlingCostPolicyPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_jjHP3wxIbk6iZgzCWyXAXA",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:SellingExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R66": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40209 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating income, net (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating income, net (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfOtherOperatingIncomeExpenseTableTextBlock",
       "csiq:OtherOperatingIncomeExpensePolicyPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "lang": null,
      "name": "csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R67": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "csiq:ProductWarrantyAccrualRateForSalesOfSolarModules",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40210 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "csiq:ProductWarrantyAccrualRateForSalesOfSolarModules",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg",
      "xsiNil": "false"
     }
    },
    "R68": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40211 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Recently issued accounting pronouncements (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Recently issued accounting pronouncements (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_1_1_2019_JrXLyDz_iE6bXdd_RjWC4w",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R69": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40301 - Disclosure - ALLOWANCE FOR DOUBTFUL ACCOUNTS (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsDetails",
     "shortName": "ALLOWANCE FOR DOUBTFUL ACCOUNTS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock",
       "us-gaap:AllowanceForCreditLossesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2016_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_mZ3g8MrpQ0-vybcY6Rvc3A",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_12_1_2019_To_12_31_2019_6Sb61chd0k6u_eevRjCz9g",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockRepurchasedDuringPeriodShares",
      "reportCount": 1,
      "unitRef": "Unit_Standard_shares_KwBIMRfpD0-vtVmcXHkNAw",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00405 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)",
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical",
     "shortName": "CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": null
    },
    "R70": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40401 - Disclosure - INVENTORIES (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureInventoriesDetails",
     "shortName": "INVENTORIES (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R71": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfProjectAssetsTableTextBlock",
       "csiq:ProjectAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40501 - Disclosure - PROJECT ASSETS (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails",
     "shortName": "PROJECT ASSETS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfProjectAssetsTableTextBlock",
       "csiq:ProjectAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R72": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
     "shortName": "PROPERTY, PLANT AND EQUIPMENT, NET (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R73": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock",
       "csiq:SolarPowerSystemsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40701 - Disclosure - SOLAR POWER SYSTEMS, NET (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
     "shortName": "SOLAR POWER SYSTEMS, NET (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock",
       "csiq:SolarPowerSystemsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R74": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40801 - Disclosure - INTANGIBLE ASSETS, NET (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
     "shortName": "INTANGIBLE ASSETS, NET (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R75": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_iTN31H1YCkqecbamZCUcgg",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeLiabilityNotionalAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40901 - Disclosure - FAIR VALUE MEASUREMENT (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails",
     "shortName": "FAIR VALUE MEASUREMENT (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_iTN31H1YCkqecbamZCUcgg",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeLiabilityNotionalAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R76": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_nYaVjTJgHk-KjaHXERQOpQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40902 - Disclosure - FAIR VALUE MEASUREMENT - Interest rate swap (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails",
     "shortName": "FAIR VALUE MEASUREMENT - Interest rate swap (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_nYaVjTJgHk-KjaHXERQOpQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R77": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40903 - Disclosure - FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails",
     "shortName": "FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R78": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AssetImpairmentCharges",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40904 - Disclosure - FAIR VALUE MEASUREMENT - Carrying value (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails",
     "shortName": "FAIR VALUE MEASUREMENT - Carrying value (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R79": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Assets",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41001 - Disclosure - VARIABLE INTEREST ENTITIES (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails",
     "shortName": "VARIABLE INTEREST ENTITIES (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfVariableInterestEntitiesTextBlock",
       "us-gaap:VariableInterestEntityDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_maCPKEXMVE-j2Nxn8cvqXw",
      "decimals": "-3",
      "lang": null,
      "name": "csiq:ProjectAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProfitLoss",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00500 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows",
     "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:GainLossOnSaleOfPropertyPlantEquipment",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R80": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:EquityMethodInvestments",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41101 - Disclosure - INVESTMENTS IN AFFILIATES (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
     "shortName": "INVESTMENTS IN AFFILIATES (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:EquityMethodInvestmentsTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReRoserockHoldingsLlcMember_3_3kA9863Uqpmpr8Nr82IA",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:EquityMethodInvestments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R81": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41102 - Disclosure - INVESTMENTS IN AFFILIATES - Tax equity transactions (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails",
     "shortName": "INVESTMENTS IN AFFILIATES - Tax equity transactions (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_us-gaap_CapitalUnitsByClassAxis_us-gaap_CapitalUnitClassAMember_6op6Ex1lRUCkN7e7zL6wmg",
      "decimals": "2",
      "lang": null,
      "name": "csiq:CashFlowDistributionPercentage",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg",
      "xsiNil": "false"
     }
    },
    "R82": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PaymentsToAcquireEquityMethodInvestments",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41103 - Disclosure - INVESTMENTS IN AFFILIATES - Other investments (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
     "shortName": "INVESTMENTS IN AFFILIATES - Other investments (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_9_8_2015_To_9_8_2015_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCoLtdMember_BOjWTJgvMEaSRomTHtEAoA",
      "decimals": "INF",
      "lang": null,
      "name": "csiq:NumberOfBoardMembersDesignatedByTheAcquiredEntity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_item_JAVFTXIpwESClbYRm3uZAA",
      "xsiNil": "false"
     }
    },
    "R83": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinanceLeaseRightOfUseAssetAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41201 - Disclosure - LEASE - Lease expense (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails",
     "shortName": "LEASE - Lease expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinanceLeaseRightOfUseAssetAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R84": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinanceLeaseInterestPaymentOnLiability",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41202 - Disclosure - LEASE - Cash flow (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails",
     "shortName": "LEASE - Cash flow (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinanceLeaseInterestPaymentOnLiability",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R85": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41203 - Disclosure - LEASE - Additional information (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails",
     "shortName": "LEASE - Additional information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg",
      "xsiNil": "false"
     }
    },
    "R86": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41204 - Disclosure - LEASE - Operating leases - Maturities (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails",
     "shortName": "LEASE - Operating leases - Maturities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R87": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41205 - Disclosure - LEASE - Operating leases - Gross difference (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails",
     "shortName": "LEASE - Operating leases - Gross difference (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R88": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41206 - Disclosure - LEASE - Finance leases - Maturities (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails",
     "shortName": "LEASE - Finance leases - Maturities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R89": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinanceLeaseLiabilityPaymentsDue",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41207 - Disclosure - LEASE - Finance leases - Gross difference (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails",
     "shortName": "LEASE - Finance leases - Gross difference (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00505 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)",
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical",
     "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": null
    },
    "R90": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:LesseeLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41208 - Disclosure - LEASE - Total leases - Maturities (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails",
     "shortName": "LEASE - Total leases - Maturities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:LesseeLiabilityPaymentsDueNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R91": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:LesseeLiabilityPaymentsDue",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41209 - Disclosure - LEASE - Total leases - Gross difference (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails",
     "shortName": "LEASE - Total leases - Gross difference (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "lang": null,
      "name": "csiq:LesseeLiabilityUndiscountedExcessAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R92": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:LeaseLiabilityCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41210 - Disclosure - LEASE - Total leases - Summary (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails",
     "shortName": "LEASE - Total leases - Summary (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:LeaseLiabilityCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R93": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OtherShortTermBorrowings",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41301 - Disclosure - BORROWINGS (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
     "shortName": "BORROWINGS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:DebtLongtermAndShorttermCombinedAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R94": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OtherShortTermBorrowings",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41302 - Disclosure - BORROWINGS - Short term (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureBorrowingsShortTermDetails",
     "shortName": "BORROWINGS - Short term (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R95": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:LongTermBorrowingsOnProjectAssetsCurrent",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41303 - Disclosure - BORROWINGS - Long term (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails",
     "shortName": "BORROWINGS - Long term (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "Duration_1_1_2019_To_12_31_2019_c0Q58NGr-0qoA7sCUUIaGQ",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:LongTermDebtWeightedAverageInterestRateOverTime",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg",
      "xsiNil": "false"
     }
    },
    "R96": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfEffectiveInterestRatesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "csiq:DebtInstrumentInterestRateFloatingPercentage",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41304 - Disclosure - BORROWINGS - Long term narrative and interest expense (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails",
     "shortName": "BORROWINGS - Long term narrative and interest expense (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfEffectiveInterestRatesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "csiq:DebtInstrumentInterestRateFloatingPercentage",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg",
      "xsiNil": "false"
     }
    },
    "R97": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "csiq:ShortTermNotesPayable",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41401 - Disclosure - SHORT-TERM NOTES PAYABLE (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureShortTermNotesPayableDetails",
     "shortName": "SHORT-TERM NOTES PAYABLE (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R98": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2018_guMza6U0PUmGG5yj1SRyAg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProductWarrantyAccrualNoncurrent",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41501 - Disclosure - ACCRUED WARRANTY COSTS (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails",
     "shortName": "ACCRUED WARRANTY COSTS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2016_1CpwSxbtS0GMUYvki678nw",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ProductWarrantyAccrualNoncurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD_xzr6YcaB80SeVpaoCgxs8Q",
      "xsiNil": "false"
     }
    },
    "R99": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:RestrictedAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "csiq:MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41601 - Disclosure - RESTRICTED NET ASSETS (Details)",
     "role": "http://www.canadiansolar.com/role/DisclosureRestrictedNetAssetsDetails",
     "shortName": "RESTRICTED NET ASSETS (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:RestrictedAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "csiq-20191231x20f.htm",
      "contextRef": "As_Of_12_31_2019_Px7ZQbPgX0C8HLX9R66aLw",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "csiq:MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_0b7GFderDUKwVXRYEUOEqg",
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 210,
   "tag": {
    "country_AE": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "A [E]",
        "terseLabel": "U.A.E"
       }
      }
     },
     "localname": "AE",
     "nsuri": "http://xbrl.sec.gov/country/2017-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_AU": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "A [U]",
        "terseLabel": "Australia"
       }
      }
     },
     "localname": "AU",
     "nsuri": "http://xbrl.sec.gov/country/2017-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_BR": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "B [R]",
        "terseLabel": "BRAZIL"
       }
      }
     },
     "localname": "BR",
     "nsuri": "http://xbrl.sec.gov/country/2017-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_CA": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "C [A]",
        "terseLabel": "Canada"
       }
      }
     },
     "localname": "CA",
     "nsuri": "http://xbrl.sec.gov/country/2017-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_CN": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "C [N]",
        "terseLabel": "PRC"
       }
      }
     },
     "localname": "CN",
     "nsuri": "http://xbrl.sec.gov/country/2017-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_CZ": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "C [Z]",
        "terseLabel": "Czech"
       }
      }
     },
     "localname": "CZ",
     "nsuri": "http://xbrl.sec.gov/country/2017-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_DE": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "D [E]",
        "terseLabel": "Germany"
       }
      }
     },
     "localname": "DE",
     "nsuri": "http://xbrl.sec.gov/country/2017-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_ES": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "E [S]",
        "terseLabel": "Spain"
       }
      }
     },
     "localname": "ES",
     "nsuri": "http://xbrl.sec.gov/country/2017-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_GB": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "G [B]",
        "terseLabel": "United Kingdom"
       }
      }
     },
     "localname": "GB",
     "nsuri": "http://xbrl.sec.gov/country/2017-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_HK": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "H [K]",
        "terseLabel": "Hong Kong"
       }
      }
     },
     "localname": "HK",
     "nsuri": "http://xbrl.sec.gov/country/2017-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_IN": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "I [N]",
        "terseLabel": "India"
       }
      }
     },
     "localname": "IN",
     "nsuri": "http://xbrl.sec.gov/country/2017-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_JP": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "J [P]",
        "terseLabel": "Japan"
       }
      }
     },
     "localname": "JP",
     "nsuri": "http://xbrl.sec.gov/country/2017-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_KR": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "K [R]",
        "terseLabel": "Korea"
       }
      }
     },
     "localname": "KR",
     "nsuri": "http://xbrl.sec.gov/country/2017-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_MX": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "M [X]",
        "terseLabel": "Mexico"
       }
      }
     },
     "localname": "MX",
     "nsuri": "http://xbrl.sec.gov/country/2017-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_NL": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "N [L]",
        "terseLabel": "Netherlands"
       }
      }
     },
     "localname": "NL",
     "nsuri": "http://xbrl.sec.gov/country/2017-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_TH": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "T [H]",
        "terseLabel": "Thailand"
       }
      }
     },
     "localname": "TH",
     "nsuri": "http://xbrl.sec.gov/country/2017-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_US": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "U [S]",
        "terseLabel": "United States"
       }
      }
     },
     "localname": "US",
     "nsuri": "http://xbrl.sec.gov/country/2017-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_VN": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "V [N]",
        "terseLabel": "Vietnam"
       }
      }
     },
     "localname": "VN",
     "nsuri": "http://xbrl.sec.gov/country/2017-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "country_ZA": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Z [A]",
        "terseLabel": "South Africa"
       }
      }
     },
     "localname": "ZA",
     "nsuri": "http://xbrl.sec.gov/country/2017-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_AccumulatedAssetImpairmentCharges": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": {
       "order": 1.0,
       "parentTag": "csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of accumulated asset impairment for physical assets used in the normal conduct of business to produce goods and services.",
        "label": "Accumulated Asset Impairment Charges",
        "negatedLabel": "Impairment"
       }
      }
     },
     "localname": "AccumulatedAssetImpairmentCharges",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails": {
       "order": 1.0,
       "parentTag": "csiq_SolarPowerSystems",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.",
        "label": "Accumulated Depreciation, Depletion and Amortization, Solar Power Systems",
        "negatedLabel": "Accumulated depreciation"
       }
      }
     },
     "localname": "AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_AdvancesOnInventoryPurchasesNonCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying value of capitalized payments made in advance for inventory that is expected to be received after one year or beyond the normal operating cycle, if longer.",
        "label": "Advances on Inventory Purchases, Non Current",
        "verboseLabel": "Advances to suppliers, net of allowance of $15,224 and $13,059 as of December 31, 2018 and 2019, respectively"
       }
      }
     },
     "localname": "AdvancesOnInventoryPurchasesNonCurrent",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_AdvancesToSuppliersPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for advances to suppliers.",
        "label": "Advances to Suppliers [Policy Text Block]",
        "terseLabel": "Advances to suppliers"
       }
      }
     },
     "localname": "AdvancesToSuppliersPolicyTextBlock",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_AllowanceForAdvancesToSuppliersMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the valuation allowance for advances to suppliers that are expected to be uncollectible.",
        "label": "Allowance For Advances To Suppliers [Member]",
        "terseLabel": "Allowances for advances to suppliers"
       }
      }
     },
     "localname": "AllowanceForAdvancesToSuppliersMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsDetails",
      "http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsTables"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_AllowanceForDoubtfulAccountsPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of the accounting policy for the allowance for doubtful accounts on accounts receivable balances.",
        "label": "Allowance For Doubtful Accounts [Policy Text Block]",
        "terseLabel": "Allowance for doubtful receivables"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsPolicyTextBlock",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_AllowanceForDoubtfulAdvancesToSuppliersCurrent": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A valuation allowance for advances made to suppliers expected to be utilized within twelve months (or the normal operating cycle, whichever is longer) that are expected to be uncollectible.",
        "label": "Allowance for Doubtful Advances to Suppliers Current",
        "terseLabel": "Advances to suppliers - current, allowance"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAdvancesToSuppliersCurrent",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_AllowanceForDoubtfulAdvancesToSuppliersNoncurrent": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A valuation allowance for advances made to suppliers expected to be utilized after twelve months (or the normal operating cycle, whichever is longer) that are expected to be uncollectible.",
        "label": "Allowance for Doubtful Advances to Suppliers Noncurrent",
        "terseLabel": "Advances to suppliers - non-current, allowance"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAdvancesToSuppliersNoncurrent",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_AllowanceForOtherReceivablesMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the valuation allowance for other receivables that are expected to be uncollectible.",
        "label": "Allowance For Other Receivables [Member]",
        "terseLabel": "Allowances for other receivables"
       }
      }
     },
     "localname": "AllowanceForOtherReceivablesMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsDetails",
      "http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsTables"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_AmericaMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the geographic area of America, in which the entity operates.",
        "label": "America [Member]",
        "terseLabel": "The Americas"
       }
      }
     },
     "localname": "AmericaMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the annual percentage increase in authorized shares on the first business day of each calendar year from the year of amendment for awards other than incentive option shares.",
        "label": "Annual Percentage Increase in Authorized Shares on First Day of Each of Calendar Year from Year of Amendment for Awards Other than Incentive Option Shares",
        "terseLabel": "Annual percentage increase in authorized shares on the first day of each calendar year from the year of amendment for awards other than incentive option shares"
       }
      }
     },
     "localname": "AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the annual percentage increase in authorized shares on the first business day of each of 2007, 2008 and 2009 prior to the year of amendment for awards other than incentive option shares.",
        "label": "Annual Percentage Increase in Authorized Shares on First Day of Each of Three Years Prior to Year of Amendment for Awards Other than Incentive Option Shares",
        "terseLabel": "Annual percentage increase in authorized shares on the first day of each of 2007, 2008 and 2009 prior to the year of amendment for awards other than incentive option shares"
       }
      }
     },
     "localname": "AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_AssetManagementServiceMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information relating to asset management service.",
        "label": "Asset Management Service [Member]",
        "terseLabel": "Asset management service"
       }
      }
     },
     "localname": "AssetManagementServiceMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_AssetsAcquisitionPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for assets acquisition.",
        "label": "Assets Acquisition [Policy Text Block]",
        "terseLabel": "Assets acquisition"
       }
      }
     },
     "localname": "AssetsAcquisitionPolicyTextBlock",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The number of interests in solar power plants sold during the year.",
        "label": "Assets Held-for-sale, Number of Solar Power Plants Sold",
        "terseLabel": "Number of solar power plants sold"
       }
      }
     },
     "localname": "AssetsHeldForSaleNumberOfSolarPowerPlantsSold",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "csiq_BankBorrowingsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to borrowings from bank.",
        "label": "Bank Borrowings [Member]",
        "terseLabel": "Bank borrowings"
       }
      }
     },
     "localname": "BankBorrowingsMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_BifacialModuleAndDoubleGlassModuleMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This member represents the information pertaining to Bifacial Module and Double Glass Module.",
        "label": "Bifacial Module And Double Glass Module [Member]",
        "terseLabel": "Bifacial module and double glass module"
       }
      }
     },
     "localname": "BifacialModuleAndDoubleGlassModuleMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_BorrowingsFromNonBankingInstitutionsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to borrowings from non-banking institutions.",
        "label": "Borrowings From Non Banking Institutions [Member]",
        "terseLabel": "Borrowings from non-banking institutions"
       }
      }
     },
     "localname": "BorrowingsFromNonBankingInstitutionsMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CSISolarTechnologiesIncMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to CSI Solar Technologies Inc.",
        "label": "C S I Solar Technologies Inc [Member]",
        "terseLabel": "CSI Solar Technologies Inc."
       }
      }
     },
     "localname": "CSISolarTechnologiesIncMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CSISolartronicsChangshuCoLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to CSI Solartronics (Changshu) Co., Ltd.",
        "label": "C S I Solartronics Changshu Co Ltd [Member]",
        "terseLabel": "CSI Solartronics (Changshu) Co., Ltd"
       }
      }
     },
     "localname": "CSISolartronicsChangshuCoLtdMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarArgentinaInvestmentHoldingLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the information pertaining to Canadian Solar Argentina Investment Holding Ltd.",
        "label": "Canadian Solar Argentina Investment Holding Ltd [Member]",
        "terseLabel": "Canadian Solar Argentina Investment Holding Ltd"
       }
      }
     },
     "localname": "CanadianSolarArgentinaInvestmentHoldingLtdMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarAustralia1PtyLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Australia 1 Pty Ltd.",
        "label": "Canadian Solar Australia1 Pty Ltd [Member]",
        "terseLabel": "Canadian Solar MSS (Australia) Pty Ltd (formerly named/known as \"Canadian Solar Australia 1 Pty Ltd.\")"
       }
      }
     },
     "localname": "CanadianSolarAustralia1PtyLtdMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarAustraliaPtyLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar (Australia) Pty., Ltd., a subsidiary of the entity.",
        "label": "Canadian Solar Australia Pty Ltd [Member]",
        "terseLabel": "Canadian Solar (Australia) Pty Limited"
       }
      }
     },
     "localname": "CanadianSolarAustraliaPtyLtdMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd.",
        "label": "Canadian Solar Brazil Commerce Import And Export Of Solar Panels Limited [Member]",
        "terseLabel": "Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd."
       }
      }
     },
     "localname": "CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarConstructionAustraliaPtyLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the information pertaining to Canadian Solar Construction (Australia) Pty Ltd.",
        "label": "Canadian Solar Construction Australia Pty Ltd [Member]",
        "terseLabel": "Canadian Solar Construction (Australia) Pty Ltd"
       }
      }
     },
     "localname": "CanadianSolarConstructionAustraliaPtyLtdMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarConstructionUsaLLCMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Construction (USA) LLC.",
        "label": "Canadian Solar Construction Usa L L C [Member]",
        "terseLabel": "Canadian Solar Construction (USA) LLC"
       }
      }
     },
     "localname": "CanadianSolarConstructionUsaLLCMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarEMEAGmbHMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar EMEA GmbH.",
        "label": "Canadian Solar E M E A Gmb H [Member]",
        "terseLabel": "Canadian Solar EMEA GmbH"
       }
      }
     },
     "localname": "CanadianSolarEMEAGmbHMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarEnergyAcquisitionCo.Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Energy Acquisition Co.",
        "label": "Canadian Solar Energy Acquisition Co. [Member]",
        "terseLabel": "Canadian Solar Energy Acquisition Co."
       }
      }
     },
     "localname": "CanadianSolarEnergyAcquisitionCo.Member",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarEnergyHoldingCompanyLimitedMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Energy Holding Company Limited.",
        "label": "Canadian Solar Energy Holding Company Limited [Member]",
        "terseLabel": "Canadian Solar Energy Holding Company Limited"
       }
      }
     },
     "localname": "CanadianSolarEnergyHoldingCompanyLimitedMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Energy Holding Singapore 1 Pte. Ltd.",
        "label": "Canadian Solar Energy Holding Singapore1 Pte. Ltd. [Member]",
        "terseLabel": "Canadian Solar Energy Holding Singapore Pte. Ltd."
       }
      }
     },
     "localname": "CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarEnergyHoldingSingaporePte.Ltd.Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Canadian Solar Energy Holding Singapore Pte. Ltd.",
        "label": "Canadian Solar Energy Holding Singapore Pte. Ltd. [Member]",
        "terseLabel": "Canadian Solar Energy Holding Singapore Pte. Ltd. [Member]"
       }
      }
     },
     "localname": "CanadianSolarEnergyHoldingSingaporePte.Ltd.Member",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarEnergyPrivateLimitedMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Energy Private Limited.",
        "label": "Canadian Solar Energy Private Limited [Member]",
        "terseLabel": "Canadian Solar Energy Private Limited"
       }
      }
     },
     "localname": "CanadianSolarEnergyPrivateLimitedMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarInfrastructureFundIncMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the information pertaining to Canadian solar infrastructure fund, Inc.",
        "label": "Canadian Solar Infrastructure Fund Inc [Member]",
        "terseLabel": "Canadian Solar Infrastructure Fund, Inc"
       }
      }
     },
     "localname": "CanadianSolarInfrastructureFundIncMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarInternationalLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar International Ltd.",
        "label": "Canadian Solar International Ltd [Member]",
        "terseLabel": "HKSI"
       }
      }
     },
     "localname": "CanadianSolarInternationalLtdMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarInternationalProjectHoldingLimitedMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar International Project Holding Limited.",
        "label": "Canadian Solar International Project Holding Limited [Member]",
        "terseLabel": "Canadian Solar International Limited"
       }
      }
     },
     "localname": "CanadianSolarInternationalProjectHoldingLimitedMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarJapanKKMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Japan K.K.",
        "label": "Canadian Solar Japan K K [Member]",
        "terseLabel": "Canadian Solar Japan K.K."
       }
      }
     },
     "localname": "CanadianSolarJapanKKMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarManufacturingChangshuInc.Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Manufacturing (Changshu) Inc.",
        "label": "Canadian Solar Manufacturing Changshu Inc. [Member]",
        "terseLabel": "Canadian Solar Manufacturing (Changshu) Inc."
       }
      }
     },
     "localname": "CanadianSolarManufacturingChangshuInc.Member",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarManufacturingLuoyangIncMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Manufacturing (Luoyang) Inc.",
        "label": "Canadian Solar Manufacturing Luoyang Inc [Member]",
        "terseLabel": "Canadian Solar Manufacturing (Luoyang) Inc."
       }
      }
     },
     "localname": "CanadianSolarManufacturingLuoyangIncMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarManufacturingTaiwanCoLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the information pertaining to Canadian Solar Manufacturing Taiwan Co., Ltd.",
        "label": "Canadian Solar Manufacturing Taiwan Co Ltd [Member]",
        "terseLabel": "Canadian Solar Manufacturing Taiwan Co., Ltd."
       }
      }
     },
     "localname": "CanadianSolarManufacturingTaiwanCoLtdMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarManufacturingThailandCo.Ltd.Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Manufacturing (Thailand) Co., Ltd.",
        "label": "Canadian Solar Manufacturing Thailand Co. Ltd. [Member]",
        "terseLabel": "Canadian Solar Manufacturing (Thailand) Co., Ltd."
       }
      }
     },
     "localname": "CanadianSolarManufacturingThailandCo.Ltd.Member",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarManufacturingVietnamCo.LtdMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Manufacturing Vietnam Co., Ltd.",
        "label": "Canadian Solar Manufacturing Vietnam Co. Ltd [Member]",
        "terseLabel": "Canadian Solar Manufacturing Vietnam Co., Ltd"
       }
      }
     },
     "localname": "CanadianSolarManufacturingVietnamCo.LtdMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarMiddleEastDmccMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Middle East DMCC.",
        "label": "Canadian Solar Middle East Dmcc [Member]",
        "terseLabel": "Canadian Solar Middle East DMCC"
       }
      }
     },
     "localname": "CanadianSolarMiddleEastDmccMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarNewEnergyHoldingCompanyLimitedMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Canadian Solar New Energy Holding Company Limited",
        "label": "Canadian Solar New Energy Holding Company Limited [Member]",
        "terseLabel": "Canadian Solar New Energy Holding Company Limited [Member]"
       }
      }
     },
     "localname": "CanadianSolarNewEnergyHoldingCompanyLimitedMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarOAndMOntarioIncMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar O&amp;M (Ontario) Inc., a subsidiary of the entity.",
        "label": "Canadian Solar O And M Ontario Inc [Member]",
        "terseLabel": "Canadian Solar O and M (Ontario) Inc."
       }
      }
     },
     "localname": "CanadianSolarOAndMOntarioIncMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarProjectKKMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Project K.K.",
        "label": "Canadian Solar Project K K [Member]",
        "terseLabel": "Canadian Solar Project K.K."
       }
      }
     },
     "localname": "CanadianSolarProjectKKMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarSolutionsIncMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Solutions Inc.",
        "label": "Canadian Solar Solutions Inc [Member]",
        "terseLabel": "Canadian Solar Solutions Inc."
       }
      }
     },
     "localname": "CanadianSolarSolutionsIncMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarSouthAfricaPtyLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar South Africa Pty., Ltd.",
        "label": "Canadian Solar South Africa Pty Ltd [Member]",
        "terseLabel": "Canadian Solar South Africa Pty., Ltd."
       }
      }
     },
     "localname": "CanadianSolarSouthAfricaPtyLtdMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarSouthEastAsiaPteLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar South East Asia Pte. Ltd., a subsidiary of the entity.",
        "label": "Canadian Solar South East Asia Pte Ltd [Member]",
        "terseLabel": "Canadian Solar South East Asia Pte. Ltd."
       }
      }
     },
     "localname": "CanadianSolarSouthEastAsiaPteLtdMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarSsesCanadaInc.Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Canadian Solar SSES (CANADA) INC.",
        "label": "Canadian Solar Sses Canada Inc. [Member]",
        "terseLabel": "Canadian Solar SSES (Canada) Inc. [Member]"
       }
      }
     },
     "localname": "CanadianSolarSsesCanadaInc.Member",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarSsesUkLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Canadian Solar SSES (UK) LTD",
        "label": "Canadian Solar Sses Uk Ltd [Member]",
        "terseLabel": "Canadian Solar SSES (UK) Ltd [Member]"
       }
      }
     },
     "localname": "CanadianSolarSsesUkLtdMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarSunenergyBaotouCo.Ltd.Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Sunenergy (Baotou) Co., Ltd.",
        "label": "Canadian Solar Sunenergy Baotou Co. Ltd. [Member]",
        "terseLabel": "Canadian Solar Sunenergy (Baotou) Co., Ltd."
       }
      }
     },
     "localname": "CanadianSolarSunenergyBaotouCo.Ltd.Member",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarSunenergySuzhouCo.Ltd.Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Sunenergy (Suzhou) Co., Ltd.",
        "label": "Canadian Solar Sunenergy Suzhou Co. Ltd. [Member]",
        "terseLabel": "Canadian Solar Sunenergy (Suzhou) Co., Ltd."
       }
      }
     },
     "localname": "CanadianSolarSunenergySuzhouCo.Ltd.Member",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarUSAIncMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar (USA) Inc.",
        "label": "Canadian Solar U S A Inc [Member]",
        "terseLabel": "Canadian Solar (USA) Inc."
       }
      }
     },
     "localname": "CanadianSolarUSAIncMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarUkLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar UK Ltd.",
        "label": "Canadian Solar Uk Ltd [Member]",
        "terseLabel": "Canadian Solar UK Ltd."
       }
      }
     },
     "localname": "CanadianSolarUkLtdMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CanadianSolarUkProjectsLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar UK Projects Ltd.",
        "label": "Canadian Solar Uk Projects Ltd [Member]",
        "terseLabel": "Canadian Solar UK Projects Ltd."
       }
      }
     },
     "localname": "CanadianSolarUkProjectsLtdMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CashFlowDistributionPercentage": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage of cash flow distributions to members.",
        "label": "Cash Flow Distribution Percentage",
        "terseLabel": "Receipt of future cash flow distributions (as a percent)"
       }
      }
     },
     "localname": "CashFlowDistributionPercentage",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_CashReceivableRelatedPartiesCurrent": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amounts due from parties associated with the reporting entity as cash funded, due within 1 year (or 1 business cycle).",
        "label": "Cash Receivable, Related Parties, Current",
        "terseLabel": "Cash funding from affiliate"
       }
      }
     },
     "localname": "CashReceivableRelatedPartiesCurrent",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ChangshuTlianCo.Ltd.Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Changshu Tlian Co., LTD.",
        "label": "Changshu Tlian Co. Ltd. [Member]",
        "terseLabel": "Changshu Tlian Co., Ltd."
       }
      }
     },
     "localname": "ChangshuTlianCo.Ltd.Member",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the information pertaining to Changshu Xingu Photovoltaic Material Technology Co., Ltd.",
        "label": "Changshu Xingu Photovoltaic Material Technology Co Ltd [Member]",
        "terseLabel": "Changshu Xingu Photovoltaic Material Technology Co., Ltd."
       }
      }
     },
     "localname": "ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ChangsuTeguNewMaterialTechnologyCoLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Changsu Tegu New Material Technology Co., Ltd.",
        "label": "Changsu Tegu New Material Technology Co Ltd [Member]",
        "terseLabel": "Changsu Tegu New Material Technology Co., Ltd."
       }
      }
     },
     "localname": "ChangsuTeguNewMaterialTechnologyCoLtdMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ChineseCommercialBanksMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to the Chinese Commercial Banks.",
        "label": "Chinese Commercial Banks [Member]",
        "terseLabel": "Chinese Commercial Banks"
       }
      }
     },
     "localname": "ChineseCommercialBanksMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ClassActionLawsuitsFiledInNewYorkMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to class action lawsuits filed in New York.",
        "label": "Class Action Lawsuits Filed In New York [Member]",
        "terseLabel": "Class Action Lawsuits Filed in New York"
       }
      }
     },
     "localname": "ClassActionLawsuitsFiledInNewYorkMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CompanyAMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the company A that accounts for 10 percent or more of the entity's revenues.",
        "label": "Company A [Member]",
        "terseLabel": "Company A"
       }
      }
     },
     "localname": "CompanyAMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ContractLiabilitiesOtherCurrentLiabilities": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of other current liabilities relating to contract liabilities.",
        "label": "Contract Liabilities, Other Current Liabilities",
        "terseLabel": "Other current liabilities"
       }
      }
     },
     "localname": "ContractLiabilitiesOtherCurrentLiabilities",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ConvertibleNotesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "No definition available.",
        "label": "CONVERTIBLE NOTES"
       }
      }
     },
     "localname": "ConvertibleNotesDisclosureAbstract",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "xbrltype": "stringItemType"
    },
    "csiq_ConvertibleNotesDisclosureTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of borrowings which can be exchanged for a specified number of another security at the option of the issuer or the holder.",
        "label": "Convertible Notes Disclosure Text Block",
        "terseLabel": "CONVERTIBLE NOTES"
       }
      }
     },
     "localname": "ConvertibleNotesDisclosureTextBlock",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_CostMethodInvestmentOwnershipPercentage": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The percentage of ownership of common stock or equity participation in the investee accounted for under the cost method of accounting.",
        "label": "Cost Method Investment Ownership Percentage",
        "terseLabel": "Voting interest hold (as a percent)"
       }
      }
     },
     "localname": "CostMethodInvestmentOwnershipPercentage",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_CostOfGoodsAndServicesSoldNonrelatedParties": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_CostOfGoodsAndServicesSold",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The aggregate costs related to goods produced and sold to non-related parties by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.",
        "label": "Cost of Goods and Services Sold, Nonrelated Parties",
        "terseLabel": "-Non-related parties"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSoldNonrelatedParties",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_CsiCellsCo.Ltd.Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to CSI Cells Co., Ltd.",
        "label": "Csi Cells Co. Ltd. [Member]",
        "terseLabel": "CSI Cells Co., Ltd."
       }
      }
     },
     "localname": "CsiCellsCo.Ltd.Member",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CsiCellsYanchangCoLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to CSI Cells (Yanchang) Co., Ltd.",
        "label": "Csi Cells Yanchang Co Ltd [Member]",
        "terseLabel": "CSI Cells (Yanchang) Co., Ltd."
       }
      }
     },
     "localname": "CsiCellsYanchangCoLtdMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CsiGclSolarManufacturingYanchengCo.Ltd.Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to CSI-GCL Solar Manufacturing (Yancheng) Co., Ltd.",
        "label": "Csi Gcl Solar Manufacturing Yancheng Co. Ltd. [Member]",
        "terseLabel": "CSI&amp;GCL Solar Manufacturing (Yancheng) Inc."
       }
      }
     },
     "localname": "CsiGclSolarManufacturingYanchengCo.Ltd.Member",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CsiInvestmentManagementSuzhouCoLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the information pertaining to CSI Investment Management (SuZhou) Co., Ltd.",
        "label": "Csi Investment Management Suzhou Co Ltd [Member]",
        "terseLabel": "CSI Investment Management (SuZhou) Co., Ltd."
       }
      }
     },
     "localname": "CsiInvestmentManagementSuzhouCoLtdMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CsiModulesDafengCoLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to CSI Modules (DaFeng) Co., Ltd..",
        "label": "Csi Modules Dafeng Co Ltd [Member]",
        "terseLabel": "CSI Modules (DaFeng) Co., Ltd."
       }
      }
     },
     "localname": "CsiModulesDafengCoLtdMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CsiModulesJiaxingCoLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the information pertaining to CSI Modules (JiaXing) Co., Ltd.",
        "label": "Csi Modules Jiaxing Co Ltd [Member]",
        "terseLabel": "CSI Modules (JiaXing) Co., Ltd."
       }
      }
     },
     "localname": "CsiModulesJiaxingCoLtdMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CsiNewEnergyHoldingCo.LtdMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to CSI New Energy Holding Co., Ltd.",
        "label": "Csi New Energy Holding Co. Ltd [Member]",
        "terseLabel": "CSI New Energy Holding Co., Ltd."
       }
      }
     },
     "localname": "CsiNewEnergyHoldingCo.LtdMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CsiSolarPowerChinaInc.Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to CSI Solar Power (China) Inc.",
        "label": "Csi Solar Power China Inc. [Member]",
        "terseLabel": "CSI Solar Power Group Co., Ltd. (formerly named/known as \"CSI Solar Power (China) Inc.\")"
       }
      }
     },
     "localname": "CsiSolarPowerChinaInc.Member",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CsiWaferLuoyangCoLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the information pertaining to CSI Wafer (LuoYang) Co., Ltd.",
        "label": "Csi Wafer Luoyang Co Ltd [Member]",
        "terseLabel": "CSI Wafer (LuoYang) Co., Ltd."
       }
      }
     },
     "localname": "CsiWaferLuoyangCoLtdMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CsukEnergySystemsConstructionAndGenerationJscMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the information pertaining to CSUK Energy Systems Construction and Generation JSC.",
        "label": "Csuk Energy Systems Construction And Generation Jsc [Member]",
        "terseLabel": "CSUK Energy Systems Construction and Generation JSC"
       }
      }
     },
     "localname": "CsukEnergySystemsConstructionAndGenerationJscMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CustomerOneMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to the customer one, which has the largest accounts receivable balance.",
        "label": "Customer One [Member]",
        "terseLabel": "Customer one"
       }
      }
     },
     "localname": "CustomerOneMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CustomerThreeMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to the customer three, which has the largest accounts receivable balance.",
        "label": "Customer Three [Member]",
        "terseLabel": "Customer three"
       }
      }
     },
     "localname": "CustomerThreeMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_CustomerTwoMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to the customer two, which has the largest accounts receivable balance.",
        "label": "Customer Two [Member]",
        "terseLabel": "Customer two"
       }
      }
     },
     "localname": "CustomerTwoMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The period of option available to initial purchasers of convertible debt instruments for purchase of additional convertible debt instruments, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Debt Instrument Convertible Option Period For Additional Issuance",
        "terseLabel": "Period of option for additional issuance"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage price of original principal amount of debt plus accrued interest at which debt can be redeemed by the issuer following occurrence of certain tax related events.",
        "label": "Debt Instrument Convertible Redemption Price Percentage Of Outstanding Principal Amount Plus Accrued Interest Following Occurrence Of Certain Tax Related Events",
        "terseLabel": "Redemption prices as percentage of outstanding principal amount plus accrued and unpaid interest following occurrence of certain tax related events"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_DebtInstrumentInterestRateFloatingPercentage": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Contractual floating interest rate for funds borrowed, under the debt agreement.",
        "label": "Debt Instrument, Interest Rate, Floating Percentage",
        "terseLabel": "Floating interest rate (as a percent)"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateFloatingPercentage",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the information pertaining to borrowings secured by prepaid land use rights and guaranteed by Chinese Subsidiary.",
        "label": "Debt Secured By Prepaid Land Use Rights And Guaranteed By Chinese Subsidiary [Member]",
        "terseLabel": "Secured by prepaid land use rights and guaranteed by Chinese Subsidiary"
       }
      }
     },
     "localname": "DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_DebtSecuredByProjectAssetsAndSolarPowerSystemsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to the borrowings secured by project assets and solar power systems.",
        "label": "Debt Secured By Project Assets And Solar Power Systems [Member]",
        "terseLabel": "Secured by project assets and solar power systems"
       }
      }
     },
     "localname": "DebtSecuredByProjectAssetsAndSolarPowerSystemsMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_DeferredTaxAssetsFutureDeductibleExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowances, of deferred tax asset attributable to future deductible expenses.",
        "label": "Deferred Tax Assets, Future Deductible Expenses",
        "terseLabel": "Future deductible expenses"
       }
      }
     },
     "localname": "DeferredTaxAssetsFutureDeductibleExpenses",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_DeferredTaxAssetsInterestLimitation": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 10.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as interest limitation.",
        "label": "Deferred Tax Assets, Interest Limitation",
        "terseLabel": "Interest limitation"
       }
      }
     },
     "localname": "DeferredTaxAssetsInterestLimitation",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from the sale of project assets.",
        "label": "Deferred Tax Assets Related To Sale Of Project Assets",
        "terseLabel": "Deferred tax assets relating to sales of solar power systems"
       }
      }
     },
     "localname": "DeferredTaxAssetsRelatedToSaleOfProjectAssets",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_DeferredTaxLiabilitiesDeferredProfitOfProjects": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from deferred profit of projects.",
        "label": "Deferred Tax Liabilities Deferred Profit Of Projects",
        "terseLabel": "Deferred profit of projects"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesDeferredProfitOfProjects",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_DeferredTaxLiabilitiesInsuranceRecoverable": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from insurance recoverable.",
        "label": "Deferred Tax Liabilities Insurance Recoverable",
        "terseLabel": "Insurance recoverable"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesInsuranceRecoverable",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_DefinedContributionPlanEmployerContributionAmount": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the amount of contributions made by an employer to the medical insurance benefits, housing funds, unemployment and other statutory benefits of a defined contribution plan.",
        "label": "Defined Contribution Plan Employer Contribution Amount",
        "terseLabel": "Amount of contribution by the employer for medical insurance benefits, housing funds, unemployment and other statutory benefits"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerContributionAmount",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the percentage of employees' applicable salaries for which the employer contributes to the housing funds of a defined contribution plan.",
        "label": "Defined Contribution Plan Employer Contribution as Percentage of Applicable Salaries for Housing Funds",
        "terseLabel": "Percentage of applicable salaries contributed by the employer for housing funds"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the percentage of employees' applicable salaries for which the employer contributes to the medical insurance benefits of a defined contribution plan.",
        "label": "Defined Contribution Plan Employer Contribution as Percentage of Applicable Salaries for Medical Insurance Benefits",
        "terseLabel": "Percentage of applicable salaries contributed by the employer for medical insurance benefits"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the percentage of employees' applicable salaries for which the employer contributes to the other statutory benefits of a defined contribution plan.",
        "label": "Defined Contribution Plan Employer Contribution as Percentage of Applicable Salaries for Other Statutory Benefits",
        "terseLabel": "Percentage of applicable salaries contributed by the employer for other statutory benefits"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the percentage of employees' applicable salaries for which the employer contributes to the unemployment benefits of a defined contribution plan.",
        "label": "Defined Contribution Plan Employer Contribution as Percentage of Applicable Salaries for Unemployment Benefits",
        "terseLabel": "Percentage of applicable salaries contributed by the employer for unemployment benefits"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_DerivativesAssetsCurrentMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Primary financial statement caption encompassing current derivatives assets.",
        "label": "Derivatives Assets Current [Member]",
        "terseLabel": "Derivative assets - current"
       }
      }
     },
     "localname": "DerivativesAssetsCurrentMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_DerivativesAssetsNoncurrentMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Primary financial statement caption encompassing noncurrent derivatives assets.",
        "label": "Derivatives Assets Noncurrent [Member]",
        "terseLabel": "Derivative assets - non-current"
       }
      }
     },
     "localname": "DerivativesAssetsNoncurrentMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_DerivativesLiabilitiesCurrentMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Primary financial statement caption encompassing current derivatives liabilities.",
        "label": "Derivatives Liabilities Current [Member]",
        "terseLabel": "Derivative liabilities - current"
       }
      }
     },
     "localname": "DerivativesLiabilitiesCurrentMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_DerivativesLiabilitiesNoncurrentMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Primary financial statement caption encompassing noncurrent derivatives liabilities.",
        "label": "Derivatives Liabilities Noncurrent [Member]",
        "terseLabel": "Derivative liabilities - non-current"
       }
      }
     },
     "localname": "DerivativesLiabilitiesNoncurrentMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_EPCServiceProductMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to services relating to EPC.",
        "label": "E P C Service Product [Member]",
        "terseLabel": "EPC services"
       }
      }
     },
     "localname": "EPCServiceProductMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The domestic federal statutory tax rate and provincial corporate income tax rate applicable under enacted tax laws to the Company's pretax income from continuing operations for the period. The \"statutory\" tax rate is the regular tax rate if there are alternative tax systems.",
        "label": "Effective Income Tax Rate Reconciliation at Federal and Provincial Income Tax Rate",
        "terseLabel": "Federal and provincial income tax rate (as a percent)",
        "verboseLabel": "Combined federal and provincial income tax rate (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to permanent difference.",
        "label": "Effective Income Tax Rate Reconciliation, Permanent Difference, Percent",
        "terseLabel": "Effect of permanent difference (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_EightyPercentInitialPowerCapacityMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to 80% initial power capacity.",
        "label": "Eighty Percent Initial Power Capacity [Member]",
        "terseLabel": "80% initial power capacity"
       }
      }
     },
     "localname": "EightyPercentInitialPowerCapacityMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ElectricityIncomeMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to electricity income, a product or service of the entity.",
        "label": "Electricity Income [Member]",
        "terseLabel": "Electricity"
       }
      }
     },
     "localname": "ElectricityIncomeMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Total compensation cost of unvested share-based awards, other than options, awarded to employees as compensation.",
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Total Compensation Costs, Share-based Awards Other than Options",
        "terseLabel": "Total compensation cost at the date of grant"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_EnergySegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to the Energy segment.",
        "label": "Energy Segment [Member]",
        "terseLabel": "Energy"
       }
      }
     },
     "localname": "EnergySegmentMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_EnowIncMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to eNow Inc.",
        "label": "Enow Inc [Member]",
        "terseLabel": "Now, Inc."
       }
      }
     },
     "localname": "EnowIncMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_EquipmentPurchasesPayableRelatedPartiesCurrent": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount for equipment purchases payable to related parties. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Equipment Purchases payable, Related Parties, Current",
        "terseLabel": "Payable for equipment purchase"
       }
      }
     },
     "localname": "EquipmentPurchasesPayableRelatedPartiesCurrent",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_EquityIncomeLossFromSubsidiaries": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This item represents the entity's proportionate share for the period of the net income (loss) of its subsidiaries to which the equity method of accounting is applied.",
        "label": "Equity Income (Loss) from Subsidiaries",
        "negatedTerseLabel": "Equity in earnings of subsidiaries",
        "terseLabel": "Equity in earnings of subsidiaries"
       }
      }
     },
     "localname": "EquityIncomeLossFromSubsidiaries",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_EquityInterestHeldAsGeneralPartner": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage of equity interest held as general partner.",
        "label": "Equity Interest Held as General Partner",
        "terseLabel": "Interest held as general partner"
       }
      }
     },
     "localname": "EquityInterestHeldAsGeneralPartner",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_EquityMethodInvestmentOwnershipPercentageSold": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.",
        "label": "Equity Method Investment Ownership Percentage Sold",
        "terseLabel": "Interest sold (as a percent)"
       }
      }
     },
     "localname": "EquityMethodInvestmentOwnershipPercentageSold",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_EtSolutionsSouthAfricaOnePtyMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the information pertaining to ET Solutions South Africa 1 Pty.",
        "label": "Et Solutions South Africa One Pty [Member]",
        "terseLabel": "ET Solutions South Africa 1 Pty"
       }
      }
     },
     "localname": "EtSolutionsSouthAfricaOnePtyMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_FinanceLeaseExpense": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of financing lease expense.",
        "label": "Finance Lease Expense",
        "terseLabel": "Finance lease expenses"
       }
      }
     },
     "localname": "FinanceLeaseExpense",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_FinancingAgreementMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to finance agreement in Japan.",
        "label": "Financing Agreement [Member]",
        "terseLabel": "Finance agreement"
       }
      }
     },
     "localname": "FinancingAgreementMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_FinancingLiabilitiesCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 11.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of financing liabilities due within one year or the normal operating cycle, if longer.",
        "label": "Financing Liabilities, Current",
        "terseLabel": "Tax equity liabilities"
       }
      }
     },
     "localname": "FinancingLiabilitiesCurrent",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_FinancingLiabilitiesNonCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 10.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of financing liabilities due after one year or beyond the normal operating cycle, if longer.",
        "label": "Financing Liabilities Non Current",
        "terseLabel": "Financing liabilities"
       }
      }
     },
     "localname": "FinancingLiabilitiesNonCurrent",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fifth fiscal year and after that 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.",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Five And Thereafter",
        "terseLabel": "2024 and thereafter"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFiveAndThereafter",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_FirstAdministrativeReviewOfSolarTwoMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to first administrative review of Solar 2 by U.S. Department of Commerce.",
        "label": "First Administrative Review Of Solar Two [Member]",
        "terseLabel": "First Administrative Review of Solar 2"
       }
      }
     },
     "localname": "FirstAdministrativeReviewOfSolarTwoMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ForeignCurrencyRiskPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for risk associated with converting the amounts denominated in the foreign currencies into reporting entity's reporting currency.",
        "label": "Foreign Currency Risk [Policy Text Block]",
        "terseLabel": "Foreign currency risk"
       }
      }
     },
     "localname": "ForeignCurrencyRiskPolicyTextBlock",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_OtherOperatingIncomeExpenseNet",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of solar power systems and other investments.",
        "label": "Gain (Loss) on disposal of solar power systems and other investments",
        "negatedLabel": "Gain on disposal of solar power systems"
       }
      }
     },
     "localname": "GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_IncomeTaxAdditionalDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Income Tax Additional Disclosure [Abstract]",
        "terseLabel": "Additional disclosure"
       }
      }
     },
     "localname": "IncomeTaxAdditionalDisclosureAbstract",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "csiq_IncomeTaxHolidayAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Income Tax Holiday [Abstract]",
        "terseLabel": "Aggregate amount and per share effect of the tax holiday"
       }
      }
     },
     "localname": "IncomeTaxHolidayAbstract",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the basic per share amount effect of the income tax benefit resulting from the income tax holidays granted by taxing jurisdictions.",
        "label": "Income Tax Holiday Income Tax Benefits Per Share Basic",
        "terseLabel": "Per share effect - basic (in dollars per share)"
       }
      }
     },
     "localname": "IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the diluted per share amount effect of the income tax benefit resulting from the income tax holidays granted by taxing jurisdictions.",
        "label": "Income Tax Holiday Income Tax Benefits Per Share Diluted",
        "terseLabel": "Per share effect - diluted (in dollars per share)"
       }
      }
     },
     "localname": "IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "csiq_IncomeTaxesForeignCorporateTaxRate": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the corporate income tax rate in foreign jurisdiction.",
        "label": "Income Taxes Foreign Corporate Tax Rate",
        "terseLabel": "Income tax rate (as a percent)"
       }
      }
     },
     "localname": "IncomeTaxesForeignCorporateTaxRate",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_IncomeTaxesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Income Taxes [Line Items]",
        "verboseLabel": "INCOME TAXES"
       }
      }
     },
     "localname": "IncomeTaxesLineItems",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "csiq_IncomeTaxesTable": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosures pertaining to income taxes.",
        "label": "Income Taxes [Table]"
       }
      }
     },
     "localname": "IncomeTaxesTable",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "csiq_IncreaseDecreaseInAccountsReceivablesUnbilled": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period for the amount of revenue for work performed for which billing has not occurred, net of uncollectible accounts.",
        "label": "Increase (Decrease) in Accounts Receivables, Unbilled",
        "terseLabel": "Accounts receivables, unbilled, fluctuation"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivablesUnbilled",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_IncreaseDecreaseInAdvanceToSuppliers": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 21.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in advances to suppliers.",
        "label": "Increase (Decrease) in Advance to Suppliers",
        "negatedLabel": "Advances to suppliers"
       }
      }
     },
     "localname": "IncreaseDecreaseInAdvanceToSuppliers",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_IncreaseDecreaseInAdvancesFromCustomers": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the amount of advances from customers for goods or services to be provided at a later date.",
        "label": "Increase (Decrease) in Advances from Customers",
        "terseLabel": "Advances from customers, fluctuation"
       }
      }
     },
     "localname": "IncreaseDecreaseInAdvancesFromCustomers",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_IncreaseDecreaseInContractLiabilities": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in total contract liabilities.",
        "label": "Increase (Decrease) in Contract Liabilities",
        "terseLabel": "Contract liability, fluctuation"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractLiabilities",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_IncreaseDecreaseInGoodwill": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 34.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in goodwill.",
        "label": "Increase (Decrease) in Goodwill",
        "terseLabel": "Goodwill"
       }
      }
     },
     "localname": "IncreaseDecreaseInGoodwill",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 22.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 35.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the amount of uncertainty liability in income taxes.",
        "label": "Increase (Decrease) in Liability for Uncertainty in Income Taxes",
        "terseLabel": "Liability for uncertain tax positions"
       }
      }
     },
     "localname": "IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_IncreaseDecreaseInOperatingLeaseLiabilities": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 30.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount of increase (decrease) in operating lease liabilities.",
        "label": "Increase (Decrease) In Operating Lease Liabilities",
        "terseLabel": "Operating lease liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingLeaseLiabilities",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_IncreaseDecreaseInPrepaidLandUseRight": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 33.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the amount of outstanding money paid in advance for land use right that bring economic benefits for future periods.",
        "label": "Increase (Decrease) in Prepaid Land Use Right",
        "negatedLabel": "Prepaid land use rights"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidLandUseRight",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_IncreaseDecreaseInProductWarrantyAccrual": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 20.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 32.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the amount of obligations for estimated claims under standard and extended warranty protection rights granted to customers.",
        "label": "Increase (Decrease) in Product Warranty Accrual",
        "terseLabel": "Accrued warranty costs"
       }
      }
     },
     "localname": "IncreaseDecreaseInProductWarrantyAccrual",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_IncreaseDecreaseInProjectAssets": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 22.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period of the amount of cost of uncompleted contracts in excess of related billings, or unbilled accounts receivable.",
        "label": "Increase (Decrease) in Project Assets",
        "negatedLabel": "Project assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInProjectAssets",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_IncreaseDecreaseInValueAddedTaxReceivable": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 20.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from value added taxes due either from customers arising from sales on credit terms, or as previously overpaid to tax authorities.",
        "label": "Increase (Decrease) in Value Added Tax Receivable",
        "negatedLabel": "Value added tax recoverable"
       }
      }
     },
     "localname": "IncreaseDecreaseInValueAddedTaxReceivable",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_InsurancePolicyTerm": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the term of the insurance policy over which the insurance premium will be amortized.",
        "label": "Insurance Policy Term",
        "terseLabel": "Term of insurance policy over which the insurance premium will be amortized"
       }
      }
     },
     "localname": "InsurancePolicyTerm",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "csiq_InsurancePremiumUnamortizedAmountNoncurrent": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the unamortized carrying amount of insurance premium.",
        "label": "Insurance Premium Unamortized Amount Noncurrent",
        "terseLabel": "Unamortized carrying amount of insurance premium"
       }
      }
     },
     "localname": "InsurancePremiumUnamortizedAmountNoncurrent",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_InterestCostsCapitalizedProjectAssets": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of interest costs capitalized for project assets disclosed as an adjusting item to interest costs incurred.",
        "label": "Interest Costs Capitalized Project Assets",
        "terseLabel": "Interest capitalized - project assets"
       }
      }
     },
     "localname": "InterestCostsCapitalizedProjectAssets",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_InterestCostsCapitalizedPropertyPlantAndEquipment": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of interest costs capitalized for property, plant, and equipment disclosed as an adjusting item to interest costs incurred.",
        "label": "Interest Costs Capitalized Property, Plant and Equipment",
        "terseLabel": "Interest capitalized - property, plant, and equipment"
       }
      }
     },
     "localname": "InterestCostsCapitalizedPropertyPlantAndEquipment",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_InterestRateSwapsNumberOfFinancialInstitutions": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to the number of institutions with which the company has entered into fixed for floating interest rate swaps.",
        "label": "Interest Rate Swaps, Number Of Financial Institutions",
        "terseLabel": "Number of financial institutions"
       }
      }
     },
     "localname": "InterestRateSwapsNumberOfFinancialInstitutions",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "csiq_InvestmentInAffiliates": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of investment in affiliates.",
        "label": "Investments in Affiliates"
       }
      }
     },
     "localname": "InvestmentInAffiliates",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_InvestmentInSubsidiaries": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of investment in subsidiaries.",
        "label": "Investment In Subsidiaries",
        "terseLabel": "Investments in subsidiaries"
       }
      }
     },
     "localname": "InvestmentInSubsidiaries",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule of components of leases that are recognized on the Balance Sheets.",
        "label": "Lease Components Of Leases That Are Recognized On Balance Sheets [Table Text Block]",
        "terseLabel": "Schedule of other supplemental information:"
       }
      }
     },
     "localname": "LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_LeaseLiability": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails": {
       "order": 2.0,
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Lease Liability",
        "label": "Lease Liability",
        "terseLabel": "NPV for future minimum lease payments",
        "totalLabel": "Total lease liabilities"
       }
      }
     },
     "localname": "LeaseLiability",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LeaseLiabilityCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "order": 1.0,
       "parentTag": "csiq_LeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Lease Liability, Current",
        "label": "Lease Liability, Current",
        "terseLabel": "Short-term"
       }
      }
     },
     "localname": "LeaseLiabilityCurrent",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LeaseLiabilityNoncurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "order": 2.0,
       "parentTag": "csiq_LeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Lease Liability, Noncurrent",
        "label": "Lease Liability, Noncurrent",
        "terseLabel": "Long-term"
       }
      }
     },
     "localname": "LeaseLiabilityNoncurrent",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LeasesFutureMinimumLeasePaymentsDue": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of minimum lease payments for leases.",
        "label": "Leases Future Minimum Lease Payments Due",
        "totalLabel": "Total future minimum lease payments"
       }
      }
     },
     "localname": "LeasesFutureMinimumLeasePaymentsDue",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LeasesFutureMinimumLeasePaymentsDueCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 1.0,
       "parentTag": "csiq_LeasesFutureMinimumLeasePaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of minimum lease payments for capital leases due in tweleve months",
        "label": "Leases Future Minimum Lease Payments Due Current",
        "terseLabel": "2019"
       }
      }
     },
     "localname": "LeasesFutureMinimumLeasePaymentsDueCurrent",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LeasesFutureMinimumLeasePaymentsDueInFiveYears": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 2.0,
       "parentTag": "csiq_LeasesFutureMinimumLeasePaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of minimum lease payments for capital leases due in the fifth fiscal year following the latest fiscal year.",
        "label": "Leases Future Minimum Lease Payments Due in Five Years",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "LeasesFutureMinimumLeasePaymentsDueInFiveYears",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LeasesFutureMinimumLeasePaymentsDueInFourYears": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 3.0,
       "parentTag": "csiq_LeasesFutureMinimumLeasePaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of minimum lease payments for capital leases due in the fourth fiscal year following the latest fiscal year",
        "label": "Leases Future Minimum Lease Payments Due in Four Years",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "LeasesFutureMinimumLeasePaymentsDueInFourYears",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LeasesFutureMinimumLeasePaymentsDueInThreeYears": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 4.0,
       "parentTag": "csiq_LeasesFutureMinimumLeasePaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of minimum lease payments for capital leases due in the third fiscal year following the latest fiscal year.",
        "label": "Leases Future Minimum Lease Payments Due in Three Years",
        "terseLabel": "2021"
       }
      }
     },
     "localname": "LeasesFutureMinimumLeasePaymentsDueInThreeYears",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LeasesFutureMinimumLeasePaymentsDueInTwoYears": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 5.0,
       "parentTag": "csiq_LeasesFutureMinimumLeasePaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of minimum lease payments for capital leases due in the second fiscal year following the latest fiscal year.",
        "label": "Leases Future Minimum Lease Payments Due in Two Years",
        "terseLabel": "2020"
       }
      }
     },
     "localname": "LeasesFutureMinimumLeasePaymentsDueInTwoYears",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LeasesFutureMinimumLeasePaymentsDuethereafter": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 6.0,
       "parentTag": "csiq_LeasesFutureMinimumLeasePaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of minimum lease payments for capital leases due after fifth fiscal year.",
        "label": "Leases Future Minimum Lease Payments DueThereafter",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LeasesFutureMinimumLeasePaymentsDuethereafter",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LeasesFutureMinimumPaymentsInterestIncludedInPayments": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails": {
       "order": 1.0,
       "parentTag": "csiq_LeasesFutureMinimumLeasePaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount necessary to reduce net minimum lease payments to present value for leases.",
        "label": "Leases, Future Minimum Payments, Interest Included in Payments",
        "terseLabel": "Less: imputed interest"
       }
      }
     },
     "localname": "LeasesFutureMinimumPaymentsInterestIncludedInPayments",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails": {
       "order": 2.0,
       "parentTag": "csiq_LeasesFutureMinimumLeasePaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Present value of minimum lease payments for leases net of executory costs, including amounts paid by the lessee to the lessor for insurance, maintenance and taxes.",
        "label": "Leases, Future Minimum Payments, Present Value of Net Minimum Payments",
        "terseLabel": "NPV for future minimum lease payments"
       }
      }
     },
     "localname": "LeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LesseeLiabilityPaymentsDue": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due",
        "label": "Lessee, Liability, Payments, Due",
        "totalLabel": "Total future minimum lease payments"
       }
      }
     },
     "localname": "LesseeLiabilityPaymentsDue",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LesseeLiabilityPaymentsDueAfterYearFive": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 6.0,
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due after Year Five",
        "label": "Lessee, Liability, Payments, Due after Year Five",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LesseeLiabilityPaymentsDueAfterYearFive",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LesseeLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 1.0,
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due Next Twelve Months",
        "label": "Lessee, Liability, Payments, Due Next Twelve Months",
        "terseLabel": "2020"
       }
      }
     },
     "localname": "LesseeLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LesseeLiabilityPaymentsDueYearFive": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 5.0,
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due Year Five",
        "label": "Lessee, Liability, Payments, Due Year Five",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "LesseeLiabilityPaymentsDueYearFive",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LesseeLiabilityPaymentsDueYearFour": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 4.0,
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due Year Four",
        "label": "Lessee, Liability, Payments, Due Year Four",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "LesseeLiabilityPaymentsDueYearFour",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LesseeLiabilityPaymentsDueYearThree": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 3.0,
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due Year Three",
        "label": "Lessee, Liability, Payments, Due Year Three",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "LesseeLiabilityPaymentsDueYearThree",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LesseeLiabilityPaymentsDueYearTwo": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "order": 2.0,
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due Year Two",
        "label": "Lessee, Liability, Payments, Due Year Two",
        "terseLabel": "2021"
       }
      }
     },
     "localname": "LesseeLiabilityPaymentsDueYearTwo",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LesseeLiabilityUndiscountedExcessAmount": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails": {
       "order": 1.0,
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Lessee, Liability, Undiscounted Excess Amount",
        "label": "Lessee, Liability, Undiscounted Excess Amount",
        "terseLabel": "Less: imputed interest"
       }
      }
     },
     "localname": "LesseeLiabilityUndiscountedExcessAmount",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LineOfCreditFacilityMaturityTerm": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the maturity period of credit facility.",
        "label": "Line of Credit Facility Maturity Term",
        "terseLabel": "Maturity term of credit facility"
       }
      }
     },
     "localname": "LineOfCreditFacilityMaturityTerm",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "csiq_LongTermBorrowingsOnProjectAssetsCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DebtLongtermAndShorttermCombinedAmount",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount represents long-borrowings associated with certain solar power projects that are expected to be sold within one year.",
        "label": "Long-term borrowings on project assets - current",
        "terseLabel": "Long-term borrowings on project assets - current"
       }
      }
     },
     "localname": "LongTermBorrowingsOnProjectAssetsCurrent",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LossContingencyProvisionReversed": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the amount of provision for loss contingency reversed.",
        "label": "Loss Contingency Provision Reversed",
        "terseLabel": "Amount of provision reversed"
       }
      }
     },
     "localname": "LossContingencyProvisionReversed",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the member pertaining to Luoyang Jiwa New Material Technology Co., Ltd.",
        "label": "Luoyang Jiwa New Material Technology Co. Ltd [Member]",
        "terseLabel": "Luoyang Jiwa New Material Technology Co., Ltd [Member]"
       }
      }
     },
     "localname": "LuoyangJiwaNewMaterialTechnologyCo.LtdMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_MajorCustomersDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "MAJOR CUSTOMERS"
       }
      }
     },
     "localname": "MajorCustomersDisclosureAbstract",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "xbrltype": "stringItemType"
    },
    "csiq_MajorCustomersDisclosureTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure of major customers from which the entity receives substantial of its revenue. Due to the competitive nature of the industry in which the entity belongs, the entity may not believe that the loss of any particular customer would have material adverse impact on the entity.",
        "label": "Major Customers Disclosure [Text Block]",
        "terseLabel": "MAJOR CUSTOMERS"
       }
      }
     },
     "localname": "MajorCustomersDisclosureTextBlock",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomers"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_MajorSubsidiariesDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "No definition available.",
        "label": "Appendix 1 - Major Subsidiaries of CSI"
       }
      }
     },
     "localname": "MajorSubsidiariesDisclosuresAbstract",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "xbrltype": "stringItemType"
    },
    "csiq_MaterialAndWorkmanShipMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to material and workmanship.",
        "label": "Material And Workman Ship [Member]",
        "terseLabel": "Material and workmanship"
       }
      }
     },
     "localname": "MaterialAndWorkmanShipMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the minimum percentage of after tax profit required to be appropriated to the general reserve under PRC GAAP.",
        "label": "Minimum Appropriation of after Tax Profit to General Reserve Required Percentage",
        "terseLabel": "Minimum percentage of the profit after tax to be appropriated to the general reserve"
       }
      }
     },
     "localname": "MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRestrictedNetAssetsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_ModuleSegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Module segment.",
        "label": "Module Segment [Member]",
        "terseLabel": "MSS"
       }
      }
     },
     "localname": "ModuleSegmentMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_NetIncreaseDecreaseCashAndCashEquivalentsAssetsHeldForSale": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The net increase (decrease) in cash and cash equivalents classified within assets held-for-sale.",
        "label": "Net Increase Decrease Cash And Cash Equivalents Assets Held For Sale",
        "terseLabel": "Less: net decrease in cash, cash equivalents and restricted cash classified within assets held-for-sale"
       }
      }
     },
     "localname": "NetIncreaseDecreaseCashAndCashEquivalentsAssetsHeldForSale",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_OtherOperatingIncomeExpenseNet",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The net loss on disposal of property, plant and equipment included in other operating expense.",
        "label": "Net Loss Disposal Property Plant Equipment Other Operating Expense",
        "terseLabel": "Net loss on disposal of property, plant and equipment"
       }
      }
     },
     "localname": "NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_NinetySevenPercentInitialPowerCapacityMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to 97% of initial capacity.",
        "label": "Ninety Seven Percent Initial Power Capacity [Member]",
        "terseLabel": "97 % initial power capacity"
       }
      }
     },
     "localname": "NinetySevenPercentInitialPowerCapacityMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_NinetyThreeInitialPowerCapacityMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to 93% of initial capacity.",
        "label": "Ninety Three Initial Power Capacity [Member]",
        "terseLabel": "93% initial power capacity"
       }
      }
     },
     "localname": "NinetyThreeInitialPowerCapacityMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_NonBindingLineOfCreditMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents a non-binding contractual arrangement with a lender under which borrowings can be made up to a specific amount at any point in time, and under which borrowings outstanding may be either short-term or long-term, depending upon the particulars.",
        "label": "Non Binding Line Of Credit [Member]",
        "terseLabel": "Non-binding bank credit facilities"
       }
      }
     },
     "localname": "NonBindingLineOfCreditMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_NonCashOperatingLeaseExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount of non-cash operating lease expenses.",
        "label": "Non-cash Operating lease expenses",
        "terseLabel": "Non-cash operating lease expenses"
       }
      }
     },
     "localname": "NonCashOperatingLeaseExpenses",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_NumberOfBoardMembers": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the number of board members.",
        "label": "Number of Board Members",
        "terseLabel": "Total board members"
       }
      }
     },
     "localname": "NumberOfBoardMembers",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the number of board members designated by the acquired entity.",
        "label": "Number of Board Members Designated by the Acquired Entity",
        "terseLabel": "Board members designated"
       }
      }
     },
     "localname": "NumberOfBoardMembersDesignatedByTheAcquiredEntity",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The number of board of investment certificates for tax exemption.",
        "label": "Number of Board of Investment Certificates, Tax Exemption",
        "terseLabel": "Number of Board of Investment certificates for tax exemption"
       }
      }
     },
     "localname": "NumberOfBoardOfInvestmentCertificatesTaxExemption",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "csiq_NumberOfCustomers": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the number of major customers.",
        "label": "Number of Customers",
        "terseLabel": "Number of customers with the largest receivable balances"
       }
      }
     },
     "localname": "NumberOfCustomers",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "csiq_NumberOfSubpoenasReceived": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the number of subpoenas received during the period.",
        "label": "Number of Subpoenas Received",
        "terseLabel": "Number of subpoenas"
       }
      }
     },
     "localname": "NumberOfSubpoenasReceived",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "csiq_OAndMServicesProductMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to services relating to O&amp;M.",
        "label": "O And M Services Product [Member]",
        "terseLabel": "O&amp;M services"
       }
      }
     },
     "localname": "OAndMServicesProductMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_OMServiceMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the information pertaining to O &amp; M service.",
        "label": "O M Service [Member]",
        "terseLabel": "O &amp; M Service"
       }
      }
     },
     "localname": "OMServiceMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_OperatingLossCarryforwardsSubjectToExpiration": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the amount of operating loss carryforwards available to reduce future taxable income, which are subject to expiration dates.",
        "label": "Operating Loss Carryforwards Subject to Expiration",
        "terseLabel": "Accumulated net operating losses subject to expiration between 2020 and 2038"
       }
      }
     },
     "localname": "OperatingLossCarryforwardsSubjectToExpiration",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 4.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount represents De-recognition of commodity hedge and interest rate swap",
        "label": "Other Comprehensive Income Loss De-Recognition of Commodity Hedge and Interest Rate Swap",
        "terseLabel": "De-recognition of commodity hedge and interest rate swap",
        "verboseLabel": "De-recognition of derivatives"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 3.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments, of increase (decrease) in accumulated gain (loss) from derivative instruments - commodity hedge, designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (loss).",
        "label": "Other Comprehensive Income Loss Derivatives Qualifying as Hedges, Commodity Hedge Net of Tax",
        "terseLabel": "Gain (loss) on commodity hedge"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesCommodityHedgeNetOfTax",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 5.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments, of increase (decrease) in accumulated gain (loss) from derivative instruments - interest rate swap, designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (loss).",
        "label": "Other Comprehensive Income Loss Derivatives Qualifying as Hedges, Interest Rate Swap Net of Tax",
        "terseLabel": "Gain (loss) on interest rate swap"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_OtherCountriesAmericaMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to other countries in America.",
        "label": "Other Countries America [Member]",
        "terseLabel": "Others"
       }
      }
     },
     "localname": "OtherCountriesAmericaMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_OtherCountriesAsiaMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the information pertaining to other regions in Asia.",
        "label": "Other Countries Asia [Member]",
        "terseLabel": "Others"
       }
      }
     },
     "localname": "OtherCountriesAsiaMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_OtherCountriesEuropeMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the information pertaining to other countries in Europe.",
        "label": "Other Countries Europe [Member]",
        "terseLabel": "Others"
       }
      }
     },
     "localname": "OtherCountriesEuropeMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_OtherCurrentLiabilitiesFluctuations": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the amount of other current liabilities.",
        "label": "Other Current Liabilities Fluctuations",
        "verboseLabel": "Other current liabilities, fluctuation"
       }
      }
     },
     "localname": "OtherCurrentLiabilitiesFluctuations",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_OtherEquityMethodInvesteesMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to the other equity method investees.",
        "label": "Other Equity Method Investees [Member]",
        "terseLabel": "Others"
       }
      }
     },
     "localname": "OtherEquityMethodInvesteesMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_OtherJurisdictionsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to other jurisdictions where the entity has operations.",
        "label": "Other Jurisdictions [Member]",
        "terseLabel": "Others"
       }
      }
     },
     "localname": "OtherJurisdictionsMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_OtherNoncurrentAssetsAdjustment": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the adjustment to the expense charged against earnings for the period pertaining to other non-current assets.",
        "label": "Other Noncurrent Assets Adjustment",
        "terseLabel": "Downward adjustment of other non-current assets"
       }
      }
     },
     "localname": "OtherNoncurrentAssetsAdjustment",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for other operating income and other operating expense items.",
        "label": "Other Operating Income (Expense), Policy [Policy Text Block]",
        "terseLabel": "Other operating income, net"
       }
      }
     },
     "localname": "OtherOperatingIncomeExpensePolicyPolicyTextBlock",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_OtherProductEpcAndDevelopmentServicesMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to the other products (EPC and development services) of the entity.",
        "label": "Other Product Epc And Development Services [Member]",
        "terseLabel": "Others (EPC and development services)"
       }
      }
     },
     "localname": "OtherProductEpcAndDevelopmentServicesMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_OtherProductMaterialsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to the other products (materials) of the entity.",
        "label": "Other Product Materials [Member]",
        "terseLabel": "Others ( materials)"
       }
      }
     },
     "localname": "OtherProductMaterialsMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_PaymentsForFinancingCashFlowsFromFinanceLease": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of finance lease payments during the year.",
        "label": "Payments for Financing Cash Flows from Finance Lease",
        "terseLabel": "Financing cash flows from finance lease"
       }
      }
     },
     "localname": "PaymentsForFinancingCashFlowsFromFinanceLease",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PaymentsForProceedsFromLoansToSubsidiaries": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The net amount paid or received by the reporting entity associated with the loans to subsidiaries.",
        "label": "Payments for (Proceeds from) Loans to Subsidiaries",
        "negatedLabel": "Funding of loans to subsidiaries"
       }
      }
     },
     "localname": "PaymentsForProceedsFromLoansToSubsidiaries",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PaymentsOfDistributionsToTaxEquityInvestors": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash outflow in the form of distributions provided to tax equity investors.",
        "label": "Payments of Distributions to Tax Equity Investors",
        "negatedLabel": "Distributions to tax equity investors"
       }
      }
     },
     "localname": "PaymentsOfDistributionsToTaxEquityInvestors",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PaymentsToAcquireAffiliates": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of payments to acquire affiliates.",
        "label": "Payments to Acquire Affiliates",
        "negatedLabel": "Investments in affiliates"
       }
      }
     },
     "localname": "PaymentsToAcquireAffiliates",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets and Intangible assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.",
        "label": "Payments To Acquire Property Plant And Equipment And Intangible Assets",
        "negatedLabel": "Purchase of property, plant and equipment and intangible assets"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipmentAndIntangibleAssets",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PaymentsToAcquireSolarPowerSystems": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of solar power systems that are used in the normal conduct of business to produce solar power.",
        "label": "Payments to Acquire Solar Power Systems",
        "negatedLabel": "Purchase of solar power systems"
       }
      }
     },
     "localname": "PaymentsToAcquireSolarPowerSystems",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PaymentsToAcquireSubsidiaries": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of Payments to Acquire Subsidiaries.",
        "label": "Payments to Acquire Subsidiaries",
        "negatedLabel": "Investment in subsidiaries"
       }
      }
     },
     "localname": "PaymentsToAcquireSubsidiaries",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PeriodOfSunsetReviews": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Period covered by the sunset reviews conducted by USDOC and USITC, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Period of Sunset Reviews",
        "terseLabel": "Period of sunset reviews"
       }
      }
     },
     "localname": "PeriodOfSunsetReviews",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "csiq_PilipinasNewtonEnergyCorpMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the information pertaining to pilipinas newton energy corp.",
        "label": "Pilipinas Newton Energy Corp [Member]",
        "terseLabel": "Pilipinas Newton Energy Corp"
       }
      }
     },
     "localname": "PilipinasNewtonEnergyCorpMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The carrying amount as of the date of the latest financial statement presented of accounts receivable which is transferred to serve as collateral for debt obligations, and for which the transferee does not have the right by contract or custom to sell or re-pledge them to an unrelated party.",
        "label": "Pledged Assets, Not Separately Reported, Accounts Receivable",
        "terseLabel": "Carrying value of accounts receivable that serve as collateral for short-term and long-term borrowings"
       }
      }
     },
     "localname": "PledgedAssetsNotSeparatelyReportedAccountsReceivable",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PledgedAssetsNotSeparatelyReportedInventory": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The carrying amount, as of the date of the latest financial statement presented, of inventory, which are owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement.",
        "label": "Pledged Assets Not Separately Reported Inventory",
        "terseLabel": "Carrying value of inventories that serve as collateral for short-term and long-term borrowings"
       }
      }
     },
     "localname": "PledgedAssetsNotSeparatelyReportedInventory",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The carrying amount, as of the date of the latest financial statement presented, of prepaid land use right, which are owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement.",
        "label": "Pledged Assets Not Separately Reported Prepaid Land Use Right",
        "terseLabel": "Carrying value of prepaid land use rights that serve as collateral for short-term and long-term borrowings"
       }
      }
     },
     "localname": "PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The carrying amount, as of the date of the latest financial statement presented, of property, plant and equipment, which are owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement.",
        "label": "Pledged Assets Not Separately Reported Property, Plant and Equipment",
        "terseLabel": "Carrying value of property, plant and equipment that serve as collateral for short-term and long-term borrowings"
       }
      }
     },
     "localname": "PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The carrying amount, as of the date of the latest financial statement presented, of restricted cash owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement, and for which the transferee is not permitted to sell or re-pledge them to an unrelated party.",
        "label": "Pledged Assets, Not Separately Reported, Restricted Cash",
        "terseLabel": "Carrying value of restricted cash that serve as collateral for short-term and long-term borrowings"
       }
      }
     },
     "localname": "PledgedAssetsNotSeparatelyReportedRestrictedCash",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The carrying amount, as of the date of the latest financial statement presented, of project assets and solar power systems, which are owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement.",
        "label": "Pledged Assets, Project Assets And Solar Power Systems",
        "terseLabel": "Carrying value of project assets and solar power systems that serve as collateral for short-term and long-term borrowings"
       }
      }
     },
     "localname": "PledgedAssetsProjectAssetsAndSolarPowerSystems",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PledgedEquityNotSeparatelyReported": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The carrying amount as of the date of the latest financial statement presented of equity which is transferred to serve as collateral for debt obligations, and for which the transferee does not have the right by contract or custom to sell or re-pledge them to an unrelated party.",
        "label": "Pledged Equity, Not Separately Reported",
        "terseLabel": "Carrying value of equity that serve as collateral for short-term and long-term borrowings"
       }
      }
     },
     "localname": "PledgedEquityNotSeparatelyReported",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PreferentialWithholdingTaxRate": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the preferential withholding tax rate.",
        "label": "Preferential Withholding Tax Rate",
        "terseLabel": "Preferential withholding tax rate (as a percent)"
       }
      }
     },
     "localname": "PreferentialWithholdingTaxRate",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_PrepaymentForLandUseRightPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for prepayment for land use rights which may include the basis of such assets, depreciation methods used and estimated useful lives.",
        "label": "Prepayment for Land Use Right [Policy Text Block]",
        "terseLabel": "Prepaid land use rights"
       }
      }
     },
     "localname": "PrepaymentForLandUseRightPolicyTextBlock",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ProceedsFromConvertibleDebtAdditionalIssuance": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash inflow from the additional issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.",
        "label": "Proceeds From Convertible Debt Additional Issuance",
        "terseLabel": "Proceeds from additional issuance of convertible notes"
       }
      }
     },
     "localname": "ProceedsFromConvertibleDebtAdditionalIssuance",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProceedsFromConvertibleDebtInitialIssuance": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash inflow from the initial issuance of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.",
        "label": "Proceeds From Convertible Debt Initial Issuance",
        "terseLabel": "Proceeds from initial issuance of convertible notes"
       }
      }
     },
     "localname": "ProceedsFromConvertibleDebtInitialIssuance",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "It represents the proceeds from the sale or disposal of solar power systems.",
        "label": "Proceeds from Sale or Disposal of Solar Power Systems",
        "terseLabel": "Proceeds from disposal of solar power systems"
       }
      }
     },
     "localname": "ProceedsFromSaleOrDisposalOfSolarPowerSystems",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProceedsFromThirdPartyFinancingLiabilities": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash inflow from financing liabilities of third parties.",
        "label": "Proceeds from Third Party Financing Liabilities",
        "terseLabel": "Proceeds from third party financing liabilities"
       }
      }
     },
     "localname": "ProceedsFromThirdPartyFinancingLiabilities",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProductWarrantyAccrualRateForSalesOfSolarModules": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the percentage of revenue which the entity uses as an estimate of warranty expense for sales of solar modules, which is included in cost of revenues.",
        "label": "Product Warranty Accrual Rate for Sales of Solar Modules",
        "terseLabel": "Warranty accrual rate for sales of solar modules as a percentage of revenue"
       }
      }
     },
     "localname": "ProductWarrantyAccrualRateForSalesOfSolarModules",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_ProjectAssets": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of investments in solar power projects.",
        "label": "Project Assets",
        "terseLabel": "Project assets"
       }
      }
     },
     "localname": "ProjectAssets",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProjectAssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "PROJECT ASSETS"
       }
      }
     },
     "localname": "ProjectAssetsAbstract",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "xbrltype": "stringItemType"
    },
    "csiq_ProjectAssetsDisclosureTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for information relating to project assets.",
        "label": "Project Assets Disclosure [Text Block]",
        "terseLabel": "PROJECT ASSETS"
       }
      }
     },
     "localname": "ProjectAssetsDisclosureTextBlock",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssets"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ProjectAssetsImpairmentCharge": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the impairment charges and write-off for investments in solar power projects.",
        "label": "Project Assets Impairment Charge",
        "terseLabel": "Impairment loss of project assets"
       }
      }
     },
     "localname": "ProjectAssetsImpairmentCharge",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProjectAssetsPlantsAndLand": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of investments in solar power projects.",
        "label": "Project Assets Plants and Land",
        "totalLabel": "Total project assets"
       }
      }
     },
     "localname": "ProjectAssetsPlantsAndLand",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails": {
       "order": 1.0,
       "parentTag": "csiq_ProjectAssetsPlantsAndLand",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the amount of capitalized acquisition cost related to investments in solar power projects.",
        "label": "Project Assets Plants and Land Capitalized Acquisition Cost",
        "terseLabel": "Project assets - Acquisition cost"
       }
      }
     },
     "localname": "ProjectAssetsPlantsAndLandCapitalizedAcquisitionCost",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails": {
       "order": 2.0,
       "parentTag": "csiq_ProjectAssetsPlantsAndLand",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the amount of capitalized EPC and other cost related to investments in solar power projects.",
        "label": "Project Assets Plants and Land Capitalized EPC and Other Cost",
        "terseLabel": "Project assets - EPC and other cost"
       }
      }
     },
     "localname": "ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProjectAssetsPlantsAndLandCurrentPortion": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 10.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of investments in solar power projects that are expected to be realized before one year or within the operating cycle, if longer.",
        "label": "Project assets, Current",
        "terseLabel": "Project assets",
        "verboseLabel": "Current portion"
       }
      }
     },
     "localname": "ProjectAssetsPlantsAndLandCurrentPortion",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProjectAssetsPlantsAndLandNonCurrentPortion": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 12.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of investments in solar power projects, which is not expected to be realized within one year or the operating cycle, if longer.",
        "label": "Project assets, Non Current",
        "terseLabel": "Project assets",
        "verboseLabel": "Non-current portion"
       }
      }
     },
     "localname": "ProjectAssetsPlantsAndLandNonCurrentPortion",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProjectAssetsPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for determining project asset costs.",
        "label": "Project Assets [Policy Text Block]",
        "terseLabel": "Project assets"
       }
      }
     },
     "localname": "ProjectAssetsPolicyTextBlock",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_PropertyAndEquipmentPurchaseCommitmentMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Purchase arrangement in which the entity has agreed to expend funds to procure property and equipment.",
        "label": "Property And Equipment Purchase Commitment [Member]",
        "terseLabel": "Property, plant and equipment"
       }
      }
     },
     "localname": "PropertyAndEquipmentPurchaseCommitmentMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the net amount of long-lived physical assets, excluding construction in process, used in the normal conduct of business and not intended for resale.",
        "label": "Property Plant and Equipment Excluding Construction in Progress Net",
        "totalLabel": "Property, plant and equipment, excluding construction in process, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentExcludingConstructionInProgressNet",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the amount of provision for withholding tax on dividends distributed by foreign investment entities.",
        "label": "Provision for Withholding Tax on Dividend Distributed by Foreign Investment Entities",
        "terseLabel": "Provision for withholding income tax on dividend"
       }
      }
     },
     "localname": "ProvisionForWithholdingTaxOnDividendDistributedByForeignInvestmentEntities",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_PtCanadianSolarIndonesiaMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to PT Canadian Solar Indonesia.",
        "label": "Pt Canadian Solar Indonesia [Member]",
        "terseLabel": "PT. Canadian Solar Indonesia"
       }
      }
     },
     "localname": "PtCanadianSolarIndonesiaMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_PurchaseOfUnitsPercentage": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the percentage of units purchased.",
        "label": "Purchase Of Units Percentage",
        "terseLabel": "Percent of units purchased"
       }
      }
     },
     "localname": "PurchaseOfUnitsPercentage",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_ReRoserockHoldingsLlcMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to RE Roserock Holdings LLC.",
        "label": "Re Roserock Holdings Llc [Member]",
        "terseLabel": "RE Roserock Holdings LLC (\"Roserock\")"
       }
      }
     },
     "localname": "ReRoserockHoldingsLlcMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_RecurrentEnergyGroupInc.Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Recurrent Energy Group Inc. (formerly, Canadian Solar Energy Acquisition Co.).",
        "label": "Recurrent Energy Group Inc. [Member]",
        "terseLabel": "Recurrent Energy Group Inc."
       }
      }
     },
     "localname": "RecurrentEnergyGroupInc.Member",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_RecurrentEnergyLlcMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Recurrent Energy, LLC.",
        "label": "Recurrent Energy Llc [Member]",
        "terseLabel": "Recurrent Energy, LLC"
       }
      }
     },
     "localname": "RecurrentEnergyLlcMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "It represents the reduced Foreign statutory income tax rate on account of tax exemptions.",
        "label": "Reduced Foreign Income Tax Rate on Account of Tax Exemptions",
        "terseLabel": "Reduced income tax rate from 2020 to 2028 (as a percent)"
       }
      }
     },
     "localname": "ReducedForeignIncomeTaxRateOnAccountOfTaxExemptions",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_RevenueFromNonrelatedParties": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Total revenue from sale of goods and services rendered excluding revenues arising from transactions between (a) a parent company and its subsidiaries; (b) subsidiaries of a common parent; (c) an entity and trusts for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's' management; (d) an entity and its principal, owners, management, or members of their immediate families; and (e) affiliates, during the reporting period, in the normal course of business, reduced by sales returns and allowances, and sales discounts.",
        "label": "Revenue from Nonrelated Parties",
        "terseLabel": "-Non-related parties"
       }
      }
     },
     "localname": "RevenueFromNonrelatedParties",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_RoserockMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Roseland.",
        "label": "Roserock [Member]",
        "terseLabel": "Roserock"
       }
      }
     },
     "localname": "RoserockMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SalesRevenueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "n/a",
        "label": "Net revenues:"
       }
      }
     },
     "localname": "SalesRevenueAbstract",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of carrying value and amortization of finite-lived intangible assets by major class.",
        "label": "Schedule of Carrying Value of Finite Lived Intangible Assets [Table Text Block]",
        "terseLabel": "Schedule of intangible assets"
       }
      }
     },
     "localname": "ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ScheduleOfEffectiveInterestRatesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of average effective interest rates on borrowings.",
        "label": "Schedule Of Effective Interest Rates [Table Text Block]",
        "terseLabel": "Schedule of average effective interest rates on borrowings"
       }
      }
     },
     "localname": "ScheduleOfEffectiveInterestRatesTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ScheduleOfFutureMinimumLeasePaymentsForLeasesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of future minimum lease payments as of the date of the latest balance sheet presented, in aggregate and for each of the five years succeeding fiscal years, with separate deductions from the total for the amount representing executor costs, including any profit thereon, included in the minimum lease payments and for the amount of the imputed interest necessary to reduce the net minimum lease payments to present value.",
        "label": "Schedule of Future Minimum Lease Payments for Leases [Table Text Block]",
        "terseLabel": "Schedule of lease liabilities under(Topic 840)"
       }
      }
     },
     "localname": "ScheduleOfFutureMinimumLeasePaymentsForLeasesTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ScheduleOfInterestExpenseTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the amount of interest expenses related to borrowings.",
        "label": "Schedule of Interest Expense [Table Text Block]",
        "terseLabel": "Schedule of interest incurred"
       }
      }
     },
     "localname": "ScheduleOfInterestExpenseTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of accounting policy for other operating income and other operating expense items.",
        "label": "Schedule of Other Operating Income (Expense) [Table Text Block]",
        "terseLabel": "Summary of the Company's other operating income, net"
       }
      }
     },
     "localname": "ScheduleOfOtherOperatingIncomeExpenseTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ScheduleOfProjectAssetsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of components of project assets.",
        "label": "Schedule of Project Assets [Table Text Block]",
        "terseLabel": "Schedule of project assets"
       }
      }
     },
     "localname": "ScheduleOfProjectAssetsTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the components of property, plant and equipment.",
        "label": "Schedule of Property Plant and Equipment Components [Table Text Block]",
        "terseLabel": "Schedule of property, plant and equipment, net"
       }
      }
     },
     "localname": "ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the useful life of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.",
        "label": "Schedule of Property Plant and Equipment Useful Life [Table Text Block]",
        "terseLabel": "Schedule of expected useful lives of property and equipment"
       }
      }
     },
     "localname": "ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the components of solar power systems.",
        "label": "Schedule of Solar Power Systems Components [Table Text Block]",
        "terseLabel": "Schedule of solar power systems, net"
       }
      }
     },
     "localname": "ScheduleOfSolarPowerSystemsComponentsTableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_SecuredByInventoryAndAccountsReceivableMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents pledged collateral of inventory and accounts receivable.",
        "label": "Secured By Inventory And Accounts Receivable [Member]",
        "terseLabel": "Secured by Inventory and accounts receivable"
       }
      }
     },
     "localname": "SecuredByInventoryAndAccountsReceivableMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SecuredShortTermDebt": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the carrying amount of short-term borrowings secured by assets.",
        "label": "Secured Short Term Debt",
        "terseLabel": "Secured short-term borrowings"
       }
      }
     },
     "localname": "SecuredShortTermDebt",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ServiceRevenueFromRelatedParty": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of revenue from providing services earned from transactions between (a) a parent company and its subsidiaries; (b) subsidiaries of a common parent; (c) an entity and trusts for the benefit of employees, for example, but not limited to, pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; (d) an entity and its principal, owners, management, or members of their immediate families; and (e) affiliates.",
        "label": "Service Revenue from Related Party",
        "terseLabel": "Revenue from providing development services"
       }
      }
     },
     "localname": "ServiceRevenueFromRelatedParty",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardAggregateIntrinsicValueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Share Based Compensation Arrangement by Share Based Payment Award, Aggregate Intrinsic Value [Abstract]",
        "terseLabel": "Aggregate Intrinsic Value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAggregateIntrinsicValueAbstract",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the number of awards that may be granted under the share incentive plan after the expiration date of May 8, 2021.",
        "label": "Share Based Compensation Arrangement by Share Based Payment Award Options Grants after Expiration of Specified Date",
        "terseLabel": "Number of shares to be granted after expiration"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the expiry term of share options from the date of grant, granted under the share incentive plan.",
        "label": "Share Based Compensation Arrangement by Share Based Payment Award, Plan Expiration Term",
        "terseLabel": "Expiry term of share options"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardWeightedAverageRemainingContractualTermAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Share Based Compensation Arrangement by Share Based Payment Award, Weighted Average Remaining Contractual Term [Abstract]",
        "terseLabel": "Weighted Average Remaining Contract Terms"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardWeightedAverageRemainingContractualTermAbstract",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Shippings and Handling Cost, Policy [Policy Text Block]",
        "terseLabel": "Shipping and handling costs"
       }
      }
     },
     "localname": "ShippingsAndHandlingCostPolicyPolicyTextBlock",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_ShortTermNotesPayable": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of borrowings classified s short term notes payable.",
        "label": "Short term notes payable",
        "terseLabel": "Short-term notes payable"
       }
      }
     },
     "localname": "ShortTermNotesPayable",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShortTermNotesPayableDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ShortTermNotesPayableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for information about the notes issued by banks to vendors of the company, which effectively serve to extend the payment date of the associated accounts payables of the company.",
        "label": "Short Term Notes Payable [Text Block]",
        "terseLabel": "SHORT-TERM NOTES PAYABLE"
       }
      }
     },
     "localname": "ShortTermNotesPayableTextBlock",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShortTermNotesPayable"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_SolarModulesAndOtherSolarPowerProductsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to the solar modules and other solar power products of the entity.",
        "label": "Solar Modules And Other Solar Power Products [Member]",
        "terseLabel": "Solar modules and other solar power products"
       }
      }
     },
     "localname": "SolarModulesAndOtherSolarPowerProductsMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the minimum percentage of decline in power generation capacity from the time of delivery which the entity warrants for a ten year period.",
        "label": "Solar Modules Minimum Percentage of Decline in Power Generation Capacity to Get Ten Year Warranty",
        "terseLabel": "Minimum percentage of decline in initial minimum power generation capacity for 10 years"
       }
      }
     },
     "localname": "SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the minimum percentage of decline in power generation capacity from the time of delivery which the entity warrants for a 25 year period.",
        "label": "Solar Modules Minimum Percentage of Decline in Power Generation Capacity to Get Twenty Five Year Warranty",
        "terseLabel": "Minimum percentage of decline in initial minimum power generation capacity for 25 years"
       }
      }
     },
     "localname": "SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the warranty period of solar modules for decline of more than 10 percent of the initial minimum power generation capacity.",
        "label": "Solar Modules Warranty Period Against Decline of More than Ten Percent of Power Generation Capacity",
        "terseLabel": "Warranty period of solar modules and products against decline of more than 10% of initial power generation capacity"
       }
      }
     },
     "localname": "SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the warranty period of solar modules for decline of more than 20 percent of the initial minimum power generation capacity.",
        "label": "Solar Modules Warranty Period Against Decline of More than Twenty Percent of Power Generation Capacity",
        "terseLabel": "Warranty period of solar modules and products against decline of more than 20% of initial power generation capacity"
       }
      }
     },
     "localname": "SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "csiq_SolarPowerProjectMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to solar power projects.",
        "label": "Solar Power Project [Member]",
        "terseLabel": "Solar Power Project"
       }
      }
     },
     "localname": "SolarPowerProjectMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SolarPowerProjectsConstructionAndSaleMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to the solar power projects construction and sale, the product of the entity.",
        "label": "Solar Power Projects Construction And Sale [Member]",
        "terseLabel": "Solar power projects"
       }
      }
     },
     "localname": "SolarPowerProjectsConstructionAndSaleMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SolarPowerSystemCommitmentsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Solar power system commitments.",
        "label": "Solar Power System Commitments [Member]",
        "terseLabel": "Solar power system"
       }
      }
     },
     "localname": "SolarPowerSystemCommitmentsMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SolarPowerSystems": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after accumulated depreciation of ground-mounted projects and roof top systems intend to be held for use.",
        "label": "Solar Power Systems",
        "terseLabel": "Solar power systems, net",
        "totalLabel": "Solar power systems, net"
       }
      }
     },
     "localname": "SolarPowerSystems",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_SolarPowerSystemsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "No definition available.",
        "label": "SOLAR POWER SYSTEMS, NET"
       }
      }
     },
     "localname": "SolarPowerSystemsAbstract",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "xbrltype": "stringItemType"
    },
    "csiq_SolarPowerSystemsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for solar power system used in the normal conduct of business and not intended for resale.",
        "label": "Solar Power Systems, Policy [Policy Text Block]",
        "terseLabel": "Solar power systems"
       }
      }
     },
     "localname": "SolarPowerSystemsPolicyPolicyTextBlock",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_SolarPowerSystemsReclassifiedToProjectAssets": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the amount of solar power systems reclassified to project assets.",
        "label": "Solar Power Systems Reclassified To Project Assets",
        "terseLabel": "Reclassification of solar power systems to project assets"
       }
      }
     },
     "localname": "SolarPowerSystemsReclassifiedToProjectAssets",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_SolarPowerSystemsTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for solar power systems used in the normal conduct of business. Includes, but is not limited to, accounting policies and methodology, roll forwards, depreciation, depletion and amortization expense.",
        "label": "Solar Power Systems [Text Block]",
        "terseLabel": "SOLAR POWER SYSTEMS, NET"
       }
      }
     },
     "localname": "SolarPowerSystemsTextBlock",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNet"
     ],
     "xbrltype": "textBlockItemType"
    },
    "csiq_SolarSystemKitsProductMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to the solar system kits, the product of the entity.",
        "label": "Solar System Kits Product [Member]",
        "terseLabel": "Solar system kits"
       }
      }
     },
     "localname": "SolarSystemKitsProductMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_StandardProductWarrantyPeriod": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the period of time over which the entity guarantees against defects in materials and workmanship.",
        "label": "Standard Product Warranty Period",
        "terseLabel": "Guarantee of solar modules for defects in materials and engineering design, installation and construction"
       }
      }
     },
     "localname": "StandardProductWarrantyPeriod",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "csiq_StandardSolarModuleMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Standard Solar module.",
        "label": "Standard Solar Module [Member]",
        "terseLabel": "Standard solar modules"
       }
      }
     },
     "localname": "StandardSolarModuleMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_StockOptionsAndRestrictedStockUnitsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to the share options and restricted share units.",
        "label": "Stock Options And Restricted Stock Units [Member]",
        "terseLabel": "Share options and RSUs"
       }
      }
     },
     "localname": "StockOptionsAndRestrictedStockUnitsMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SubsidiaryMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to a subsidiary.",
        "label": "Subsidiary [Member]",
        "terseLabel": "Subsidiary"
       }
      }
     },
     "localname": "SubsidiaryMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SuzhouFinancialLeasingCoLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Suzhou Financial Leasing Co., Ltd.",
        "label": "Suzhou Financial Leasing Co Ltd [Member]",
        "terseLabel": "Suzhou Financial Leasing Co., Ltd."
       }
      }
     },
     "localname": "SuzhouFinancialLeasingCoLtdMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SuzhouGaochuangteNewEnergyCoLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Suzhou Gaochuangte New Energy Co. Ltd.",
        "label": "Suzhou Gaochuangte New Energy Co Ltd [Member]",
        "terseLabel": "Gaochuangte"
       }
      }
     },
     "localname": "SuzhouGaochuangteNewEnergyCoLtdMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the information pertaining to Suzhou Gaochuangte New Energy Development Co., Ltd.",
        "label": "Suzhou Gaochuangte New Energy Development Co Ltd [Member]",
        "terseLabel": "Suzhou Gaochuangte New Energy Development Co., Ltd."
       }
      }
     },
     "localname": "SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SuzhouIsilverMaterialsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Suzhou iSilver Materials Co.",
        "label": "Suzhou Isilver Materials [Member]",
        "terseLabel": "Suzhou iSilver Materials Co"
       }
      }
     },
     "localname": "SuzhouIsilverMaterialsMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SuzhouKzoneEquipmentTechnologyMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Suzhou Kzone Equipment Technology Co,. Ltd.",
        "label": "Suzhou Kzone Equipment Technology [Member]",
        "terseLabel": "Suzhou Kzone Equipment Technology Co., Ltd"
       }
      }
     },
     "localname": "SuzhouKzoneEquipmentTechnologyMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_SuzhouSanysolarMaterialsTechnologyCoLtdMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to Suzhou Sanysolar Materials Technology Co., Ltd., a subsidiary of the entity.",
        "label": "Suzhou Sanysolar Materials Technology Co Ltd [Member]",
        "terseLabel": "Suzhou Sanysolar Materials Technology Co., Ltd."
       }
      }
     },
     "localname": "SuzhouSanysolarMaterialsTechnologyCoLtdMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_TaxEquityTransactionsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Tax equity transactions [Line Items]",
        "terseLabel": "Tax equity transactions"
       }
      }
     },
     "localname": "TaxEquityTransactionsLineItems",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the threshold percentage of restricted net assets of the entity's consolidated and unconsolidated subsidiaries.",
        "label": "Threshold Percentage of Restricted Net Assets for Consolidated and Unconsolidated Subsidiaries",
        "terseLabel": "Threshold percentage of restricted net assets of the entity's consolidated and unconsolidated subsidiaries"
       }
      }
     },
     "localname": "ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_USCountervailingAndAntiDumpingDutiesMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents information pertaining to US countervailing and anti-dumping duties.",
        "label": "U S Countervailing And Anti Dumping Duties [Member]",
        "terseLabel": "Countervailing and anti-dumping duties investigation"
       }
      }
     },
     "localname": "USCountervailingAndAntiDumpingDutiesMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_UncollectableRevenueMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This member stands for information pertaining to uncollectable revenue as payment was determined to be not probable.",
        "label": "Uncollectable Revenue [Member]",
        "terseLabel": "Uncollectable Revenue"
       }
      }
     },
     "localname": "UncollectableRevenueMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_UnrealizedGainLossFromSalesToInvestees": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 15.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents amount of unrealized gain, (loss) from sales to investees.",
        "label": "Unrealized Gain, (Loss) from Sales to Investees",
        "negatedLabel": "Unrealized gain (loss) from sales to affiliates"
       }
      }
     },
     "localname": "UnrealizedGainLossFromSalesToInvestees",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Total of allowances and reserves, the valuation and qualifying accounts that are either netted against the cost of an asset (in order to value it at its carrying value) or that reflect a liability established to represent expected future costs which have been charged to costs and expenses net of the total of recoveries of amounts due the Entity that had previously been written off as uncollectible using allowances (the valuation accounts that are netted against the cost of an asset to value it at its carrying value) and total of reestablishments of reserves (liabilities established to represent expected future costs) that had previously been utilized.",
        "label": "Valuation Allowances and Reserves Charged to Cost and Expense and Recoveries Net",
        "terseLabel": "Allowances made (reversed) during the year, net",
        "verboseLabel": "Additions (Reversals)"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_ValuationAllowancesAndReservesForeignExchangeEffect": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Total of the foreign exchange effects in a given period to allowances or reserves.",
        "label": "Valuation Allowances and Reserves Foreign Exchange Effect",
        "terseLabel": "Foreign exchange effect"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesForeignExchangeEffect",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "csiq_WarrantsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents fair value of warrants.",
        "label": "Warrants [Member]",
        "terseLabel": "Warrants"
       }
      }
     },
     "localname": "WarrantsMember",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "csiq_WithholdingTaxRate": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the withholding tax rate.",
        "label": "Withholding Tax Rate",
        "terseLabel": "Withholding tax rate (as a percent)"
       }
      }
     },
     "localname": "WithholdingTaxRate",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the withholding tax rate on dividends distributed by foreign investment entities.",
        "label": "Withholding Tax Rate on Dividend Distributed by Foreign Investment Entities",
        "terseLabel": "Withholding income tax rate on dividends distributed by foreign invested enterprises (as a percent)"
       }
      }
     },
     "localname": "WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities",
     "nsuri": "http://www.canadiansolar.com/20191231",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "dei_AddressTypeDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "An entity may have several addresses for different purposes and this domain represents all such types.",
        "label": "Address Type [Domain]",
        "terseLabel": "Address Type [Domain]"
       }
      }
     },
     "localname": "AddressTypeDomain",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_BusinessContactMember": {
     "auth_ref": [
      "r590"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Business contact for the entity",
        "label": "Business Contact [Member]",
        "terseLabel": "Business Contact"
       }
      }
     },
     "localname": "BusinessContactMember",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_ContactPersonnelName": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Name of contact personnel",
        "label": "Contact Personnel Name"
       }
      }
     },
     "localname": "ContactPersonnelName",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Cover page.",
        "label": "Cover [Abstract]"
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentAccountingStandard": {
     "auth_ref": [
      "r587"
     ],
     "lang": {
      "en-US": {
       "role": {
        "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'.",
        "label": "Document Accounting Standard"
       }
      }
     },
     "localname": "DocumentAccountingStandard",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "accountingStandardItemType"
    },
    "dei_DocumentAnnualReport": {
     "auth_ref": [
      "r589"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an annual report.",
        "label": "Document Annual Report"
       }
      }
     },
     "localname": "DocumentAnnualReport",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.",
        "label": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This is focus fiscal year of the document report in CCYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.",
        "label": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Document Information [Line Items]"
       }
      }
     },
     "localname": "DocumentInformationLineItems",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_DocumentInformationTable": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package.",
        "label": "Document Information [Table]"
       }
      }
     },
     "localname": "DocumentInformationTable",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is CCYY-MM-DD.",
        "label": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentRegistrationStatement": {
     "auth_ref": [
      "r590"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a registration statement.",
        "label": "Document Registration Statement"
       }
      }
     },
     "localname": "DocumentRegistrationStatement",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentShellCompanyReport": {
     "auth_ref": [
      "r587"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true for a Shell Company Report pursuant to section 13 or 15(d) of the Exchange Act.",
        "label": "Document Shell Company Report"
       }
      }
     },
     "localname": "DocumentShellCompanyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r588"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One",
        "terseLabel": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town",
        "terseLabel": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCountry": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "ISO 3166-1 alpha-2 country code.",
        "label": "Entity Address, Country",
        "terseLabel": "Entity Address, Country"
       }
      }
     },
     "localname": "EntityAddressCountry",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "countryCodeItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressesAddressTypeAxis": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Entity Addresses, Address Type [Axis]"
       }
      }
     },
     "localname": "EntityAddressesAddressTypeAxis",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r591"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.",
        "label": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains.",
        "label": "Entity [Domain]",
        "terseLabel": "Entity [Domain]"
       }
      }
     },
     "localname": "EntityDomain",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r591"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r591"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r592"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).",
        "label": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r591"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r591"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityVoluntaryFilers": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Entity Voluntary Filers"
       }
      }
     },
     "localname": "EntityVoluntaryFilers",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Entity Well-known Seasoned Issuer"
       }
      }
     },
     "localname": "EntityWellKnownSeasonedIssuer",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_LegalEntityAxis": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The set of legal entities associated with a report.",
        "label": "Legal Entity [Axis]"
       }
      }
     },
     "localname": "LegalEntityAxis",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_NoTradingSymbolFlag": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true only for a security having no trading symbol.",
        "label": "No Trading Symbol Flag"
       }
      }
     },
     "localname": "NoTradingSymbolFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r585"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r586"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "srt_AsiaMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Asia [Member]",
        "terseLabel": "Asia"
       }
      }
     },
     "localname": "AsiaMember",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ChiefExecutiveOfficerMember": {
     "auth_ref": [
      "r212"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Chief Executive Officer [Member]",
        "terseLabel": "Dr. Shawn Qu"
       }
      }
     },
     "localname": "ChiefExecutiveOfficerMember",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Additional Information - Financial Statement Schedule I"
       }
      }
     },
     "localname": "CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "srt_CondensedFinancialStatementsCaptionsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Condensed Financial Statements, Captions [Line Items]",
        "terseLabel": "Condensed Financial Statements"
       }
      }
     },
     "localname": "CondensedFinancialStatementsCaptionsLineItems",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ConsolidatedEntitiesAxis": {
     "auth_ref": [
      "r583"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Consolidated Entities [Axis]"
       }
      }
     },
     "localname": "ConsolidatedEntitiesAxis",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ConsolidatedEntitiesDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Consolidated Entities [Domain]",
        "terseLabel": "Consolidated Entities [Domain]"
       }
      }
     },
     "localname": "ConsolidatedEntitiesDomain",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ConsolidationItemsAxis": {
     "auth_ref": [
      "r192",
      "r203"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Consolidation Items [Axis]"
       }
      }
     },
     "localname": "ConsolidationItemsAxis",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ConsolidationItemsDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Consolidation Items [Domain]",
        "terseLabel": "Consolidation Items [Domain]"
       }
      }
     },
     "localname": "ConsolidationItemsDomain",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_CounterpartyNameAxis": {
     "auth_ref": [
      "r73",
      "r143"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Counterparty Name [Axis]"
       }
      }
     },
     "localname": "CounterpartyNameAxis",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_EquityMethodInvesteeNameDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Equity Method Investee Name [Domain]",
        "terseLabel": "Investment, Name [Domain]"
       }
      }
     },
     "localname": "EquityMethodInvesteeNameDomain",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_EuropeMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Europe [Member]",
        "terseLabel": "Europe"
       }
      }
     },
     "localname": "EuropeMember",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_LitigationCaseAxis": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Litigation Case [Axis]"
       }
      }
     },
     "localname": "LitigationCaseAxis",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_LitigationCaseTypeDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Litigation Case Type [Domain]",
        "terseLabel": "Litigation Case [Domain]"
       }
      }
     },
     "localname": "LitigationCaseTypeDomain",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MajorCustomersAxis": {
     "auth_ref": [
      "r210",
      "r309",
      "r314",
      "r568"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Customer [Axis]"
       }
      }
     },
     "localname": "MajorCustomersAxis",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Maximum [Member]",
        "terseLabel": "Maximum"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Minimum [Member]",
        "terseLabel": "Minimum"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_NameOfMajorCustomerDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Name Of Major Customer [Domain]",
        "terseLabel": "Customer [Domain]"
       }
      }
     },
     "localname": "NameOfMajorCustomerDomain",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_OwnershipAxis": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Ownership [Axis]"
       }
      }
     },
     "localname": "OwnershipAxis",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_OwnershipDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Ownership [Domain]",
        "terseLabel": "Ownership [Domain]"
       }
      }
     },
     "localname": "OwnershipDomain",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ParentCompanyMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Parent Company [Member]",
        "terseLabel": "Parent Company"
       }
      }
     },
     "localname": "ParentCompanyMember",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r205",
      "r309",
      "r312",
      "r565",
      "r566"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Products and Services [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Products And Services [Domain]",
        "terseLabel": "Products and Services [Domain]"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Range [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Range [Member]",
        "terseLabel": "Range [Domain]"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ReportableLegalEntitiesMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Reportable Legal Entities [Member]",
        "terseLabel": "Reportable Legal Entities [Member]"
       }
      }
     },
     "localname": "ReportableLegalEntitiesMember",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RepurchaseAgreementCounterpartyNameDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Repurchase Agreement Counterparty Name [Domain]",
        "terseLabel": "Counterparty Name [Domain]"
       }
      }
     },
     "localname": "RepurchaseAgreementCounterpartyNameDomain",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScheduleOfCondensedFinancialStatementsTable": {
     "auth_ref": [
      "r150",
      "r398"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Condensed Financial Statements [Table]"
       }
      }
     },
     "localname": "ScheduleOfCondensedFinancialStatementsTable",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis": {
     "auth_ref": [
      "r223"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Investment, Name [Axis]"
       }
      }
     },
     "localname": "ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Segment Geographical [Domain]",
        "terseLabel": "Geographical [Domain]"
       }
      }
     },
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r209",
      "r309",
      "r313",
      "r567",
      "r577",
      "r582"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ValuationAndQualifyingAccountsDisclosureLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Valuation and Qualifying Accounts Disclosure [Line Items]",
        "terseLabel": "ALLOWANCE FOR DOUBTFUL ACCOUNTS"
       }
      }
     },
     "localname": "ValuationAndQualifyingAccountsDisclosureLineItems",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsDetails",
      "http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsTables",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ValuationAndQualifyingAccountsDisclosureTable": {
     "auth_ref": [
      "r154"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Valuation and Qualifying Accounts Disclosure [Table]"
       }
      }
     },
     "localname": "ValuationAndQualifyingAccountsDisclosureTable",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsDetails",
      "http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsTables",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountingStandardsUpdate201409Member": {
     "auth_ref": [
      "r316"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Accounting Standards Update 2014-09 Revenue from Contracts with Customers (Topic 606).",
        "label": "Accounting Standards Update201409 [Member]",
        "terseLabel": "ASU 2014-09"
       }
      }
     },
     "localname": "AccountingStandardsUpdate201409Member",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Primary financial statement caption encompassing accounts payable and accrued liabilities.",
        "label": "Accounts Payable And Accrued Liabilities [Member]",
        "terseLabel": "Other payables"
       }
      }
     },
     "localname": "AccountsPayableAndAccruedLiabilitiesMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsPayableOtherCurrent": {
     "auth_ref": [
      "r12",
      "r50"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of obligations incurred classified as other, payable within one year or the normal operating cycle, if longer.",
        "label": "Other payables",
        "verboseLabel": "Other payables"
       }
      }
     },
     "localname": "AccountsPayableOtherCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsPayableRelatedPartiesCurrentAndNoncurrent": {
     "auth_ref": [
      "r148",
      "r500",
      "r532",
      "r560"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount for accounts payable to related parties.",
        "label": "Accounts Payable, Related Parties",
        "terseLabel": "Trade payable to affiliate"
       }
      }
     },
     "localname": "AccountsPayableRelatedPartiesCurrentAndNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsPayableTradeCurrent": {
     "auth_ref": [
      "r12",
      "r50"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accounts Payable",
        "terseLabel": "Accounts payable",
        "verboseLabel": "Accounts payable"
       }
      }
     },
     "localname": "AccountsPayableTradeCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold.",
        "label": "Accounts Receivable [Member]",
        "terseLabel": "Accounts receivable"
       }
      }
     },
     "localname": "AccountsReceivableMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsReceivableNet": {
     "auth_ref": [
      "r28",
      "r546"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business.",
        "label": "Accounts Receivable, Net",
        "terseLabel": "Accounts receivable"
       }
      }
     },
     "localname": "AccountsReceivableNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r5",
      "r28",
      "r213",
      "r214",
      "r310"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.",
        "label": "Accounts receivable trade",
        "positiveLabel": "Accounts receivable trade, net of allowance for doubtful accounts of $3,462 and $3,379 as of December 31, 2018 and 2019, respectively",
        "verboseLabel": "Accounts receivable trade, net of allowance of $32,733 and $29,545 as of December 31, 2018 and 2019, respectively"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableRelatedParties": {
     "auth_ref": [
      "r27",
      "r141",
      "r500",
      "r502",
      "r503",
      "r556"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "For an unclassified balance sheet, amount of receivables arising from transactions with related parties.",
        "label": "Accounts Receivable, Related Parties",
        "terseLabel": "Trade receivable from affiliate"
       }
      }
     },
     "localname": "AccountsReceivableRelatedParties",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableRelatedPartiesCurrent": {
     "auth_ref": [
      "r64",
      "r148",
      "r500",
      "r502",
      "r503"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of receivables arising from transactions with related parties due within one year or the normal operating cycle, if longer.",
        "label": "Accounts Receivable, Related Parties, Current",
        "terseLabel": "Receivables from affiliate"
       }
      }
     },
     "localname": "AccountsReceivableRelatedPartiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "auth_ref": [
      "r47",
      "r254"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": {
       "order": 3.0,
       "parentTag": "csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "negatedLabel": "Accumulated depreciation"
       }
      }
     },
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r78",
      "r79",
      "r80"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Accumulated other comprehensive loss"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r77",
      "r80",
      "r81",
      "r411"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.",
        "label": "Accumulated Other Comprehensive Income [Member]",
        "terseLabel": "Accumulated Other Comprehensive Income (loss)"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "auth_ref": [
      "r29"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.",
        "label": "Additional Paid in Capital, Common Stock",
        "terseLabel": "Additional paid-in capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.",
        "label": "Additional Paid In Capital [Member]",
        "terseLabel": "Additional Paid-in Capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": {
     "auth_ref": [
      "r156"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by new accounting pronouncement.",
        "label": "Adjustments for New Accounting Pronouncements [Axis]"
       }
      }
     },
     "localname": "AdjustmentsForNewAccountingPronouncementsAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Adjustments, Noncash Items, to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:",
        "verboseLabel": "Adjustments to reconcile net income to net cash provided by (used in) operating activities:"
       }
      }
     },
     "localname": "AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "auth_ref": [
      "r322",
      "r325",
      "r348",
      "r349"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.",
        "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition",
        "terseLabel": "Share-based compensation"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdvancesOnInventoryPurchases": {
     "auth_ref": [
      "r69"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 8.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying value of capitalized payments made in advance for inventory that is expected to be received within one year or the normal operating cycle, if longer.",
        "label": "Advances to suppliers",
        "verboseLabel": "Advances to suppliers-current, net of allowance of $5,702 and $7,222 as of December 31, 2018 and 2019, respectively"
       }
      }
     },
     "localname": "AdvancesOnInventoryPurchases",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r325",
      "r343",
      "r347"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.",
        "label": "Allocated Share-based Compensation Expense",
        "terseLabel": "Recognized compensation expense",
        "verboseLabel": "Total recognized compensation cost"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForCreditLossMember": {
     "auth_ref": [
      "r153"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Allowance for credit loss from right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.",
        "label": "Allowance For Credit Loss [Member]",
        "terseLabel": "Allowances for accounts receivable, trade"
       }
      }
     },
     "localname": "AllowanceForCreditLossMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsDetails",
      "http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsTables"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock": {
     "auth_ref": [
      "r215",
      "r230"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of allowance for credit loss on financing receivable.",
        "label": "Allowance for Credit Losses on Financing Receivables [Table Text Block]",
        "terseLabel": "Schedule of allowances"
       }
      }
     },
     "localname": "AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AllowanceForCreditLossesTextBlock": {
     "auth_ref": [
      "r218"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for allowance for credit losses.",
        "label": "Allowance for Credit Losses [Text Block]",
        "terseLabel": "ALLOWANCE FOR DOUBTFUL ACCOUNTS"
       }
      }
     },
     "localname": "AllowanceForCreditLossesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccounts"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "auth_ref": [
      "r34",
      "r216",
      "r228"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.",
        "label": "Allowance for Doubtful Accounts Receivable, Current",
        "periodEndLabel": "Closing balance",
        "periodStartLabel": "Beginning of the year",
        "terseLabel": "Accounts receivable trade, allowance"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfFinancingCosts": {
     "auth_ref": [
      "r96",
      "r129",
      "r473"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of amortization expense attributable to debt issuance costs.",
        "label": "Amortization of Financing Costs",
        "terseLabel": "Amortization of financing costs"
       }
      }
     },
     "localname": "AmortizationOfFinancingCosts",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "auth_ref": [
      "r129",
      "r240",
      "r246"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.",
        "label": "Amortization of Intangible Assets",
        "terseLabel": "Amortization expense"
       }
      }
     },
     "localname": "AmortizationOfIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries": {
     "auth_ref": [
      "r144"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of restricted net assets of consolidated and unconsolidated subsidiaries as of the end of the most recently completed fiscal year.",
        "label": "Amount of Restricted Net Assets for Consolidated and Unconsolidated Subsidiaries",
        "terseLabel": "Restricted net assets of the entity's consolidated and unconsolidated subsidiaries not available for distribution",
        "verboseLabel": "Restricted net assets"
       }
      }
     },
     "localname": "AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIDetails",
      "http://www.canadiansolar.com/role/DisclosureRestrictedNetAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r169"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "terseLabel": "Anti-dilutive shares excluded from the computation of diluted earnings per share, total"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "auth_ref": [
      "r169"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by type of antidilutive security.",
        "label": "Antidilutive Securities [Axis]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]",
        "terseLabel": "Anti-dilutive shares excluded from the computation of diluted earnings per share"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AntidilutiveSecuritiesNameDomain": {
     "auth_ref": [
      "r169"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented.",
        "label": "Antidilutive Securities Name [Domain]",
        "terseLabel": "Antidilutive Securities, Name [Domain]"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AssetImpairmentCharges": {
     "auth_ref": [
      "r129",
      "r251"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of write-down of assets recognized in the income statement. Includes, but is not limited to, losses from tangible assets, intangible assets and goodwill.",
        "label": "Asset Impairment Charges",
        "terseLabel": "Impairment charges for property, plant and equipment",
        "verboseLabel": "Impairment loss of property, plant and equipment"
       }
      }
     },
     "localname": "AssetImpairmentCharges",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetRetirementObligation": {
     "auth_ref": [
      "r260"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The carrying amount of a liability for an asset retirement obligation. An asset retirement obligation is a legal obligation associated with the disposal or retirement of a tangible long-lived asset that results from the acquisition, construction or development, or the normal operations of a long-lived asset, except for certain obligations of lessees.",
        "label": "Asset Retirement Obligation",
        "terseLabel": "Asset retirement obligation"
       }
      }
     },
     "localname": "AssetRetirementObligation",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetRetirementObligationsPolicy": {
     "auth_ref": [
      "r138",
      "r261"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for legal obligation associated with retirement of long-lived asset that results from acquisition, construction, or development or from normal operation of long-lived asset. Excludes environmental remediation liability from improper or other-than-normal operation of long-lived asset, obligation arising in connection with leased property that meets definition of lease payments or variable lease payments and from plan to sell or otherwise dispose of a long-lived asset.",
        "label": "Asset Retirement Obligations, Policy [Policy Text Block]",
        "terseLabel": "Assets retirement obligation"
       }
      }
     },
     "localname": "AssetRetirementObligationsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AssetUnderConstructionMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Asset in process of being built.",
        "label": "Asset Under Construction [Member]",
        "terseLabel": "Solar power sysetems under construction"
       }
      }
     },
     "localname": "AssetUnderConstructionMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r198",
      "r525",
      "r548"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Total assets",
        "totalLabel": "TOTAL ASSETS"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Assets [Abstract]",
        "terseLabel": "ASSETS"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsAndLiabilitiesLesseeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Assets and Liabilities, Lessee [Abstract]",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "AssetsAndLiabilitiesLesseeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r7",
      "r8",
      "r70"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Total current assets",
        "totalLabel": "Total current assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "terseLabel": "Current assets:"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r326",
      "r345"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by type of award under share-based payment arrangement.",
        "label": "Award Type [Axis]"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by location on balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Axis]"
       }
      }
     },
     "localname": "BalanceSheetLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "auth_ref": [
      "r432",
      "r435"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Location in the balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Domain]",
        "terseLabel": "Balance Sheet Location [Domain]"
       }
      }
     },
     "localname": "BalanceSheetLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).",
        "label": "Basis of Accounting, Policy [Policy Text Block]",
        "terseLabel": "Basis of presentation"
       }
      }
     },
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BuildingMember": {
     "auth_ref": [
      "r253"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities.",
        "label": "Building [Member]",
        "terseLabel": "Buildings"
       }
      }
     },
     "localname": "BuildingMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BusinessCombinationsPolicy": {
     "auth_ref": [
      "r138",
      "r393"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy.",
        "label": "Business Combinations Policy [Policy Text Block]",
        "terseLabel": "Business combination"
       }
      }
     },
     "localname": "BusinessCombinationsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CapitalExpendituresIncurredButNotYetPaid": {
     "auth_ref": [
      "r134",
      "r135",
      "r136"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred.",
        "label": "Capital Expenditures Incurred but Not yet Paid",
        "terseLabel": "Property, plant and equipment costs included in other payables"
       }
      }
     },
     "localname": "CapitalExpendituresIncurredButNotYetPaid",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalLeasesFutureMinimumPaymentsDue": {
     "auth_ref": [
      "r477"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of minimum lease payments for capital leases.",
        "label": "Capital Leases, Future Minimum Payments Due",
        "totalLabel": "Total future minimum lease payments"
       }
      }
     },
     "localname": "CapitalLeasesFutureMinimumPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalLeasesFutureMinimumPaymentsDueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Capital Leases, Future Minimum Payments Due, Fiscal Year Maturity [Abstract]",
        "verboseLabel": "Year Ending December 31:"
       }
      }
     },
     "localname": "CapitalLeasesFutureMinimumPaymentsDueAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CapitalLeasesFutureMinimumPaymentsDueCurrent": {
     "auth_ref": [
      "r477"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_CapitalLeasesFutureMinimumPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of minimum lease payments for capital leases 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.",
        "label": "Capital Leases, Future Minimum Payments Due, Next Twelve Months",
        "terseLabel": "2019"
       }
      }
     },
     "localname": "CapitalLeasesFutureMinimumPaymentsDueCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalLeasesFutureMinimumPaymentsDueInFourYears": {
     "auth_ref": [
      "r477"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_CapitalLeasesFutureMinimumPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of minimum lease payments for capital leases due in the fourth 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.",
        "label": "Capital Leases, Future Minimum Payments Due in Four Years",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "CapitalLeasesFutureMinimumPaymentsDueInFourYears",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalLeasesFutureMinimumPaymentsDueInThreeYears": {
     "auth_ref": [
      "r477"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_CapitalLeasesFutureMinimumPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of minimum lease payments for capital leases due in the third 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.",
        "label": "Capital Leases, Future Minimum Payments Due in Three Years",
        "terseLabel": "2021"
       }
      }
     },
     "localname": "CapitalLeasesFutureMinimumPaymentsDueInThreeYears",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalLeasesFutureMinimumPaymentsDueInTwoYears": {
     "auth_ref": [
      "r477"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_CapitalLeasesFutureMinimumPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of minimum lease payments for capital leases 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.",
        "label": "Capital Leases, Future Minimum Payments Due in Two Years",
        "terseLabel": "2020"
       }
      }
     },
     "localname": "CapitalLeasesFutureMinimumPaymentsDueInTwoYears",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments": {
     "auth_ref": [
      "r477"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_CapitalLeasesFutureMinimumPaymentsDue",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount necessary to reduce net minimum lease payments to present value for capital leases.",
        "label": "Capital Leases, Future Minimum Payments, Interest Included in Payments",
        "terseLabel": "Less: imputed interest"
       }
      }
     },
     "localname": "CapitalLeasesFutureMinimumPaymentsInterestIncludedInPayments",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments": {
     "auth_ref": [
      "r477"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_CapitalLeasesFutureMinimumPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Present value of minimum lease payments for capital leases net of executory costs, including amounts paid by the lessee to the lessor for insurance, maintenance and taxes.",
        "label": "Capital Leases, Future Minimum Payments, Present Value of Net Minimum Payments",
        "terseLabel": "NPV for future minimum lease payments"
       }
      }
     },
     "localname": "CapitalLeasesFutureMinimumPaymentsPresentValueOfNetMinimumPayments",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalUnitClassAMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Class A of capital units, which are a type of ownership interest in a corporation.",
        "label": "Capital Unit Class A [Member]",
        "terseLabel": "Class A membership interests"
       }
      }
     },
     "localname": "CapitalUnitClassAMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CapitalUnitClassBMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Class B of capital units, which are a type of ownership interest in a corporation.",
        "label": "Capital Unit Class B [Member]",
        "terseLabel": "Class B membership interests"
       }
      }
     },
     "localname": "CapitalUnitClassBMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CapitalUnitClassDomain": {
     "auth_ref": [
      "r572"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Description of the type or class of capital units or capital shares.",
        "label": "Capital Unit Class [Domain]",
        "terseLabel": "Capital Unit, Class [Domain]"
       }
      }
     },
     "localname": "CapitalUnitClassDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CapitalUnitsByClassAxis": {
     "auth_ref": [
      "r571",
      "r573"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by type or class of the entity's capital units.",
        "label": "Capital Units by Class [Axis]"
       }
      }
     },
     "localname": "CapitalUnitsByClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r3",
      "r43",
      "r131"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash and cash equivalents",
        "terseLabel": "Cash and cash equivalents",
        "verboseLabel": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy": {
     "auth_ref": [
      "r14",
      "r132",
      "r138",
      "r523"
     ],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]",
        "terseLabel": "Cash and cash equivalents and restricted cash"
       }
      }
     },
     "localname": "CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r125",
      "r131",
      "r137"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents",
        "periodEndLabel": "Cash, cash equivalents and restricted cash at the end of the year",
        "periodStartLabel": "Cash, cash equivalents and restricted cash at the beginning of the year",
        "totalLabel": "Total cash and cash equivalents, and restricted cash shown in the statements of cash flows"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "auth_ref": [
      "r125",
      "r463"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash and Cash Equivalents, Period Increase (Decrease)",
        "totalLabel": "Net increase (decrease) in cash, cash equivalents and restricted cash"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashFlowHedgingMember": {
     "auth_ref": [
      "r429"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Hedge of the exposure to variability in the cash flows of a recognized asset or liability, or of a forecasted transaction, that is attributable to a particular risk.",
        "label": "Cash Flow Hedging [Member]",
        "terseLabel": "Cash flow hedge"
       }
      }
     },
     "localname": "CashFlowHedgingMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommitmentsAndContingencies": {
     "auth_ref": [
      "r61",
      "r265",
      "r534",
      "r558"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Commitments and Contingencies.",
        "terseLabel": "Commitments and contingencies (Note 21)"
       }
      }
     },
     "localname": "CommitmentsAndContingencies",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "COMMITMENTS AND CONTINGENCIES"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r264",
      "r274"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "COMMITMENTS AND CONTINGENCIES"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommitmentsAndContingenciesPolicyTextBlock": {
     "auth_ref": [
      "r138",
      "r282",
      "r579",
      "r580"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for commitments and contingencies, which may include policies for recognizing and measuring loss and gain contingencies.",
        "label": "Commitments and Contingencies, Policy [Policy Text Block]",
        "terseLabel": "Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock [Member]",
        "terseLabel": "Common Shares"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r26"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common Stock, Par or Stated Value Per Share",
        "terseLabel": "Common share, par value (in dollars per share)"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r26"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.",
        "label": "Common Stock, Shares, Issued",
        "periodEndLabel": "Balance (in shares)",
        "periodStartLabel": "Balance (in shares)",
        "terseLabel": "Common shares, shares issued (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r26",
      "r293"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "Common Stock, Shares, Outstanding",
        "terseLabel": "Common shares, shares outstanding (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r26"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Common Stock, Value, Issued",
        "terseLabel": "Common shares - no par value: unlimited authorized shares, 59,180,624 and 59,371,684 shares issued and outstanding at December 31, 2018 and 2019, respectively",
        "verboseLabel": "Common shares - no par value: unlimited authorized shares, 59,180,624 and 59,371,684 shares issued and outstanding at December 31, 2018 and 2019, respectively"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CompensationAndRetirementDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "EMPLOYEE BENEFIT PLANS"
       }
      }
     },
     "localname": "CompensationAndRetirementDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Components of Deferred Tax Assets and Liabilities [Abstract]",
        "terseLabel": "Principal components of deferred income tax assets"
       }
      }
     },
     "localname": "ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Components of Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Total income tax expense"
       }
      }
     },
     "localname": "ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "auth_ref": [
      "r83",
      "r85",
      "r86"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "totalLabel": "Comprehensive income attributable to Canadian Solar Inc."
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r83",
      "r85",
      "r402",
      "r403",
      "r419"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Comprehensive (Income) Loss, Net of Tax, Attributable to Noncontrolling Interest",
        "terseLabel": "Less: comprehensive income (loss) attributable to non-controlling interests"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r83",
      "r85",
      "r401",
      "r419"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners.",
        "label": "Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest",
        "totalLabel": "Comprehensive income"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComprehensiveIncomePolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for comprehensive income.",
        "label": "Comprehensive Income, Policy [Policy Text Block]",
        "terseLabel": "Comprehensive income"
       }
      }
     },
     "localname": "ComprehensiveIncomePolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ComputerSoftwareIntangibleAssetMember": {
     "auth_ref": [
      "r241",
      "r244",
      "r396"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program, control module or operating system, that perform one or more particular functions or tasks.",
        "label": "Computer Software Intangible Asset [Member]",
        "terseLabel": "Computer software"
       }
      }
     },
     "localname": "ComputerSoftwareIntangibleAssetMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "auth_ref": [
      "r183",
      "r184",
      "r456",
      "r457"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.",
        "label": "Concentration Risk Benchmark [Domain]",
        "terseLabel": "Concentration Risk Benchmark [Domain]"
       }
      }
     },
     "localname": "ConcentrationRiskBenchmarkDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "auth_ref": [
      "r183",
      "r184",
      "r456",
      "r457",
      "r570"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by benchmark of concentration risk.",
        "label": "Concentration Risk Benchmark [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "auth_ref": [
      "r183",
      "r184",
      "r456",
      "r457",
      "r570"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.",
        "label": "Concentration Risk Type [Axis]"
       }
      }
     },
     "localname": "ConcentrationRiskByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "auth_ref": [
      "r178",
      "r543"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for credit risk.",
        "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]",
        "terseLabel": "Concentration of credit risk"
       }
      }
     },
     "localname": "ConcentrationRiskCreditRisk",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "auth_ref": [
      "r183",
      "r184",
      "r456",
      "r457"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.",
        "label": "Concentration Risk, Percentage",
        "terseLabel": "Concentration risk (as a percent)"
       }
      }
     },
     "localname": "ConcentrationRiskPercentage1",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ConcentrationRiskTable": {
     "auth_ref": [
      "r181",
      "r183",
      "r184",
      "r185",
      "r456",
      "r458"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.",
        "label": "Concentration Risk [Table]"
       }
      }
     },
     "localname": "ConcentrationRiskTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "auth_ref": [
      "r183",
      "r184",
      "r456",
      "r457"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.",
        "label": "Concentration Risk Type [Domain]",
        "terseLabel": "Concentration Risk Type [Domain]"
       }
      }
     },
     "localname": "ConcentrationRiskTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock": {
     "auth_ref": [
      "r151",
      "r398"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for condensed financial information, including the financial position, cash flows, and the results of operations of the registrant (parent company) as of the same dates or for the same periods for which audited consolidated financial statements are being presented. Alternatively, the details of this disclosure can be reported by the specific parent company taxonomy elements, indicating the appropriate date and period contexts in an instance document.",
        "label": "Condensed Financial Information of Parent Company Only Disclosure [Text Block]",
        "terseLabel": "Additional Information - Financial Statement Schedule I"
       }
      }
     },
     "localname": "CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAdditionalInformationFinancialStatementScheduleI"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "auth_ref": [
      "r138",
      "r406",
      "r420",
      "r421"
     ],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Consolidation, Policy [Policy Text Block]",
        "terseLabel": "Basis of consolidation"
       }
      }
     },
     "localname": "ConsolidationPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ConstructionInProgressGross": {
     "auth_ref": [
      "r253"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.",
        "label": "Construction in Progress, Gross",
        "terseLabel": "Construction in process"
       }
      }
     },
     "localname": "ConstructionInProgressGross",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "auth_ref": [
      "r305"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of contract balances and changes in contract balances.",
        "label": "Contract with Customer, Asset and Liability [Table Text Block]",
        "terseLabel": "Schedule of contract assets and contract liabilities"
       }
      }
     },
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ContractWithCustomerAssetNetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Contract with Customer, Asset, Net [Abstract]",
        "terseLabel": "Contract Assets"
       }
      }
     },
     "localname": "ContractWithCustomerAssetNetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ContractWithCustomerLiability": {
     "auth_ref": [
      "r303",
      "r304",
      "r310"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "Contract with Customer, Liability",
        "totalLabel": "Contract liability"
       }
      }
     },
     "localname": "ContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Contract with Customer, Liability [Abstract]",
        "terseLabel": "Contract Liabilities"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "auth_ref": [
      "r303",
      "r304",
      "r310"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 8.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Customer Advances, Current",
        "terseLabel": "Advances from customers"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "auth_ref": [
      "r311"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.",
        "label": "Contract with Customer, Liability, Revenue Recognized",
        "terseLabel": "Revenue recognized from beginning balance of contract liabilities"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConvertibleDebtMember": {
     "auth_ref": [
      "r288"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Borrowing which can be exchanged for a specified number of another security at the option of the issuer or the holder, for example, but not limited to, the entity's common stock.",
        "label": "Convertible Debt [Member]",
        "terseLabel": "2014 Notes"
       }
      }
     },
     "localname": "ConvertibleDebtMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ConvertibleLongTermNotesPayable": {
     "auth_ref": [
      "r58"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of long-term debt (with maturities initially due after one year or beyond the operating cycle if longer) identified as Convertible Notes Payable, excluding current portion. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder.",
        "label": "Convertible Notes Payable, Noncurrent",
        "terseLabel": "Convertible notes"
       }
      }
     },
     "localname": "ConvertibleLongTermNotesPayable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConvertibleNotesPayableCurrent": {
     "auth_ref": [
      "r54"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of the portion of long-term debt due within one year or the operating cycle if longer identified as Convertible Notes Payable. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder.",
        "label": "Convertible Notes Payable, Current",
        "terseLabel": "Convertible notes",
        "verboseLabel": "Carrying value of convertible notes"
       }
      }
     },
     "localname": "ConvertibleNotesPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r102"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.",
        "label": "Cost of Goods and Services Sold",
        "terseLabel": "Cost of revenues",
        "totalLabel": "Total cost of revenues"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSoldAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Cost of Goods and Services Sold [Abstract]",
        "verboseLabel": "Cost of revenues:"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSoldAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CostsAndExpensesRelatedParty": {
     "auth_ref": [
      "r103"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Costs of sales and operating expenses for the period incurred from transactions with related parties.",
        "label": "Costs and Expenses, Related Party",
        "terseLabel": "Purchase cost incurred from related party"
       }
      }
     },
     "localname": "CostsAndExpensesRelatedParty",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CreditConcentrationRiskMember": {
     "auth_ref": [
      "r458"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Reflects the percentage that a specified receivable or amount at risk from a counterparty under a contractual arrangement is to a specified benchmark, such as total receivables, net revenues, pretax results. Risk is the materially adverse effects of loss attributable to (a) the failure to collect a significant receivable from a major customer or group of homogeneous accounts, or (b) a failure by a counterparty to perform under terms of a contractual arrangement.",
        "label": "Credit Concentration Risk [Member]",
        "terseLabel": "Accounts receivable balances"
       }
      }
     },
     "localname": "CreditConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CreditFacilityAxis": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Axis]"
       }
      }
     },
     "localname": "CreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CreditFacilityDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Domain]",
        "terseLabel": "Credit Facility [Domain]"
       }
      }
     },
     "localname": "CreditFacilityDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CumulativeEffectOnRetainedEarningsTax1": {
     "auth_ref": [
      "r158"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of the related income tax effect of a cumulative effect on retained earnings.",
        "label": "Cumulative Effect on Retained Earnings, Tax",
        "negatedLabel": "Cumulative-effect adjustment for the adoption of ASU 2014-09"
       }
      }
     },
     "localname": "CumulativeEffectOnRetainedEarningsTax1",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r140",
      "r381",
      "r386"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.",
        "label": "Current Income Tax Expense (Benefit)",
        "terseLabel": "Current tax"
       }
      }
     },
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Current Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Current tax"
       }
      }
     },
     "localname": "CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "auth_ref": [
      "r182"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.",
        "label": "Customer Concentration Risk [Member]",
        "terseLabel": "Customer concentration risk"
       }
      }
     },
     "localname": "CustomerConcentrationRiskMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "BORROWINGS"
       }
      }
     },
     "localname": "DebtDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "auth_ref": [
      "r292"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.",
        "label": "Debt Disclosure [Text Block]",
        "terseLabel": "BORROWINGS"
       }
      }
     },
     "localname": "DebtDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowings"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DebtInstrumentAnnualPrincipalPayment": {
     "auth_ref": [
      "r21"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of the total principal payments made during the annual reporting period.",
        "label": "Debt Instrument, Annual Principal Payment",
        "verboseLabel": "Conversion rate initial principal amount"
       }
      }
     },
     "localname": "DebtInstrumentAnnualPrincipalPayment",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentConvertibleConversionPrice1": {
     "auth_ref": [
      "r290"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The price per share of the conversion feature embedded in the debt instrument.",
        "label": "Debt Instrument, Convertible, Conversion Price",
        "verboseLabel": "Conversion price (in dollars per share)"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleConversionPrice1",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_DebtInstrumentConvertibleConversionRatio1": {
     "auth_ref": [
      "r57",
      "r294",
      "r295",
      "r297"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Ratio applied to the conversion of debt instrument into equity with equity shares divided by debt principal amount.",
        "label": "Debt Instrument, Convertible, Conversion Ratio",
        "verboseLabel": "Conversion rate"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleConversionRatio1",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Threshold period of specified consecutive trading days within which common stock price to conversion price of convertible debt instrument must exceed threshold percentage for specified number of trading days to trigger conversion feature.",
        "label": "Debt Instrument, Convertible, Threshold Consecutive Trading Days",
        "terseLabel": "Period of consecutive trading days that the threshold of trading days must fall within for trigger of redemption at Company's option"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleThresholdConsecutiveTradingDays1",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Minimum percentage of common stock price to conversion price of convertible debt instruments to determine eligibility of conversion.",
        "label": "Debt Instrument, Convertible, Threshold Percentage of Stock Price Trigger",
        "terseLabel": "Sales price of common stock as percentage of conversion price for redemption at Company's option"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentConvertibleThresholdTradingDays": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Threshold number of specified trading days that common stock price to conversion price of convertible debt instruments must exceed threshold percentage within a specified consecutive trading period to trigger conversion feature.",
        "label": "Debt Instrument, Convertible, Threshold Trading Days",
        "terseLabel": "Number of trading days that threshold percentage exceeds stock price for trigger of redemption at Company's option"
       }
      }
     },
     "localname": "DebtInstrumentConvertibleThresholdTradingDays",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_DebtInstrumentInterestRateEffectivePercentage": {
     "auth_ref": [
      "r56",
      "r291",
      "r472"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.",
        "label": "Debt Instrument, Interest Rate, Effective Percentage",
        "terseLabel": "Effective interest rate (as a percent)"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateEffectivePercentage",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "auth_ref": [
      "r56"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement.",
        "label": "Debt Instrument, Interest Rate, Stated Percentage",
        "terseLabel": "Interest rate (as a percent)"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Debt Instrument [Line Items]",
        "terseLabel": "BORROWINGS",
        "verboseLabel": "CONVERTIBLE NOTES"
       }
      }
     },
     "localname": "DebtInstrumentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails",
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentTable": {
     "auth_ref": [
      "r58",
      "r145",
      "r294",
      "r296",
      "r297",
      "r298",
      "r471",
      "r472",
      "r474",
      "r541"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Schedule of Long-term Debt Instruments [Table]"
       }
      }
     },
     "localname": "DebtInstrumentTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails",
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtLongtermAndShorttermCombinedAmount": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the aggregate of total long-term debt, including current maturities and short-term debt.",
        "label": "Debt, Long-term and Short-term, Combined Amount",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "DebtLongtermAndShorttermCombinedAmount",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Debt, Long-term and Short-term, Combined Amount [Abstract]",
        "terseLabel": "BANK BORROWINGS"
       }
      }
     },
     "localname": "DebtLongtermAndShorttermCombinedAmountAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredFinanceCostsGross": {
     "auth_ref": [
      "r473"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, before accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.",
        "label": "Deferred Finance Costs, Gross",
        "terseLabel": "Unamortized issuance costs"
       }
      }
     },
     "localname": "DeferredFinanceCostsGross",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "auth_ref": [
      "r376"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.",
        "label": "Deferred Income Tax Assets, Net",
        "terseLabel": "Deferred tax assets",
        "verboseLabel": "Deferred tax assets, net"
       }
      }
     },
     "localname": "DeferredIncomeTaxAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r129",
      "r140",
      "r382",
      "r386"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred Income Tax Expense (Benefit)",
        "terseLabel": "Deferred tax"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Deferred tax"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilities": {
     "auth_ref": [
      "r23",
      "r24",
      "r372",
      "r527",
      "r544"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences.",
        "label": "Deferred Tax Liabilities, Gross",
        "totalLabel": "Total deferred tax liabilities"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "auth_ref": [
      "r360",
      "r376"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.",
        "label": "Deferred Income Tax Liabilities, Net",
        "negatedLabel": "Deferred tax liabilities",
        "terseLabel": "Deferred tax liabilities",
        "verboseLabel": "Deferred tax liabilities"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsGross": {
     "auth_ref": [
      "r373"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.",
        "label": "Deferred Tax Assets, Gross",
        "totalLabel": "Total deferred tax assets, gross"
       }
      }
     },
     "localname": "DeferredTaxAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsGrossAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Deferred Tax Assets, Gross [Abstract]",
        "terseLabel": "Deferred tax assets:"
       }
      }
     },
     "localname": "DeferredTaxAssetsGrossAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredTaxAssetsInventory": {
     "auth_ref": [
      "r354",
      "r379",
      "r380"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.",
        "label": "Deferred Tax Assets, Inventory",
        "terseLabel": "Inventory write-down"
       }
      }
     },
     "localname": "DeferredTaxAssetsInventory",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsLiabilitiesNet": {
     "auth_ref": [
      "r376"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting.",
        "label": "Deferred Tax Assets, Net",
        "totalLabel": "Net deferred tax assets"
       }
      }
     },
     "localname": "DeferredTaxAssetsLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "auth_ref": [
      "r374"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.",
        "label": "Deferred Tax Assets, Net of Valuation Allowance",
        "totalLabel": "Total deferred tax assets, net of valuation allowance"
       }
      }
     },
     "localname": "DeferredTaxAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": {
     "auth_ref": [
      "r352",
      "r379",
      "r380"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 8.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.",
        "label": "Deferred Tax Assets, Operating Loss Carryforwards",
        "terseLabel": "Net operating losses carry-forward"
       }
      }
     },
     "localname": "DeferredTaxAssetsOperatingLossCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsOther": {
     "auth_ref": [
      "r354",
      "r379",
      "r380"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 11.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.",
        "label": "Deferred Tax Assets, Other",
        "terseLabel": "Others"
       }
      }
     },
     "localname": "DeferredTaxAssetsOther",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from property, plant, and equipment.",
        "label": "Deferred Tax Assets, Property, Plant and Equipment",
        "terseLabel": "Depreciation and impairment difference of property, plant and equipment and solar power systems"
       }
      }
     },
     "localname": "DeferredTaxAssetsPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities": {
     "auth_ref": [
      "r352",
      "r379",
      "r380"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities.",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities",
        "terseLabel": "Accrued liabilities related to antidumping, countervailing and other duty costs and true-up charges"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts": {
     "auth_ref": [
      "r352",
      "r379",
      "r380"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from the allowance for doubtful accounts.",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Allowance for Doubtful Accounts",
        "terseLabel": "Bad debt allowance"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves": {
     "auth_ref": [
      "r352",
      "r379",
      "r380"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from warranty reserves.",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Warranty Reserves",
        "terseLabel": "Accrued warranty costs"
       }
      }
     },
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses": {
     "auth_ref": [
      "r353",
      "r379",
      "r380"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 9.0,
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from unrealized losses on foreign currency transactions.",
        "label": "Deferred Tax Assets, Unrealized Currency Losses",
        "terseLabel": "Unrealized foreign exchange loss and capital loss"
       }
      }
     },
     "localname": "DeferredTaxAssetsUnrealizedCurrencyLosses",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r375"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.",
        "label": "Deferred Tax Assets, Valuation Allowance",
        "negatedLabel": "Valuation allowance",
        "periodEndLabel": "End of the year",
        "periodStartLabel": "Beginning of the year"
       }
      }
     },
     "localname": "DeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Deferred Tax Liabilities, Gross [Abstract]",
        "terseLabel": "Analysis as:"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesDerivatives": {
     "auth_ref": [
      "r379",
      "r380"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from derivatives.",
        "label": "Deferred Tax Liabilities, Derivatives",
        "terseLabel": "Derivative assets"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesDerivatives",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesNetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Deferred Tax Liabilities, Net [Abstract]",
        "terseLabel": "Deferred tax liabilities:"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesNetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesOther": {
     "auth_ref": [
      "r354",
      "r379",
      "r380"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences classified as other.",
        "label": "Deferred Tax Liabilities, Other",
        "terseLabel": "Others"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesOther",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": {
     "auth_ref": [
      "r354",
      "r379",
      "r380"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment.",
        "label": "Deferred Tax Liabilities, Property, Plant and Equipment",
        "terseLabel": "Depreciation difference of property, plant and equipment"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains": {
     "auth_ref": [
      "r354",
      "r379",
      "r380"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from unrealized gains on foreign currency transactions.",
        "label": "Deferred Tax Liabilities, Unrealized Currency Transaction Gains",
        "verboseLabel": "Unrealized FX gain"
       }
      }
     },
     "localname": "DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries": {
     "auth_ref": [
      "r391"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of deferred tax liability not recognized because of the exceptions to comprehensive recognition of deferred taxes related to undistributed earnings of foreign subsidiaries.",
        "label": "Deferred Tax Liability Not Recognized, Amount of Unrecognized Deferred Tax Liability, Undistributed Earnings of Foreign Subsidiaries",
        "terseLabel": "Unrecognized deferred tax liabilities"
       }
      }
     },
     "localname": "DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedContributionPlanCostRecognized": {
     "auth_ref": [
      "r319"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cost for defined contribution plan.",
        "label": "Defined Contribution Plan, Cost Recognized",
        "terseLabel": "Defined contributions schemes expense"
       }
      }
     },
     "localname": "DefinedContributionPlanCostRecognized",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage of employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan.",
        "label": "Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay",
        "terseLabel": "Employer's contribution (as a percent)"
       }
      }
     },
     "localname": "DefinedContributionPlanEmployerMatchingContributionPercent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r129",
      "r252"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.",
        "label": "Depreciation",
        "terseLabel": "Depreciation expense"
       }
      }
     },
     "localname": "Depreciation",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "auth_ref": [
      "r129",
      "r195"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Depreciation, Depletion and Amortization",
        "terseLabel": "Depreciation and amortization"
       }
      }
     },
     "localname": "DepreciationDepletionAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeAssetsCurrent": {
     "auth_ref": [
      "r71"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 9.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, expected to be settled within one year or normal operating cycle, if longer. Includes assets not subject to a master netting arrangement and not elected to be offset.",
        "label": "Derivative Asset, Current",
        "terseLabel": "Derivative assets"
       }
      }
     },
     "localname": "DerivativeAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeAssetsNoncurrent": {
     "auth_ref": [
      "r71"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 11.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, expected to be settled after one year or the normal operating cycle, if longer. Includes assets not subject to a master netting arrangement and not elected to be offset.",
        "label": "Derivative Asset, Noncurrent",
        "terseLabel": "Derivative assets"
       }
      }
     },
     "localname": "DerivativeAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeContractTypeDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset.",
        "label": "Derivative Contract Type [Domain]",
        "terseLabel": "Derivative Contract [Domain]"
       }
      }
     },
     "localname": "DerivativeContractTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral": {
     "auth_ref": [
      "r71",
      "r72",
      "r74",
      "r445"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Fair value, after offset of derivative liability, of financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, before offset against an obligation to return collateral under a master netting arrangement. Includes assets elected not to be offset. Excludes assets not subject to a master netting arrangement.",
        "label": "Derivative Asset, Fair Value, Amount Not Offset Against Collateral",
        "terseLabel": "Total derivatives asset"
       }
      }
     },
     "localname": "DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral": {
     "auth_ref": [
      "r71",
      "r72",
      "r74",
      "r445"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Fair value, after offset of derivative asset, of financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, elected not to be and before offset against a right to receive collateral under a master netting arrangement. Includes liabilities elected not to be offset. Excludes liabilities not subject to a master netting arrangement.",
        "label": "Derivative Liability, Fair Value, Amount Not Offset Against Collateral",
        "terseLabel": "Total derivatives liability"
       }
      }
     },
     "localname": "DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeInstrumentRiskAxis": {
     "auth_ref": [
      "r433",
      "r434",
      "r438",
      "r442"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by type of derivative contract.",
        "label": "Derivative Instrument [Axis]"
       }
      }
     },
     "localname": "DerivativeInstrumentRiskAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis": {
     "auth_ref": [
      "r430",
      "r433",
      "r438"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by type of hedging relationship.",
        "label": "Hedging Relationship [Axis]"
       }
      }
     },
     "localname": "DerivativeInstrumentsGainLossByHedgingRelationshipAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable": {
     "auth_ref": [
      "r430",
      "r433",
      "r438",
      "r442",
      "r443",
      "r446",
      "r447"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of information about the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.",
        "label": "Derivative Instruments, Gain (Loss) [Table]"
       }
      }
     },
     "localname": "DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeInstrumentsGainLossLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Derivative Instruments, Gain (Loss) [Line Items]",
        "terseLabel": "Effect of derivative instruments on consolidated statements of operations"
       }
      }
     },
     "localname": "DerivativeInstrumentsGainLossLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet": {
     "auth_ref": [
      "r437",
      "r439"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of realized and unrealized gain (loss) of derivative instruments not designated or qualifying as hedging instruments.",
        "label": "Derivative Instruments Not Designated as Hedging Instruments, Gain (Loss), Net",
        "verboseLabel": "Gain (loss) on change in fair value of derivatives"
       }
      }
     },
     "localname": "DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeLiabilitiesCurrent": {
     "auth_ref": [
      "r71"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 9.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, expected to be settled within one year or normal operating cycle, if longer. Includes assets not subject to a master netting arrangement and not elected to be offset.",
        "label": "Derivative Liability, Current",
        "terseLabel": "Derivative liabilities"
       }
      }
     },
     "localname": "DerivativeLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeLiabilitiesNoncurrent": {
     "auth_ref": [
      "r71"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, expected to be settled after one year or the normal operating cycle, if longer. Includes assets not subject to a master netting arrangement and not elected to be offset.",
        "label": "Derivative Liability, Noncurrent",
        "terseLabel": "Derivative liabilities"
       }
      }
     },
     "localname": "DerivativeLiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeLiabilityNotionalAmount": {
     "auth_ref": [
      "r425",
      "r426",
      "r428"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Nominal or face amount used to calculate payments on the derivative liability.",
        "label": "Derivative Liability, Notional Amount",
        "terseLabel": "Notional amount"
       }
      }
     },
     "localname": "DerivativeLiabilityNotionalAmount",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeNotionalAmount": {
     "auth_ref": [
      "r426",
      "r428"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Nominal or face amount used to calculate payment on derivative.",
        "label": "Derivative, Notional Amount",
        "terseLabel": "Total notional"
       }
      }
     },
     "localname": "DerivativeNotionalAmount",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativesFairValueLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Derivatives, Fair Value [Line Items]",
        "terseLabel": "Effect of fair value of derivative instruments on the consolidated balance sheets"
       }
      }
     },
     "localname": "DerivativesFairValueLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativesPolicyTextBlock": {
     "auth_ref": [
      "r138",
      "r149",
      "r424",
      "r427",
      "r430",
      "r431",
      "r444"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for its derivative instruments and hedging activities.",
        "label": "Derivatives, Policy [Policy Text Block]",
        "terseLabel": "Derivatives instruments and hedging activity"
       }
      }
     },
     "localname": "DerivativesPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DesignatedAsHedgingInstrumentMember": {
     "auth_ref": [
      "r430"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Derivative instrument designated as hedging instrument under Generally Accepted Accounting Principles (GAAP).",
        "label": "Designated As Hedging Instrument [Member]",
        "terseLabel": "Designated as hedging instruments"
       }
      }
     },
     "localname": "DesignatedAsHedgingInstrumentMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DevelopedTechnologyRightsMember": {
     "auth_ref": [
      "r397"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property.",
        "label": "Developed Technology Rights [Member]",
        "terseLabel": "Technical know-how"
       }
      }
     },
     "localname": "DevelopedTechnologyRightsMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLossAttributableToParentDiluted",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) to net income used for calculating diluted earnings per share (EPS), resulting from the assumed exercise of dilutive convertible securities excluding adjustments related to ESOP convertible preferred stock, stock options, and restrictive stock units.",
        "label": "Dilutive Securities, Effect on Basic Earnings Per Share, Dilutive Convertible Securities",
        "terseLabel": "Dilutive effect of interest expense of convertible notes"
       }
      }
     },
     "localname": "DilutiveSecuritiesEffectOnBasicEarningsPerShareOther",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Disaggregation of Revenue [Line Items]",
        "terseLabel": "Revenue recognition:"
       }
      }
     },
     "localname": "DisaggregationOfRevenueLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Disaggregation of Revenue [Table]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "auth_ref": [
      "r309"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Disaggregation of Revenue [Table Text Block]",
        "terseLabel": "Schedule of disaggregation of revenue"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "auth_ref": [
      "r350"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for share-based payment arrangement.",
        "label": "Disclosure of Compensation Related Costs, Share-based Payments [Text Block]",
        "terseLabel": "SHARE-BASED COMPENSATION"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "SHARE-BASED COMPENSATION"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DiscontinuedOperationsPolicyTextBlock": {
     "auth_ref": [
      "r1",
      "r2",
      "r138",
      "r170"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for discontinued operations. Includes, but is not limited to, method of interest allocation to a discontinued operation.",
        "label": "Discontinued Operations, Policy [Policy Text Block]",
        "terseLabel": "Assets held-for-sale"
       }
      }
     },
     "localname": "DiscontinuedOperationsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DomesticCountryMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile.",
        "label": "Domestic Country [Member]",
        "terseLabel": "Canada"
       }
      }
     },
     "localname": "DomesticCountryMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DueFromRelatedPartiesCurrent": {
     "auth_ref": [
      "r6",
      "r15",
      "r27",
      "r141",
      "r500"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The aggregate amount of receivables to be collected from related parties where one party can exercise control or significant influence over another party; including affiliates, owners or officers and their immediate families, pension trusts, and so forth, at the financial statement date. which are usually due within one year (or one business cycle).",
        "label": "Due from Related Parties, Current",
        "positiveLabel": "Amounts due from subsidiaries",
        "terseLabel": "Amounts due from related parties",
        "verboseLabel": "Amount due from related party"
       }
      }
     },
     "localname": "DueFromRelatedPartiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DueToRelatedPartiesCurrent": {
     "auth_ref": [
      "r50",
      "r148",
      "r500"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of obligations due all related parties. For classified balance sheets, represents the current portion of such liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Due to Related Parties, Current",
        "terseLabel": "Amounts due to related parties",
        "verboseLabel": "Amounts due to related parties"
       }
      }
     },
     "localname": "DueToRelatedPartiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DueToRelatedPartiesNoncurrent": {
     "auth_ref": [
      "r59",
      "r148",
      "r500"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Portion of the carrying amount as of the balance sheet date of obligations due all related parties that is payable after one year or beyond the normal operating cycle if longer.",
        "label": "Amounts due to related parties",
        "terseLabel": "Amounts due to related parties"
       }
      }
     },
     "localname": "DueToRelatedPartiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "EARNINGS PER SHARE"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r94",
      "r157",
      "r163",
      "r166",
      "r167",
      "r168",
      "r172",
      "r538",
      "r562"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.",
        "label": "Earnings Per Share, Basic",
        "terseLabel": "Earnings per share - basic",
        "verboseLabel": "Basic earnings per share (in dollars per share)"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareBasicAndDilutedAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Earnings Per Share, Basic and Diluted [Abstract]",
        "terseLabel": "Computation of basic and diluted gain (loss) per share"
       }
      }
     },
     "localname": "EarningsPerShareBasicAndDilutedAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r94",
      "r157",
      "r163",
      "r166",
      "r167",
      "r168",
      "r172",
      "r538",
      "r562"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.",
        "label": "Earnings Per Share, Diluted",
        "terseLabel": "Earnings per share - diluted",
        "verboseLabel": "Diluted earnings per share (in dollars per share)"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "auth_ref": [
      "r138",
      "r169",
      "r170",
      "r171"
     ],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Earnings Per Share, Policy [Policy Text Block]",
        "terseLabel": "Earnings (loss) per share"
       }
      }
     },
     "localname": "EarningsPerSharePolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "auth_ref": [
      "r173"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for earnings per share.",
        "label": "Earnings Per Share [Text Block]",
        "terseLabel": "EARNINGS PER SHARE"
       }
      }
     },
     "localname": "EarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShare"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r463"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. 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.",
        "label": "Effect of Exchange Rate on Cash and Cash Equivalents, Continuing Operations",
        "terseLabel": "Effect of exchange rate changes"
       }
      }
     },
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "auth_ref": [
      "r147",
      "r361",
      "r362"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "totalLabel": "Actual income tax rate (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Percent [Abstract]",
        "terseLabel": "Reconciliation between the provision for income tax computed by applying Canadian federal and provincial statutory tax rates to income before income taxes and the actual provision and benefit for income taxes"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "auth_ref": [
      "r361",
      "r362",
      "r385"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.",
        "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent",
        "terseLabel": "Change in valuation allowance (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate": {
     "auth_ref": [
      "r361",
      "r362",
      "r385"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the income tax rates.",
        "label": "Effective Income Tax Rate Reconciliation, Change in Enacted Tax Rate, Percent",
        "terseLabel": "Effect of change in tax rate"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential": {
     "auth_ref": [
      "r361",
      "r362",
      "r385"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile.",
        "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent",
        "terseLabel": "Effect of different tax rate on earnings in other jurisdictions (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": {
     "auth_ref": [
      "r361",
      "r362",
      "r385"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": 8.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.",
        "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Percent",
        "terseLabel": "Others (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies": {
     "auth_ref": [
      "r361",
      "r362",
      "r385"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to income tax contingencies. Includes, but not limited to, domestic tax contingency, foreign tax contingency, state and local tax contingency, and other contingencies.",
        "label": "Effective Income Tax Rate Reconciliation, Tax Contingency, Percent",
        "terseLabel": "Unrecognized tax provision (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationTaxContingencies",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays": {
     "auth_ref": [
      "r361",
      "r362",
      "r385"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": -1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to income exempt from income tax because of a tax holiday.",
        "label": "Effective Income Tax Rate Reconciliation, Tax Holiday, Percent",
        "negatedLabel": "Effect of tax holiday (as a percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationTaxHolidays",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ElectricGenerationEquipmentMember": {
     "auth_ref": [
      "r253"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Equipment used for the primary purpose of generating electricity to be distributed to the consumer.",
        "label": "Electric Generation Equipment [Member]",
        "terseLabel": "Solar power systems"
       }
      }
     },
     "localname": "ElectricGenerationEquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ElectricityMember": {
     "auth_ref": [
      "r312"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Generation, transmission and distribution of electric energy.",
        "label": "Electricity [Member]",
        "terseLabel": "Electricity"
       }
      }
     },
     "localname": "ElectricityMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized [Abstract]",
        "terseLabel": "Options to Employees"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "auth_ref": [
      "r344"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition",
        "terseLabel": "Weighted-average period of recognition of compensation expense"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": {
     "auth_ref": [
      "r344"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Share-based Awards Other than Options",
        "terseLabel": "Total unrecognized share-based compensation costs"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeStockOptionMember": {
     "auth_ref": [
      "r342"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.",
        "label": "Employee Stock Option [Member]",
        "terseLabel": "Options"
       }
      }
     },
     "localname": "EmployeeStockOptionMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Revenue from External Customer [Line Items]",
        "terseLabel": "Revenues generated from each product"
       }
      }
     },
     "localname": "EntityWideInformationRevenueFromExternalCustomerLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EntityWideRevenueMajorCustomerLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Revenue, Major Customer [Line Items]",
        "terseLabel": "Major Customers"
       }
      }
     },
     "localname": "EntityWideRevenueMajorCustomerLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r293"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.",
        "label": "Equity Component [Domain]",
        "terseLabel": "Equity Component [Domain]"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityMethodInvestmentOtherThanTemporaryImpairment": {
     "auth_ref": [
      "r221"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This item represents an other than temporary decline in value that has been recognized against an investment accounted for under the equity method of accounting. The excess of the carrying amount over the fair value of the investment represents the amount of the write down which is or was reflected in earnings. The written down value is a new cost basis with the adjusted value of the investment becoming its new carrying value subject to the equity accounting method. Evidence of a loss in value might include, but would not necessarily be limited to, absence of an ability to recover the carrying amount of the investment or inability of the investee to sustain an earnings capacity which would justify the carrying amount of the investment.",
        "label": "Equity Method Investment, Other than Temporary Impairment",
        "terseLabel": "Value wrote down"
       }
      }
     },
     "localname": "EquityMethodInvestmentOtherThanTemporaryImpairment",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquityMethodInvestmentOwnershipPercentage": {
     "auth_ref": [
      "r223"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.",
        "label": "Equity Method Investment, Ownership Percentage",
        "terseLabel": "Ownership percentage",
        "verboseLabel": "Membership interests owned (as a percent)"
       }
      }
     },
     "localname": "EquityMethodInvestmentOwnershipPercentage",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal": {
     "auth_ref": [
      "r97",
      "r98",
      "r129"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of an equity method investment.",
        "label": "Equity Method Investment, Realized Gain (Loss) on Disposal",
        "negatedLabel": "Gain on disposal of investment in affiliates",
        "verboseLabel": "Gain on disposal of investment in affiliates"
       }
      }
     },
     "localname": "EquityMethodInvestmentRealizedGainLossOnDisposal",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquityMethodInvestments": {
     "auth_ref": [
      "r44",
      "r199",
      "r222"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 8.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses recognized.",
        "label": "Equity Method Investments",
        "terseLabel": "Investments in affiliates"
       }
      }
     },
     "localname": "EquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquityMethodInvestmentsDisclosureTextBlock": {
     "auth_ref": [
      "r227",
      "r422"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for equity method investments and joint ventures. Equity method investments are investments that give the investor the ability to exercise significant influence over the operating and financial policies of an investee. Joint ventures are entities owned and operated by a small group of businesses as a separate and specific business or project for the mutual benefit of the members of the group.",
        "label": "Equity Method Investments and Joint Ventures Disclosure [Text Block]",
        "terseLabel": "INVESTMENTS IN AFFILIATES"
       }
      }
     },
     "localname": "EquityMethodInvestmentsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliates"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EquityMethodInvestmentsPolicy": {
     "auth_ref": [
      "r44",
      "r124",
      "r138",
      "r224",
      "r459"
     ],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Equity Method Investments, Policy [Policy Text Block]",
        "terseLabel": "Investments in affiliates"
       }
      }
     },
     "localname": "EquityMethodInvestmentsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EquityMethodInvestmentsTextBlock": {
     "auth_ref": [
      "r226"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of equity method investments including, but not limited to, name of each investee or group of investments, percentage ownership, difference between recorded amount of an investment and the value of the underlying equity in the net assets, and summarized financial information.",
        "label": "Equity Method Investments [Table Text Block]",
        "terseLabel": "Schedule of investments in affiliates"
       }
      }
     },
     "localname": "EquityMethodInvestmentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]",
        "terseLabel": "Fair value measurements of the entity's assets or liabilities that are measured at fair value on a recurring basis"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": {
     "auth_ref": [
      "r448",
      "r449",
      "r450",
      "r453"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.",
        "label": "Fair Value Measurements, Recurring and Nonrecurring [Table]"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "FAIR VALUE MEASUREMENT"
       }
      }
     },
     "localname": "FairValueDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "auth_ref": [
      "r452"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.",
        "label": "Fair Value Disclosures [Text Block]",
        "terseLabel": "FAIR VALUE MEASUREMENT"
       }
      }
     },
     "localname": "FairValueDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurement"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss": {
     "auth_ref": [
      "r451"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 3.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of unrealized gain (loss) recognized in income for derivative asset (liability) after deduction of derivative liability (asset), measured at fair value using unobservable input (level 3) and still held.",
        "label": "Gain (Loss) on Derivative Instruments, Net, Pretax",
        "negatedLabel": "Loss on change in fair value of derivatives, net",
        "negatedTerseLabel": "Loss on change in fair value of derivatives",
        "positiveLabel": "Loss on change in fair value of derivatives, net"
       }
      }
     },
     "localname": "FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FairValueOfFinancialInstrumentsPolicy": {
     "auth_ref": [
      "r138",
      "r454",
      "r455"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments.",
        "label": "Fair Value of Financial Instruments, Policy [Policy Text Block]",
        "terseLabel": "Fair value of financial instruments"
       }
      }
     },
     "localname": "FairValueOfFinancialInstrumentsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable": {
     "auth_ref": [
      "r432",
      "r436",
      "r446"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule that discloses the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position.",
        "label": "Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]"
       }
      }
     },
     "localname": "FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinanceLeaseInterestExpense": {
     "auth_ref": [
      "r483",
      "r489",
      "r498"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of interest expense on finance lease liability.",
        "label": "Finance Lease, Interest Expense",
        "terseLabel": "Interest on lease liabilities"
       }
      }
     },
     "localname": "FinanceLeaseInterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseInterestPaymentOnLiability": {
     "auth_ref": [
      "r486",
      "r492"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of interest paid on finance lease liability.",
        "label": "Finance Lease, Interest Payment on Liability",
        "terseLabel": "Operating cash flows from finance leases"
       }
      }
     },
     "localname": "FinanceLeaseInterestPaymentOnLiability",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilitiesGrossDifferenceAmountAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Finance Lease Liabilities, Gross Difference, Amount [Abstract]",
        "terseLabel": "Finance leases, gross difference"
       }
      }
     },
     "localname": "FinanceLeaseLiabilitiesGrossDifferenceAmountAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Finance Lease, Liability, Payment, Due [Abstract]",
        "terseLabel": "Maturities of finance leases"
       }
      }
     },
     "localname": "FinanceLeaseLiabilitiesPaymentsDueAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinanceLeaseLiability": {
     "auth_ref": [
      "r482",
      "r497"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease.",
        "label": "Finance Lease, Liability",
        "terseLabel": "NPV for future minimum lease payments",
        "totalLabel": "Total Finance lease liabilities"
       }
      }
     },
     "localname": "FinanceLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityCurrent": {
     "auth_ref": [
      "r482"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FinanceLeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current.",
        "label": "Finance Lease, Liability, Current",
        "verboseLabel": "Finance lease liabilities, current"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r482"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_FinanceLeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent.",
        "label": "Finance Lease, Liability, Noncurrent",
        "verboseLabel": "Finance lease liabilities, noncurrent"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r497"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease.",
        "label": "Finance Lease, Liability, Payment, Due",
        "totalLabel": "Total future minimum lease payments"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r497"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease, due in next fiscal year following latest fiscal year.",
        "label": "Finance Lease, Liability, Payments, Due Next Twelve Months",
        "terseLabel": "2020"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r497"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease, due in third fiscal year following latest fiscal year.",
        "label": "Finance Lease, Liability, Payments, Due Year Three",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r497"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease, due in second fiscal year following latest fiscal year.",
        "label": "Finance Lease, Liability, Payments, Due Year Two",
        "terseLabel": "2021"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r497"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease.",
        "label": "Finance Lease, Liability, Undiscounted Excess Amount",
        "terseLabel": "Less: imputed interest"
       }
      }
     },
     "localname": "FinanceLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeasePrincipalPayments": {
     "auth_ref": [
      "r485",
      "r492"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash outflow for principal payment on finance lease.",
        "label": "Finance Lease, Principal Payments",
        "negatedLabel": "Repayment of finance lease obligation"
       }
      }
     },
     "localname": "FinanceLeasePrincipalPayments",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseRightOfUseAssetAmortization": {
     "auth_ref": [
      "r483",
      "r489",
      "r498"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease.",
        "label": "Finance Lease, Right-of-Use Asset, Amortization",
        "terseLabel": "Amortization of right-of-use assets"
       }
      }
     },
     "localname": "FinanceLeaseRightOfUseAssetAmortization",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r495",
      "r498"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Weighted average discount rate for finance lease calculated at point in time.",
        "label": "Finance Lease, Weighted Average Discount Rate, Percent",
        "terseLabel": "Weighted average discount rate - operating lease"
       }
      }
     },
     "localname": "FinanceLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r494",
      "r498"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Weighted average remaining lease term for finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Finance Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Weighted average term - operating lease"
       }
      }
     },
     "localname": "FinanceLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Finite-Lived Intangible Asset, Useful Life",
        "terseLabel": "Amortization period"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "auth_ref": [
      "r245"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "negatedLabel": "Accumulated Amortization"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "auth_ref": [
      "r247"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during 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.",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months",
        "terseLabel": "2020"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "auth_ref": [
      "r247"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fourth 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.",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Four",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "auth_ref": [
      "r247"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the third 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.",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Three",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "auth_ref": [
      "r247"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during 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.",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Two",
        "terseLabel": "2021"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r241",
      "r242",
      "r245",
      "r248",
      "r509"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by major type or class of finite-lived intangible assets.",
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]",
        "terseLabel": "Expected amortization expense of intangible assets"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "auth_ref": [
      "r245",
      "r509"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Gross",
        "terseLabel": "Gross Carrying Amount"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Finite-Lived Intangible Assets [Line Items]",
        "terseLabel": "INTANGIBLE ASSETS, NET",
        "verboseLabel": "Intangible assets"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r241",
      "r244"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.",
        "label": "Finite Lived Intangible Assets Major Class Name [Domain]",
        "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "auth_ref": [
      "r245"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 9.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Net",
        "terseLabel": "Intangible assets, net",
        "totalLabel": "Total intangible assets, net"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsNetAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "INTANGIBLE ASSETS, NET"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsNetAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": {
     "auth_ref": [
      "r460",
      "r461",
      "r462"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 4.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount before tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.",
        "label": "Foreign Currency Transaction Gain (Loss), before Tax",
        "terseLabel": "Foreign exchange gain (loss)"
       }
      }
     },
     "localname": "ForeignCurrencyTransactionGainLossBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "auth_ref": [
      "r138",
      "r462",
      "r467"
     ],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]",
        "terseLabel": "Foreign currency translation"
       }
      }
     },
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ForeignExchangeForwardMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Foreign exchange forward traded on an exchange (examples include but are not limited to the International Securities Exchange, Philadelphia Stock Exchange, or the Chicago Mercantile Exchange) for options or future contracts to buy or sell a certain currency, at a specified date, at a fixed exercise exchange rate.",
        "label": "Foreign Exchange Forward [Member]",
        "terseLabel": "Foreign exchange forward contracts"
       }
      }
     },
     "localname": "ForeignExchangeForwardMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ForeignExchangeOptionMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "An option that allows the holder to buy (if call) or sell (if put) an underlying currency at a fixed exercise rate, expressed as an exchange, during a specified period (an American option) or at a specified date (a European option).",
        "label": "Foreign Exchange Option [Member]",
        "terseLabel": "Foreign exchange option contracts"
       }
      }
     },
     "localname": "ForeignExchangeOptionMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FurnitureAndFixturesMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases.",
        "label": "Furniture And Fixtures [Member]",
        "terseLabel": "Furniture, fixtures and equipment"
       }
      }
     },
     "localname": "FurnitureAndFixturesMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GainContingenciesByNatureAxis": {
     "auth_ref": [
      "r273"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by nature of gain contingency.",
        "label": "Gain Contingencies, Nature [Axis]"
       }
      }
     },
     "localname": "GainContingenciesByNatureAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GainContingenciesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Gain Contingencies [Line Items]",
        "terseLabel": "Principal accounting policies:"
       }
      }
     },
     "localname": "GainContingenciesLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GainContingenciesTable": {
     "auth_ref": [
      "r273"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Sets forth the existing conditions, situations, or sets of circumstances involving uncertainties as of the balance sheet date (or before issuance of the financial statements) that might result in a gain, typically reflecting care to avoid misleading implications as to the likelihood of realization, and previously disclosed contingent gains that were recognized as income in the period.",
        "label": "Gain Contingencies [Table]"
       }
      }
     },
     "localname": "GainContingenciesTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GainContingencyNatureDomain": {
     "auth_ref": [
      "r273"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Describes any existing condition, situation, or set of circumstances involving uncertainty as of the balance sheet date (or before issuance of the financial statements) that might result in a gain, typically reflecting care to avoid misleading implications as to the likelihood of realization.",
        "label": "Gain Contingency Nature [Domain]",
        "terseLabel": "Gain Contingency, Nature [Domain]"
       }
      }
     },
     "localname": "GainContingencyNatureDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GainLossOnInvestments": {
     "auth_ref": [
      "r106",
      "r129",
      "r220"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 5.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of realized and unrealized gain (loss) on investment.",
        "label": "Gain (Loss) on Investments",
        "terseLabel": "Investment income (loss)",
        "verboseLabel": "Investment loss"
       }
      }
     },
     "localname": "GainLossOnInvestments",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnSaleOfDerivatives": {
     "auth_ref": [
      "r129",
      "r539"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 24.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 37.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The difference between the book value and the sale price of options, swaps, futures, forward contracts, and other derivative instruments. This element refers to the gain (loss) included in earnings.",
        "label": "Gain (Loss) on Sale of Derivatives",
        "negatedLabel": "Net settlement of derivatives",
        "negatedTerseLabel": "Net settlement of derivatives"
       }
      }
     },
     "localname": "GainLossOnSaleOfDerivatives",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "auth_ref": [
      "r129"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.",
        "label": "Gain (Loss) on Disposition of Property Plant Equipment",
        "negatedLabel": "Loss on disposal of property, plant and equipment"
       }
      }
     },
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainOnBusinessInterruptionInsuranceRecovery": {
     "auth_ref": [
      "r109"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_OtherOperatingIncomeExpenseNet",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The net amount (to the extent disclosed within this portion of the income statement) by which an insurance settlement exceeds incremental costs incurred from the event causing an interruption of business, plus the insurance award for earnings lost from the event, such as a natural catastrophe, explosion or fire.",
        "label": "Gain on Business Interruption Insurance Recovery",
        "negatedLabel": "Business interruption insurance compensation"
       }
      }
     },
     "localname": "GainOnBusinessInterruptionInsuranceRecovery",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainOrLossOnSaleOfStockInSubsidiary": {
     "auth_ref": [
      "r97",
      "r98",
      "r129",
      "r536",
      "r563"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of equity in securities of subsidiaries.",
        "label": "Gain (Loss) on Disposition of Stock in Subsidiary",
        "terseLabel": "Loss on disposal of subsidiaries"
       }
      }
     },
     "localname": "GainOrLossOnSaleOfStockInSubsidiary",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r104"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.",
        "label": "General and Administrative Expense",
        "terseLabel": "General and administrative expenses"
       }
      }
     },
     "localname": "GeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Goodwill": {
     "auth_ref": [
      "r237",
      "r238"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 10.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill",
        "terseLabel": "Goodwill"
       }
      }
     },
     "localname": "Goodwill",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy": {
     "auth_ref": [
      "r138",
      "r243"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for intangible assets. This accounting policy may address both intangible assets subject to amortization and those that are not. The following also may be disclosed: (1) a description of intangible assets (2) the estimated useful lives of those assets (3) the amortization method used (4) how the entity assesses and measures impairment of such assets (5) how future cash flows are estimated (6) how the fair values of such asset are determined.",
        "label": "Goodwill and Intangible Assets, Intangible Assets, Policy [Policy Text Block]",
        "terseLabel": "Intangible assets"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsIntangibleAssetsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_GrantMember": {
     "auth_ref": [
      "r312"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Award of money not required to be repaid.",
        "label": "Grant [Member]",
        "terseLabel": "Government grants"
       }
      }
     },
     "localname": "GrantMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GranteeStatusAxis": {
     "auth_ref": [
      "r321",
      "r323",
      "r342"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by status of recipient to whom award is granted.",
        "label": "Grantee Status [Axis]"
       }
      }
     },
     "localname": "GranteeStatusAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GranteeStatusDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Status of recipient to whom award is granted.",
        "label": "Grantee Status [Domain]",
        "terseLabel": "Grantee Status [Domain]"
       }
      }
     },
     "localname": "GranteeStatusDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r101"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.",
        "label": "Gross Profit",
        "terseLabel": "Gross profit",
        "totalLabel": "Gross profit"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GuaranteeObligationsByNatureAxis": {
     "auth_ref": [
      "r278"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by nature of guarantee.",
        "label": "Guarantor Obligations, Nature [Axis]"
       }
      }
     },
     "localname": "GuaranteeObligationsByNatureAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GuaranteeObligationsNatureDomain": {
     "auth_ref": [
      "r277"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents a description of the nature of the guarantee or each group of similar guarantees.",
        "label": "Guarantee Obligations Nature [Domain]",
        "terseLabel": "Guarantor Obligations, Nature [Domain]"
       }
      }
     },
     "localname": "GuaranteeObligationsNatureDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_HedgingDesignationAxis": {
     "auth_ref": [
      "r430",
      "r443"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by designation of purpose of derivative instrument.",
        "label": "Hedging Designation [Axis]"
       }
      }
     },
     "localname": "HedgingDesignationAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_HedgingDesignationDomain": {
     "auth_ref": [
      "r430"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Designation of purpose of derivative instrument.",
        "label": "Hedging Designation [Domain]",
        "terseLabel": "Hedging Designation [Domain]"
       }
      }
     },
     "localname": "HedgingDesignationDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_HedgingRelationshipDomain": {
     "auth_ref": [
      "r430"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Nature or intent of a hedge.",
        "label": "Hedging Relationship [Domain]",
        "terseLabel": "Hedging Relationship [Domain]"
       }
      }
     },
     "localname": "HedgingRelationshipDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ImpairmentOfInvestments": {
     "auth_ref": [
      "r219"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount by which the fair value of an investment is less than the amortized cost basis or carrying amount of that investment at the balance sheet date and the decline in fair value is deemed to be other than temporary, before considering whether or not such amount is recognized in earnings or other comprehensive income.",
        "label": "Other than Temporary Impairment Losses, Investments",
        "verboseLabel": "Impairment of long-lived assets"
       }
      }
     },
     "localname": "ImpairmentOfInvestments",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": {
     "auth_ref": [
      "r138",
      "r250",
      "r258"
     ],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]",
        "terseLabel": "Impairment of long-lived assets"
       }
      }
     },
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r91",
      "r157",
      "r522",
      "r537",
      "r564"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, Noncontrolling Interest",
        "terseLabel": "Income before income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, Noncontrolling Interest [Abstract]",
        "terseLabel": "Income before income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments": {
     "auth_ref": [
      "r146"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_ProfitLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of income (loss) from continuing operations before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.",
        "label": "Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Extraordinary Items, Noncontrolling Interest",
        "terseLabel": "Income (loss) before income taxes and equity in earnings (loss) of subsidiaries and unconsolidated investees",
        "totalLabel": "Income before income taxes and equity in earnings of unconsolidated investees"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromEquityMethodInvestments": {
     "auth_ref": [
      "r92",
      "r129",
      "r196",
      "r222",
      "r535",
      "r561"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 3.0,
       "parentTag": "us-gaap_ProfitLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of income (loss) for proportionate share of equity method investee's income (loss).",
        "label": "Income (Loss) from Equity Method Investments",
        "negatedTerseLabel": "Equity in loss of unconsolidated investees",
        "terseLabel": "Equity in earnings (loss) of unconsolidated investees",
        "verboseLabel": "Equity in loss of unconsolidated investees"
       }
      }
     },
     "localname": "IncomeLossFromEquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF OPERATIONS"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "auth_ref": [
      "r256"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by location in the income statement.",
        "label": "Income Statement Location [Axis]"
       }
      }
     },
     "localname": "IncomeStatementLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Location in the income statement.",
        "label": "Income Statement Location [Domain]",
        "terseLabel": "Income Statement Location [Domain]"
       }
      }
     },
     "localname": "IncomeStatementLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxAuthorityAxis": {
     "auth_ref": [
      "r364"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by tax jurisdiction.",
        "label": "Income Tax Authority [Axis]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxAuthorityDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.",
        "label": "Income Tax Authority [Domain]",
        "terseLabel": "Income Tax Authority [Domain]"
       }
      }
     },
     "localname": "IncomeTaxAuthorityDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxContingencyLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Income Tax Contingency [Line Items]",
        "terseLabel": "Income taxes:"
       }
      }
     },
     "localname": "IncomeTaxContingencyLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxContingencyTable": {
     "auth_ref": [
      "r365",
      "r369",
      "r371",
      "r384"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of information about tax positions taken in the tax returns filed or to be filed for which it is more likely than not that the tax position will not be sustained upon examination by taxing authorities and other income tax contingencies. Includes, but is not limited to, interest and penalties, reconciliation of unrecognized tax benefits, unrecognized tax benefits that would affect the effective tax rate, tax years that remain subject to examination by tax jurisdictions, and information about positions for which it is reasonably possible that amounts unrecognized will significantly change within 12 months.",
        "label": "Income Tax Contingency [Table]"
       }
      }
     },
     "localname": "IncomeTaxContingencyTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "INCOME TAXES"
       }
      }
     },
     "localname": "IncomeTaxDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r392"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.",
        "label": "Income Tax Disclosure [Text Block]",
        "terseLabel": "INCOME TAXES"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r140",
      "r197",
      "r388"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_ProfitLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Income Tax Expense (Benefit)",
        "negatedLabel": "Income tax expense",
        "negatedTerseLabel": "Income tax (expense) benefit",
        "totalLabel": "Total income tax expense"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Provision for income taxes"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxHolidayAggregateDollarAmount": {
     "auth_ref": [
      "r387"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount of income taxes from which a reporting entity is exempt or for which it will receive a reduction in income taxes as a result of the income tax holiday granted by the taxing jurisdiction.",
        "label": "Income Tax Holiday, Aggregate Dollar Amount",
        "terseLabel": "The aggregate amount (in dollars)"
       }
      }
     },
     "localname": "IncomeTaxHolidayAggregateDollarAmount",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "auth_ref": [
      "r87",
      "r138",
      "r358",
      "r359",
      "r370",
      "r371",
      "r377",
      "r389",
      "r581"
     ],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Income Tax, Policy [Policy Text Block]",
        "terseLabel": "Income taxes"
       }
      }
     },
     "localname": "IncomeTaxPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "auth_ref": [
      "r133"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.",
        "label": "Income Taxes Paid, Net",
        "terseLabel": "Income taxes paid"
       }
      }
     },
     "localname": "IncomeTaxesPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableTrade": {
     "auth_ref": [
      "r128"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 17.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 25.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Change in recurring obligations of a business that arise from the acquisition of merchandise, materials, supplies and services used in the production and sale of goods and services.",
        "label": "Increase (Decrease) in Accounts Payable, Trade",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayableTrade",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r128"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 17.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.",
        "label": "Increase (Decrease) in Accounts Receivable",
        "negatedLabel": "Accounts receivable trade"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": {
     "auth_ref": [
      "r128"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 16.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Increase (Decrease) in Contract with Customer, Asset",
        "negatedLabel": "Accounts receivable, unbilled"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerAsset",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "auth_ref": [
      "r128"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 18.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 29.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "Increase (Decrease) in Customer Advances",
        "terseLabel": "Advances from customers"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDeferredIncomeTaxes": {
     "auth_ref": [
      "r128"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 23.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 36.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Increase (Decrease) in Deferred Income Taxes",
        "negatedLabel": "Deferred taxes"
       }
      }
     },
     "localname": "IncreaseDecreaseInDeferredIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent": {
     "auth_ref": [
      "r128"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 18.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The aggregate increase (decrease) during the reporting period in the amount due from the following types of related parties: a parent company and its subsidiaries; subsidiaries of a common parent; an entity and trust for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; an entity and its principal owners, management, or member of their immediate families, affiliates, or other parties with the ability to exert significant influence.",
        "label": "Increase (Decrease) in Due from Related Parties, Current",
        "negatedLabel": "Amounts due from related parties"
       }
      }
     },
     "localname": "IncreaseDecreaseInDueFromRelatedPartiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent": {
     "auth_ref": [
      "r128"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 19.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 27.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of obligations to be paid to the following types of related parties: a parent company and its subsidiaries; subsidiaries of a common parent; an entity and trust for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of the entities' management; an entity and its principal owners, management, or member of their immediate families, affiliates, or other parties with the ability to exert significant influence.",
        "label": "Increase (Decrease) in Due to Related Parties, Current",
        "terseLabel": "Amounts due to related parties"
       }
      }
     },
     "localname": "IncreaseDecreaseInDueToRelatedPartiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r128"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 19.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.",
        "label": "Increase (Decrease) in Inventories",
        "negatedLabel": "Inventories"
       }
      }
     },
     "localname": "IncreaseDecreaseInInventories",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInNotesPayableCurrent": {
     "auth_ref": [
      "r128"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 26.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in current portion (due within one year or one business cycle) of obligations evidenced by formal promissory notes.",
        "label": "Increase (Decrease) in Notes Payable, Current",
        "terseLabel": "Short-term notes payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInNotesPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Increase (Decrease) in Operating Capital [Abstract]",
        "terseLabel": "Changes in operating assets and liabilities:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherAccountsPayable": {
     "auth_ref": [
      "r128"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 28.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligations classified as other, payable within one year or the normal operating cycle, if longer.",
        "label": "Increase (Decrease) in Other Accounts Payable",
        "terseLabel": "Other payables"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets": {
     "auth_ref": [
      "r128"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 16.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 24.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in noncurrent assets classified as other.",
        "label": "Increase (Decrease) in Other Noncurrent Assets",
        "negatedLabel": "Other non-current assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherNoncurrentAssets",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities": {
     "auth_ref": [
      "r128"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 21.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 31.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in operating liabilities classified as other.",
        "label": "Increase (Decrease) in Other Operating Liabilities",
        "terseLabel": "Other liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherOperatingLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "auth_ref": [
      "r128"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 15.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 23.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.",
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "negatedLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]",
        "terseLabel": "Increase (Decrease) in Stockholders' Equity"
       }
      }
     },
     "localname": "IncreaseDecreaseInStockholdersEquityRollForward",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities": {
     "auth_ref": [
      "r165",
      "r170"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of convertible debt securities using the if-converted method.",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Conversion of Debt Securities",
        "terseLabel": "Dilutive effects of share number from convertible notes"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToConversionOfDebtSecurities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "auth_ref": [
      "r164",
      "r170"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements",
        "terseLabel": "Diluted effects of share number from share options and RSUs"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_InsuranceSettlementMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A potential recovery of a loss for which a claim was filed with an insurer.",
        "label": "Insurance Settlement [Member]",
        "terseLabel": "Allowance for doubtful receivables"
       }
      }
     },
     "localname": "InsuranceSettlementMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_InsuranceSettlementsReceivableNoncurrent": {
     "auth_ref": [
      "r48"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying amount due after one year of the balance sheet date (or one operating cycle, if longer) of amount due in settlement of a claim for reimbursement from an insurance company when the Company has suffered a loss covered under an insurance policy.",
        "label": "Insurance Settlements Receivable, Noncurrent",
        "terseLabel": "Insurance receivable"
       }
      }
     },
     "localname": "InsuranceSettlementsReceivableNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IntangibleAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r249"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for all or part of the information related to intangible assets.",
        "label": "Intangible Assets Disclosure [Text Block]",
        "terseLabel": "INTANGIBLE ASSETS, NET"
       }
      }
     },
     "localname": "IntangibleAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNet"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InterestCapitalizationPolicyPolicyTextBlock": {
     "auth_ref": [
      "r470"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for interest capitalization.",
        "label": "Interest Capitalization, Policy [Policy Text Block]",
        "terseLabel": "Interest capitalization"
       }
      }
     },
     "localname": "InterestCapitalizationPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InterestCostsIncurred": {
     "auth_ref": [
      "r469"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Total interest costs incurred during the period and either capitalized or charged against earnings.",
        "label": "Interest Costs Incurred",
        "totalLabel": "Total interest incurred"
       }
      }
     },
     "localname": "InterestCostsIncurred",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestCostsIncurredAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Interest Costs Incurred [Abstract]",
        "terseLabel": "Interest expense"
       }
      }
     },
     "localname": "InterestCostsIncurredAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InterestExpense": {
     "auth_ref": [
      "r89",
      "r194",
      "r468",
      "r473",
      "r540"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.",
        "label": "Interest Expense",
        "negatedLabel": "Interest expense",
        "terseLabel": "Interest expense"
       }
      }
     },
     "localname": "InterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestExpenseDebtExcludingAmortization": {
     "auth_ref": [
      "r108"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the portion of interest incurred in the period on debt arrangements that was charged against earnings, excluding amortization of debt discount (premium) and financing costs.",
        "label": "Interest Expense, Debt, Excluding Amortization",
        "verboseLabel": "Interest expense"
       }
      }
     },
     "localname": "InterestExpenseDebtExcludingAmortization",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPaidNet": {
     "auth_ref": [
      "r121",
      "r126",
      "r133"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.",
        "label": "Interest Paid, Net",
        "terseLabel": "Interest paid (net of amounts capitalized)",
        "verboseLabel": "Interest paid (net of amounts capitalized)"
       }
      }
     },
     "localname": "InterestPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPayableCurrentAndNoncurrent": {
     "auth_ref": [
      "r532",
      "r559"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of interest payable on debt, including, but not limited to, trade payables.",
        "label": "Interest Payable",
        "terseLabel": "Accrued interest"
       }
      }
     },
     "localname": "InterestPayableCurrentAndNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestRateSwapMember": {
     "auth_ref": [
      "r440"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Forward based contracts in which two parties agree to swap periodic payments that are fixed at the outset of the swap contract with variable payments based on a market interest rate (index rate) over a specified period.",
        "label": "Interest Rate Swap [Member]",
        "terseLabel": "Interest rate swap"
       }
      }
     },
     "localname": "InterestRateSwapMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IntersegmentEliminationMember": {
     "auth_ref": [
      "r201"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Eliminating entries used in operating segment consolidation.",
        "label": "Intersegment Elimination [Member]",
        "terseLabel": "Eliminations"
       }
      }
     },
     "localname": "IntersegmentEliminationMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "INVENTORIES"
       }
      }
     },
     "localname": "InventoryDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "auth_ref": [
      "r236"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.",
        "label": "Inventory Disclosure [Text Block]",
        "terseLabel": "INVENTORIES"
       }
      }
     },
     "localname": "InventoryDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventories"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "auth_ref": [
      "r35",
      "r235"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.",
        "label": "Inventory, Finished Goods, Net of Reserves",
        "terseLabel": "Finished goods"
       }
      }
     },
     "localname": "InventoryFinishedGoodsNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r4",
      "r67",
      "r231"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.",
        "label": "Inventory, Net",
        "terseLabel": "Inventories",
        "totalLabel": "Inventories"
       }
      }
     },
     "localname": "InventoryNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Inventory, Net, Items Net of Reserve Alternative [Abstract]",
        "terseLabel": "INVENTORIES"
       }
      }
     },
     "localname": "InventoryNetItemsNetOfReserveAlternativeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "auth_ref": [
      "r13",
      "r68",
      "r138",
      "r174",
      "r232",
      "r234"
     ],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Inventory, Policy [Policy Text Block]",
        "terseLabel": "Inventories"
       }
      }
     },
     "localname": "InventoryPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryRawMaterialsNetOfReserves": {
     "auth_ref": [
      "r37",
      "r235"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.",
        "label": "Inventory, Raw Materials, Net of Reserves",
        "terseLabel": "Raw materials"
       }
      }
     },
     "localname": "InventoryRawMaterialsNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWorkInProcessNetOfReserves": {
     "auth_ref": [
      "r36",
      "r235"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.",
        "label": "Inventory, Work in Process, Net of Reserves",
        "terseLabel": "Work-in-process"
       }
      }
     },
     "localname": "InventoryWorkInProcessNetOfReserves",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWriteDown": {
     "auth_ref": [
      "r233"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.",
        "label": "Inventory Write-down",
        "terseLabel": "Write-down of inventories",
        "verboseLabel": "Inventory written down"
       }
      }
     },
     "localname": "InventoryWriteDown",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InvestmentIncomeInterest": {
     "auth_ref": [
      "r105",
      "r193"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.",
        "label": "Investment Income, Interest",
        "terseLabel": "Interest income"
       }
      }
     },
     "localname": "InvestmentIncomeInterest",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InvestmentsInAndAdvancesToAffiliatesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Investments in and Advances to Affiliates [Line Items]",
        "terseLabel": "Major Subsidiaries of CSI"
       }
      }
     },
     "localname": "InvestmentsInAndAdvancesToAffiliatesLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "INVESTMENTS IN AFFILIATES"
       }
      }
     },
     "localname": "InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock": {
     "auth_ref": [
      "r576"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for the information summarizing investments in and advances to majority-owned subsidiaries, other controlled companies, and other affiliates. It reflects specified information about ownership, financial results from, and financial position in such entities.",
        "label": "Investments in and Advances to Affiliates, Schedule of Investments [Text Block]",
        "terseLabel": "APPENDIX 1 - Major Subsidiaries of CSI"
       }
      }
     },
     "localname": "InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsi"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InvestmentsInAndAdvancesToAffiliatesTable": {
     "auth_ref": [
      "r575"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Listing of investments in affiliates and investments that are advances to affiliates.",
        "label": "Investments in and Advances to Affiliates [Table]"
       }
      }
     },
     "localname": "InvestmentsInAndAdvancesToAffiliatesTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LandMember": {
     "auth_ref": [
      "r312"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Part of earth's surface not covered by water.",
        "label": "Land [Member]",
        "terseLabel": "Land"
       }
      }
     },
     "localname": "LandMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeaseCost": {
     "auth_ref": [
      "r496",
      "r498"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lease cost recognized by lessee for lease contract.",
        "label": "Lease, Cost",
        "totalLabel": "Total lease cost"
       }
      }
     },
     "localname": "LeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseCostAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Lease, Cost [Abstract]",
        "verboseLabel": "Finance lease cost:"
       }
      }
     },
     "localname": "LeaseCostAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "auth_ref": [
      "r496"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.",
        "label": "Lease, Cost [Table Text Block]",
        "terseLabel": "Schedule of leases"
       }
      }
     },
     "localname": "LeaseCostTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "auth_ref": [
      "r253"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Additions or improvements to assets held under a lease arrangement.",
        "label": "Leasehold Improvements [Member]",
        "terseLabel": "Leasehold improvements"
       }
      }
     },
     "localname": "LeaseholdImprovementsMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LeasesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "LEASE"
       }
      }
     },
     "localname": "LeasesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeasesPolicyTextBlock": {
     "auth_ref": [
      "r488"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee.",
        "label": "Lessee, Leases [Policy Text Block]",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "LesseeLeasesPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [
      "r497"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.",
        "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]",
        "terseLabel": "Schedule of lease maturities"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r497"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due",
        "totalLabel": "Total future minimum lease payments"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "auth_ref": [
      "r497"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due after fifth fiscal year following latest fiscal year.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due after Year Five",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "auth_ref": [
      "r497"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in next fiscal year following latest fiscal year.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Next Twelve Months",
        "terseLabel": "2020"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "auth_ref": [
      "r497"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fifth fiscal year following latest fiscal year.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Five",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r497"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fourth fiscal year following latest fiscal year.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Four",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r497"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in third fiscal year following latest fiscal year.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Three",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r497"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in second fiscal year following latest fiscal year.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Two",
        "terseLabel": "2021"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r497"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "terseLabel": "Less: imputed interest"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "auth_ref": [
      "r499"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.",
        "label": "Lessee, Operating Leases [Text Block]",
        "terseLabel": "LEASE"
       }
      }
     },
     "localname": "LesseeOperatingLeasesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLease"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r53"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.",
        "label": "Total liabilities",
        "totalLabel": "TOTAL LIABILITIES"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r33",
      "r531",
      "r555"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "Liabilities and Equity",
        "totalLabel": "TOTAL LIABILITIES AND EQUITY"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Liabilities and Equity [Abstract]",
        "terseLabel": "LIABILITIES, REDEEMABLE NON-CONTROLLING INTERESTS AND EQUITY",
        "verboseLabel": "LIABILITIES AND EQUITY"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r55"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.",
        "label": "Total current liabilities",
        "totalLabel": "Total current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "terseLabel": "Current liabilities:"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesFairValueDisclosure": {
     "auth_ref": [
      "r448"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Fair value of financial and nonfinancial obligations.",
        "label": "Financial and Nonfinancial Liabilities, Fair Value Disclosure",
        "terseLabel": "Derivative liabilities"
       }
      }
     },
     "localname": "LiabilitiesFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilityForUncertainTaxPositionsNoncurrent": {
     "auth_ref": [
      "r60"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount recognized for uncertainty in income taxes classified as noncurrent.",
        "label": "Liability for Uncertain Tax Positions, Noncurrent",
        "terseLabel": "Liability for uncertain tax positions"
       }
      }
     },
     "localname": "LiabilityForUncertainTaxPositionsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCredit": {
     "auth_ref": [
      "r21",
      "r528",
      "r545"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.",
        "label": "Line of Credit Facility, Amount Outstanding",
        "positiveLabel": "Amounts drawn down",
        "terseLabel": "Outstanding balance",
        "verboseLabel": "Amount drawn of bank credit facilities granted"
       }
      }
     },
     "localname": "LineOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityAxis": {
     "auth_ref": [
      "r51",
      "r145"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by name of lender, which may be a single entity (for example, but not limited to, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit.",
        "label": "Lender Name [Axis]"
       }
      }
     },
     "localname": "LineOfCreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCreditFacilityLenderDomain": {
     "auth_ref": [
      "r51"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Identification of the lender, which may be a single entity (for example, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit, including a letter of credit facility.",
        "label": "Line Of Credit Facility Lender [Domain]",
        "terseLabel": "Line of Credit Facility, Lender [Domain]"
       }
      }
     },
     "localname": "LineOfCreditFacilityLenderDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "auth_ref": [
      "r51"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.",
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "terseLabel": "Maximum borrowing capacity",
        "verboseLabel": "Maximum borrowing capacity"
       }
      }
     },
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": {
     "auth_ref": [
      "r51"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).",
        "label": "Line of Credit Facility, Remaining Borrowing Capacity",
        "terseLabel": "Available amount of credit facilities"
       }
      }
     },
     "localname": "LineOfCreditFacilityRemainingBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A contractual arrangement with a lender under which borrowings can be made up to a specific amount at any point in time, and under which borrowings outstanding may be either short-term or long-term, depending upon the particulars.",
        "label": "Line Of Credit [Member]",
        "terseLabel": "Credit facility"
       }
      }
     },
     "localname": "LineOfCreditMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LoansPayableCurrent": {
     "auth_ref": [
      "r54"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails3Calc2": {
       "order": 1.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of portion of long-term loans payable due within one year or the operating cycle if longer.",
        "label": "Loans Payable, Current",
        "negatedLabel": "Less: future principal repayment related to long-term borrowings, current portion"
       }
      }
     },
     "localname": "LoansPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock": {
     "auth_ref": [
      "r208"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of long-lived assets, excluding financial instruments, long-term customer relationships of a financial institution, mortgage rights, deferred policy acquisition costs, and deferred tax assets, by geographic areas located in the entity's country of domicile and foreign countries in which the entity holds assets.",
        "label": "Long-lived Assets by Geographic Areas [Table Text Block]",
        "terseLabel": "Schedule of long-lived assets, including property, plant and equipment, non-current project assets, solar power systems, prepaid land use rights and intangible assets by geographic region"
       }
      }
     },
     "localname": "LongLivedAssetsByGeographicAreasTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LongTermDebt": {
     "auth_ref": [
      "r21",
      "r289",
      "r528",
      "r550"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails3Calc2": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.",
        "label": "Long-term Debt",
        "totalLabel": "Total",
        "verboseLabel": "Long-term borrowings"
       }
      }
     },
     "localname": "LongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails",
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtByMaturityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Long-term Debt, Fiscal Year Maturity [Abstract]",
        "terseLabel": "Future principal repayment on the long-term borrowings loans"
       }
      }
     },
     "localname": "LongTermDebtByMaturityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LongTermDebtCurrent": {
     "auth_ref": [
      "r52"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_ShortTermBorrowings",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.",
        "label": "Long-term Debt, Current Maturities",
        "terseLabel": "Long-term, current portion"
       }
      }
     },
     "localname": "LongTermDebtCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsShortTermDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive": {
     "auth_ref": [
      "r152",
      "r286"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirements, and other securities issued that are redeemable by holder at fixed or determinable prices and dates maturing after the fifth 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.",
        "label": "Long-term Debt, Maturities, Repayments of Principal after Year Five",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths": {
     "auth_ref": [
      "r152",
      "r286"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirements, and other securities issued that are redeemable by holder at fixed or determinable prices and dates maturing in the next 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.",
        "label": "Long-term Debt, Maturities, Repayments of Principal in Next Twelve Months",
        "terseLabel": "2020"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive": {
     "auth_ref": [
      "r152",
      "r286"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirements, and other securities issued that are redeemable by holder at fixed or determinable prices and dates maturing in the fifth 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.",
        "label": "Long-term Debt, Maturities, Repayments of Principal in Year Five",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour": {
     "auth_ref": [
      "r152",
      "r286"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirements, and other securities issued that are redeemable by holder at fixed or determinable prices and dates maturing in the fourth 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.",
        "label": "Long-term Debt, Maturities, Repayments of Principal in Year Four",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree": {
     "auth_ref": [
      "r152",
      "r286"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirements, and other securities issued that are redeemable by holder at fixed or determinable prices and dates maturing in the third 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.",
        "label": "Long-term Debt, Maturities, Repayments of Principal in Year Three",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo": {
     "auth_ref": [
      "r152",
      "r286"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of long-term debt payable, sinking fund requirements, and other securities issued that are redeemable by holder at fixed or determinable prices and dates maturing in the 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.",
        "label": "Long-term Debt, Maturities, Repayments of Principal in Year Two",
        "terseLabel": "2021"
       }
      }
     },
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermDebtWeightedAverageInterestRateOverTime": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Weighted average interest rate of long-term debt outstanding calculated over time.",
        "label": "Long-term Debt, Weighted Average Interest Rate, over Time",
        "terseLabel": "Average interest rate on long-term borrowings (as a percent)"
       }
      }
     },
     "localname": "LongTermDebtWeightedAverageInterestRateOverTime",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_LongTermNotesAndLoans": {
     "auth_ref": [
      "r58"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_DebtLongtermAndShorttermCombinedAmount",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails3Calc2": {
       "order": 2.0,
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of all notes and loans payable (with maturities initially due after one year or beyond the operating cycle if longer), excluding current portion.",
        "label": "Notes and Loans, Noncurrent",
        "positiveLabel": "Total long-term portion",
        "terseLabel": "Long-term borrowings",
        "verboseLabel": "Carrying value of long-term borrowings"
       }
      }
     },
     "localname": "LongTermNotesAndLoans",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermPurchaseCommitmentTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of key provisions of an arrangement under which the entity has agreed to purchase goods or services over a period of time greater than one year or the normal operating cycle, if longer, including the item for which expenditures will be made, minimum quantities, milestones, time period and committed amount.",
        "label": "Long-term Purchase Commitment [Table Text Block]",
        "terseLabel": "Schedule of payment for commitments"
       }
      }
     },
     "localname": "LongTermPurchaseCommitmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LongtermDebtTypeAxis": {
     "auth_ref": [
      "r58"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by type of long-term debt.",
        "label": "Long-term Debt, Type [Axis]"
       }
      }
     },
     "localname": "LongtermDebtTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails",
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LongtermDebtTypeDomain": {
     "auth_ref": [
      "r58",
      "r287"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.",
        "label": "Longterm Debt Type [Domain]",
        "terseLabel": "Long-term Debt, Type [Domain]"
       }
      }
     },
     "localname": "LongtermDebtTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails",
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LossContingenciesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Loss Contingencies [Line Items]",
        "terseLabel": "Contingencies"
       }
      }
     },
     "localname": "LossContingenciesLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LossContingenciesTable": {
     "auth_ref": [
      "r265",
      "r266",
      "r267",
      "r269",
      "r270",
      "r271",
      "r272",
      "r275",
      "r276"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Discloses the specific components (such as the nature, name, and date) of the loss contingency and gives an estimate of the possible loss or range of loss, or states that a reasonable estimate cannot be made. Excludes environmental contingencies, warranties and unconditional purchase obligations.",
        "label": "Loss Contingencies [Table]"
       }
      }
     },
     "localname": "LossContingenciesTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LossContingencyAccrualAtCarryingValue": {
     "auth_ref": [
      "r265"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 8.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of loss contingency liability.",
        "label": "Loss Contingency Accrual",
        "terseLabel": "Loss contingency accruals"
       }
      }
     },
     "localname": "LossContingencyAccrualAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LossContingencyNewClaimsFiledNumber": {
     "auth_ref": [
      "r268"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The total number of new claims filed pertaining to a loss contingency during the period.",
        "label": "Loss Contingency, New Claims Filed, Number",
        "terseLabel": "Number of lawsuits filed"
       }
      }
     },
     "localname": "LossContingencyNewClaimsFiledNumber",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_MachineryAndEquipmentMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.",
        "label": "Machinery And Equipment [Member]",
        "terseLabel": "Machinery"
       }
      }
     },
     "localname": "MachineryAndEquipmentMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MinorityInterest": {
     "auth_ref": [
      "r66",
      "r530",
      "r554"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which is directly or indirectly attributable to that ownership interest in subsidiary equity which is not attributable to the parent (that is, noncontrolling interest, previously referred to as minority interest).",
        "label": "Stockholders' Equity Attributable to Noncontrolling Interest",
        "terseLabel": "Non-controlling interests in subsidiaries"
       }
      }
     },
     "localname": "MinorityInterest",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MinorityInterestDecreaseFromRedemptions": {
     "auth_ref": [
      "r299",
      "r404",
      "r405"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Decrease in noncontrolling interest (for example, but not limited to, redeeming or purchasing the interests of noncontrolling shareholders, issuance of shares (interests) by the non-wholly owned subsidiary to the parent entity for other than cash, and a buyback of shares (interest) by the non-wholly owned subsidiary from the noncontrolling interests).",
        "label": "Noncontrolling Interest, Decrease from Redemptions or Purchase of Interests",
        "negatedLabel": "Acquisition non-controlling interest's ownership"
       }
      }
     },
     "localname": "MinorityInterestDecreaseFromRedemptions",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Movement in Standard and Extended Product Warranty, Increase (Decrease) [Roll Forward]",
        "terseLabel": "ACCRUED WARRANTY COSTS"
       }
      }
     },
     "localname": "MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_MovementInValuationAllowancesAndReservesRollForward": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Movement in Valuation Allowances and Reserves [Roll Forward]",
        "terseLabel": "Movement of allowances"
       }
      }
     },
     "localname": "MovementInValuationAllowancesAndReservesRollForward",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NatureOfOperations": {
     "auth_ref": [
      "r175",
      "r189"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.",
        "label": "Nature of Operations [Text Block]",
        "terseLabel": "ORGANIZATION AND PRINCIPAL ACTIVITIES"
       }
      }
     },
     "localname": "NatureOfOperations",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivities"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r125"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.",
        "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations",
        "totalLabel": "Net cash provided by (used in) financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract]",
        "terseLabel": "Financing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r125"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.",
        "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations",
        "totalLabel": "Net cash provided by (used in) investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]",
        "terseLabel": "Investing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r125",
      "r127",
      "r130"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.",
        "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations",
        "totalLabel": "Net cash provided by (used in) operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]",
        "terseLabel": "Operating activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLossAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r82",
      "r84",
      "r408",
      "r418"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of Net Income (Loss) attributable to noncontrolling interest.",
        "label": "Net Income (Loss) Attributable to Noncontrolling Interest",
        "terseLabel": "Less: net income (loss) attributable to non-controlling interests"
       }
      }
     },
     "localname": "NetIncomeLossAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetIncomeLossAttributableToParentDiluted": {
     "auth_ref": [
      "r162"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent, and includes adjustments resulting from the assumption that dilutive convertible securities were converted, options or warrants were exercised, or that other shares were issued upon the satisfaction of certain conditions.",
        "label": "Net Income (Loss) Attributable to Parent, Diluted",
        "totalLabel": "Net income attributable to Canadian Solar Inc. - diluted"
       }
      }
     },
     "localname": "NetIncomeLossAttributableToParentDiluted",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic": {
     "auth_ref": [
      "r157",
      "r161"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLossAttributableToParentDiluted",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders.",
        "label": "Net Income (Loss) Available to Common Stockholders, Basic",
        "terseLabel": "Net income attributable to Canadian Solar Inc. - basic (in dollars)",
        "totalLabel": "Net income attributable to Canadian Solar Inc."
       }
      }
     },
     "localname": "NetIncomeLossAvailableToCommonStockholdersBasic",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.",
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "terseLabel": "Recently issued accounting pronouncements"
       }
      }
     },
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NoncashInvestingAndFinancingItemsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Noncash Investing and Financing Items [Abstract]",
        "terseLabel": "Supplemental schedule of non-cash activities:"
       }
      }
     },
     "localname": "NoncashInvestingAndFinancingItemsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination": {
     "auth_ref": [
      "r300",
      "r394",
      "r410"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase in noncontrolling interest from a business combination.",
        "label": "Noncontrolling Interest, Increase from Business Combination",
        "terseLabel": "Acquisition of subsidiaries"
       }
      }
     },
     "localname": "NoncontrollingInterestIncreaseFromBusinessCombination",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest": {
     "auth_ref": [
      "r300",
      "r404",
      "r410"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase in noncontrolling interest from sale of a portion of the parent's controlling interest.",
        "label": "Noncontrolling Interest, Increase from Sale of Parent Equity Interest",
        "terseLabel": "Proceeds non-controlling interests"
       }
      }
     },
     "localname": "NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance": {
     "auth_ref": [
      "r300",
      "r404",
      "r410"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase in noncontrolling interest from subsidiary issuance of equity interests to noncontrolling interest holders.",
        "label": "Noncontrolling Interest, Increase from Subsidiary Equity Issuance",
        "verboseLabel": "Transfer of equity interest in subsidiaries to non-controlling shareholders"
       }
      }
     },
     "localname": "NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NoncontrollingInterestMember": {
     "auth_ref": [
      "r399"
     ],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Noncontrolling Interest [Member]",
        "terseLabel": "Non-Controlling Interest"
       }
      }
     },
     "localname": "NoncontrollingInterestMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NoncurrentAssets": {
     "auth_ref": [
      "r207"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets.",
        "label": "Long-Lived Assets",
        "terseLabel": "Total long-lived assets"
       }
      }
     },
     "localname": "NoncurrentAssets",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NondesignatedMember": {
     "auth_ref": [
      "r430"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Derivative instrument not designated as hedging instrument under Generally Accepted Accounting Principles (GAAP).",
        "label": "Nondesignated [Member]",
        "terseLabel": "Not designated as hedging instruments"
       }
      }
     },
     "localname": "NondesignatedMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "auth_ref": [
      "r107"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).",
        "label": "Nonoperating Income (Expense)",
        "totalLabel": "Other expenses, net",
        "verboseLabel": "Other income (expenses), net:"
       }
      }
     },
     "localname": "NonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NonoperatingIncomeExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Nonoperating Income (Expense) [Abstract]",
        "terseLabel": "Other income (expenses):"
       }
      }
     },
     "localname": "NonoperatingIncomeExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NotesPayableAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "SHORT-TERM NOTES PAYABLE"
       }
      }
     },
     "localname": "NotesPayableAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_NumberOfReportableSegments": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.",
        "label": "Number of Reportable Segments",
        "terseLabel": "Number of principal reportable business segments"
       }
      }
     },
     "localname": "NumberOfReportableSegments",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_OperatingExpenses": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.",
        "label": "Operating Expenses",
        "totalLabel": "Total operating expenses, net"
       }
      }
     },
     "localname": "OperatingExpenses",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Operating Expenses [Abstract]",
        "terseLabel": "Operating expenses:",
        "verboseLabel": "Operating expenses"
       }
      }
     },
     "localname": "OperatingExpensesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "Operating Income (Loss)",
        "terseLabel": "Income from operations",
        "totalLabel": "Income from operations",
        "verboseLabel": "Income (loss) from operations"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseCost": {
     "auth_ref": [
      "r490",
      "r498"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Operating Lease, Cost",
        "terseLabel": "Operating lease cost"
       }
      }
     },
     "localname": "OperatingLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseExpense": {
     "auth_ref": [
      "r484"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of operating lease expense. Excludes sublease income.",
        "label": "Operating Lease, Expense",
        "verboseLabel": "Operating lease expenses"
       }
      }
     },
     "localname": "OperatingLeaseExpense",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Operating Lease Liabilities, Gross Difference, Amount [Abstract]",
        "terseLabel": "Operating leases, gross difference"
       }
      }
     },
     "localname": "OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payment, Due [Abstract]",
        "terseLabel": "Maturities of operating leases"
       }
      }
     },
     "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r482"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.",
        "label": "Operating Lease, Liability",
        "terseLabel": "Lease liabilities",
        "totalLabel": "Total operating lease liabilities",
        "verboseLabel": "NPV for future minimum lease payments"
       }
      }
     },
     "localname": "OperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r482"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 10.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.",
        "label": "Operating Lease, Liability, Current",
        "terseLabel": "Operating lease liabilities",
        "verboseLabel": "Operating lease liabilities, current"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r482"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 9.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.",
        "label": "Operating Lease, Liability, Noncurrent",
        "terseLabel": "Operating lease liabilities",
        "verboseLabel": "Operating lease liabilities, noncurrent"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasePayments": {
     "auth_ref": [
      "r487",
      "r492"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.",
        "label": "Operating Lease, Payments",
        "terseLabel": "Operating cash flows from operating leases"
       }
      }
     },
     "localname": "OperatingLeasePayments",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r481"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 14.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Operating Lease, Right-of-Use Asset",
        "terseLabel": "Right-of-use assets"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r495",
      "r498"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Weighted average discount rate for operating lease calculated at point in time.",
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "terseLabel": "Weighted average discount rate - finance lease"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r494",
      "r498"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Weighted average term - finance leases"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_OperatingLeasesFutureMinimumPaymentsDue": {
     "auth_ref": [
      "r475",
      "r476"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of required minimum rental payments for leases having an initial or remaining non-cancelable letter-terms in excess of one year.",
        "label": "Operating Leases, Future Minimum Payments Due",
        "totalLabel": "Total future minimum lease payments"
       }
      }
     },
     "localname": "OperatingLeasesFutureMinimumPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Operating Leases, Future Minimum Payments Due, Fiscal Year Maturity [Abstract]",
        "verboseLabel": "Year Ending December 31:"
       }
      }
     },
     "localname": "OperatingLeasesFutureMinimumPaymentsDueAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent": {
     "auth_ref": [
      "r475",
      "r476"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingLeasesFutureMinimumPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Operating Leases, Future Minimum Payments Due, Next Twelve Months",
        "terseLabel": "2019"
       }
      }
     },
     "localname": "OperatingLeasesFutureMinimumPaymentsDueCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears": {
     "auth_ref": [
      "r475",
      "r476"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingLeasesFutureMinimumPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "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 fifth 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.",
        "label": "Operating Leases, Future Minimum Payments, Due in Five Years",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "OperatingLeasesFutureMinimumPaymentsDueInFiveYears",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears": {
     "auth_ref": [
      "r475",
      "r476"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_OperatingLeasesFutureMinimumPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "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 fourth 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.",
        "label": "Operating Leases, Future Minimum Payments, Due in Four Years",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "OperatingLeasesFutureMinimumPaymentsDueInFourYears",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears": {
     "auth_ref": [
      "r475",
      "r476"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_OperatingLeasesFutureMinimumPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "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 third 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.",
        "label": "Operating Leases, Future Minimum Payments, Due in Three Years",
        "terseLabel": "2021"
       }
      }
     },
     "localname": "OperatingLeasesFutureMinimumPaymentsDueInThreeYears",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears": {
     "auth_ref": [
      "r475",
      "r476"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_OperatingLeasesFutureMinimumPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Operating Leases, Future Minimum Payments, Due in Two Years",
        "terseLabel": "2020"
       }
      }
     },
     "localname": "OperatingLeasesFutureMinimumPaymentsDueInTwoYears",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter": {
     "auth_ref": [
      "r475",
      "r476"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_OperatingLeasesFutureMinimumPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "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 after the fifth 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.",
        "label": "Operating Leases, Future Minimum Payments, Due Thereafter",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "OperatingLeasesFutureMinimumPaymentsDueThereafter",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLossCarryforwards": {
     "auth_ref": [
      "r378"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.",
        "label": "Operating Loss Carryforwards",
        "terseLabel": "Accumulated net operating losses"
       }
      }
     },
     "localname": "OperatingLossCarryforwards",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingSegmentsMember": {
     "auth_ref": [
      "r192",
      "r203"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.",
        "label": "Operating Segments [Member]",
        "terseLabel": "Operating segment"
       }
      }
     },
     "localname": "OperatingSegmentsMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "ORGANIZATION AND PRINCIPAL ACTIVITIES"
       }
      }
     },
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r155",
      "r159",
      "r189",
      "r423"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for the general note to the financial statements for the reporting entity which may include, descriptions of the basis of presentation, business description, significant accounting policies, consolidations, reclassifications, new pronouncements not yet adopted and changes in accounting principles.",
        "label": "Organization, Consolidation, Basis of Presentation, Business Description and Accounting Policies [Text Block]",
        "terseLabel": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES"
       }
      }
     },
     "localname": "OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OtherAssets": {
     "auth_ref": [
      "r18",
      "r524",
      "r547"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of assets classified as other.",
        "label": "Other Assets",
        "terseLabel": "Other assets"
       }
      }
     },
     "localname": "OtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "auth_ref": [
      "r48"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 13.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of noncurrent assets classified as other.",
        "label": "Other non-current assets",
        "terseLabel": "Other non-current assets",
        "verboseLabel": "Other non-current assets"
       }
      }
     },
     "localname": "OtherAssetsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax": {
     "auth_ref": [
      "r75",
      "r78",
      "r464",
      "r465",
      "r466",
      "r467"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after tax, before reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.",
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Gain (Loss) Arising During Period, Net of Tax",
        "terseLabel": "Foreign currency translation adjustment"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax": {
     "auth_ref": [
      "r76",
      "r78"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, after tax and before reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.",
        "label": "Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, Net of Tax",
        "terseLabel": "Fair value change on derivatives"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Other Comprehensive Income, Net of Tax, Portion Attributable to Parent",
        "terseLabel": "Other comprehensive income (loss) (net of tax of nil):"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherLiabilities": {
     "auth_ref": [
      "r533"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of liabilities classified as other.",
        "label": "Other Liabilities",
        "verboseLabel": "Other liabilities"
       }
      }
     },
     "localname": "OtherLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLiabilitiesCurrent": {
     "auth_ref": [
      "r10",
      "r11",
      "r54"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 12.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.",
        "label": "Other current liabilities",
        "terseLabel": "Other current liabilities",
        "verboseLabel": "Other current liabilities"
       }
      }
     },
     "localname": "OtherLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "auth_ref": [
      "r60"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 11.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.",
        "label": "Other non-current liabilities",
        "terseLabel": "Other non-current liabilities"
       }
      }
     },
     "localname": "OtherLiabilitiesNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherOperatingActivitiesCashFlowStatement": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 38.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Other cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example,  cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other liabilities).",
        "label": "Other Operating Activities, Cash Flow Statement",
        "terseLabel": "Loss contingency accruals"
       }
      }
     },
     "localname": "OtherOperatingActivitiesCashFlowStatement",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherOperatingIncomeExpenseMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Primary financial statement caption encompassing other operating income (expense).",
        "label": "Other Operating Income Expense [Member]",
        "terseLabel": "Other operating income or expense"
       }
      }
     },
     "localname": "OtherOperatingIncomeExpenseMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherOperatingIncomeExpenseNet": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 4.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The net amount of other operating income and expenses, the components of which are not separately disclosed on the income statement, from items that are associated with the entity's normal revenue producing operations.",
        "label": "Other Operating Income (Expense), Net",
        "negatedLabel": "Other operating loss, net",
        "negatedTerseLabel": "Other operating income, net",
        "negatedTotalLabel": "Other operating income, net"
       }
      }
     },
     "localname": "OtherOperatingIncomeExpenseNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherShortTermBorrowings": {
     "auth_ref": [
      "r49"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_ShortTermBorrowings",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of borrowings classified as other, maturing within one year or the normal operating cycle, if longer.",
        "label": "Other Short-term Borrowings",
        "terseLabel": "Short-term"
       }
      }
     },
     "localname": "OtherShortTermBorrowings",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsShortTermDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ParentMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Portion of equity, or net assets, in the consolidated entity attributable, directly or indirectly, to the parent. Excludes noncontrolling interests.",
        "label": "Parent [Member]",
        "terseLabel": "Earnings Attributable to Canadian Solar Inc."
       }
      }
     },
     "localname": "ParentMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PaymentsForRepurchaseOfConvertiblePreferredStock": {
     "auth_ref": [
      "r118"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash outflow to reacquire preferred stock originally issued and identified as a security that can be exchanged for another type of financial security. This repurchased stock is held in treasury.",
        "label": "Payments for Repurchase of Convertible Preferred Stock",
        "negatedLabel": "Payments for repurchase of treasury stock"
       }
      }
     },
     "localname": "PaymentsForRepurchaseOfConvertiblePreferredStock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsForRepurchaseOfOtherEquity": {
     "auth_ref": [
      "r118"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash outflow to reacquire equity classified as other.",
        "label": "Payments for Repurchase of Other Equity",
        "negatedTerseLabel": "Payments for repurchase of treasury stock"
       }
      }
     },
     "localname": "PaymentsForRepurchaseOfOtherEquity",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries": {
     "auth_ref": [
      "r113"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash outflow associated with the purchase of noncontrolling interest during the period.",
        "label": "Payments to Acquire Additional Interest in Subsidiaries",
        "negatedLabel": "Acquisition of subsidiaries, net of cash paid"
       }
      }
     },
     "localname": "PaymentsToAcquireAdditionalInterestInSubsidiaries",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireEquityMethodInvestments": {
     "auth_ref": [
      "r113"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash outflow associated with the purchase of or advances to an equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence.",
        "label": "Payments to Acquire Equity Method Investments",
        "negatedLabel": "Investments in affiliates",
        "terseLabel": "Cash consideration for acquisition of the entity"
       }
      }
     },
     "localname": "PaymentsToAcquireEquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireInterestInJointVenture": {
     "auth_ref": [
      "r113"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash outflow associated with the investment in or advances to an entity in which the reporting entity shares control of the entity with another party or group.",
        "label": "Payments to Acquire Interest in Joint Venture",
        "terseLabel": "Cash consideration for acquisition of the interest"
       }
      }
     },
     "localname": "PaymentsToAcquireInterestInJointVenture",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r114"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "negatedLabel": "Purchase of property, plant and equipment"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToMinorityShareholders": {
     "auth_ref": [
      "r120"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash outflow to a noncontrolling interest. Includes, but not limited to, reduction of noncontrolling interest ownership. Excludes dividends paid to the noncontrolling interest.",
        "label": "Payments to Noncontrolling Interests",
        "negatedTerseLabel": "Acquisition of non-controlling interest"
       }
      }
     },
     "localname": "PaymentsToMinorityShareholders",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": {
     "auth_ref": [
      "r320"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for pension and other postretirement benefits.",
        "label": "Pension and Other Postretirement Benefits Disclosure [Text Block]",
        "terseLabel": "EMPLOYEE BENEFIT PLANS"
       }
      }
     },
     "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlans"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "auth_ref": [
      "r7",
      "r41",
      "r42"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 11.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.",
        "label": "Prepaid expenses and other current assets",
        "terseLabel": "Prepaid expenses and other current assets",
        "verboseLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpenseNoncurrent": {
     "auth_ref": [
      "r48"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of amounts paid in advance for expenses which will be charged against earnings in periods after one year or beyond the operating cycle, if longer.",
        "label": "Prepaid land use rights",
        "verboseLabel": "Prepaid land use rights"
       }
      }
     },
     "localname": "PrepaidExpenseNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries": {
     "auth_ref": [
      "r111"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash inflow associated with the deconsolidation of a previously consolidated subsidiary or the sale of investment in consolidated subsidiaries (generally greater than 50 percent).",
        "label": "Proceeds from Divestiture of Interest in Consolidated Subsidiaries",
        "terseLabel": "Proceeds from disposal of subsidiaries"
       }
      }
     },
     "localname": "ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital": {
     "auth_ref": [
      "r111",
      "r124"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of distribution received from equity method investee for return of investment, classified as investing activities. Excludes distribution for return on investment, classified as operating activities.",
        "label": "Proceeds from Equity Method Investment, Dividends or Distributions, Return of Capital",
        "terseLabel": "Return of investment from affiliates"
       }
      }
     },
     "localname": "ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromInsuranceSettlementInvestingActivities": {
     "auth_ref": [
      "r112",
      "r123"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash inflow for proceeds from settlement of insurance claim, classified as investing activities. Excludes insurance settlement classified as operating activities.",
        "label": "Proceeds from Insurance Settlement, Investing Activities",
        "terseLabel": "Proceeds from insurance claim"
       }
      }
     },
     "localname": "ProceedsFromInsuranceSettlementInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfLongTermDebt": {
     "auth_ref": [
      "r116"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer.",
        "label": "Proceeds from Issuance of Long-term Debt",
        "terseLabel": "Proceeds from long-term borrowings"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromMinorityShareholders": {
     "auth_ref": [
      "r117"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash inflow from a noncontrolling interest. Includes, but is not limited to, purchase of additional shares or other increase in noncontrolling interest ownership.",
        "label": "Proceeds from Noncontrolling Interests",
        "verboseLabel": "Proceeds from non-controlling interests"
       }
      }
     },
     "localname": "ProceedsFromMinorityShareholders",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromNotesPayable": {
     "auth_ref": [
      "r116"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash inflow from a borrowing supported by a written promise to pay an obligation.",
        "label": "Proceeds from Notes Payable",
        "terseLabel": "Proceeds from short-term borrowings"
       }
      }
     },
     "localname": "ProceedsFromNotesPayable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromRepaymentsOfNotesPayable": {
     "auth_ref": [
      "r150"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from long-term debt supported by a written promise to pay an obligation.",
        "label": "Proceeds from (Repayments of) Notes Payable",
        "terseLabel": "Proceeds from long-term borrowings"
       }
      }
     },
     "localname": "ProceedsFromRepaymentsOfNotesPayable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfEquityMethodInvestments": {
     "auth_ref": [
      "r111"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash inflow associated with the sale of equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence.",
        "label": "Proceeds from Sale of Equity Method Investments",
        "terseLabel": "Proceeds from disposal of investment in affiliates"
       }
      }
     },
     "localname": "ProceedsFromSaleOfEquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfInvestmentProjects": {
     "auth_ref": [
      "r112"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash inflow from the sale of investment projects held by an entity in hopes of getting a future return or interest from it.",
        "label": "Proceeds from Sale of Investment Projects",
        "verboseLabel": "Proceeds from sale of membership interest"
       }
      }
     },
     "localname": "ProceedsFromSaleOfInvestmentProjects",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "auth_ref": [
      "r115",
      "r346"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.",
        "label": "Proceeds from Stock Options Exercised",
        "terseLabel": "Proceeds from exercise of stock options"
       }
      }
     },
     "localname": "ProceedsFromStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantiesDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "ACCRUED WARRANTY COSTS"
       }
      }
     },
     "localname": "ProductWarrantiesDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ProductWarrantyAccrualNoncurrent": {
     "auth_ref": [
      "r60",
      "r265",
      "r267"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and due after one year (or beyond the operating cycle if longer) for estimated claims under standard and extended warranty protection rights granted to customers.",
        "label": "Product Warranty Accrual, Noncurrent",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance",
        "terseLabel": "Accrued warranty costs"
       }
      }
     },
     "localname": "ProductWarrantyAccrualNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualPayments": {
     "auth_ref": [
      "r279"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty.",
        "label": "Product Warranty Accrual, Payments",
        "negatedLabel": "Warranty costs incurred"
       }
      }
     },
     "localname": "ProductWarrantyAccrualPayments",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease": {
     "auth_ref": [
      "r281"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in the standard and extended product warranty accrual from changes in estimates attributable to preexisting product warranties.",
        "label": "Standard and Extended Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties",
        "terseLabel": "Warranty provision"
       }
      }
     },
     "localname": "ProductWarrantyAccrualPreexistingIncreaseDecrease",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyDisclosureTextBlock": {
     "auth_ref": [
      "r285"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for the reporting period.",
        "label": "Product Warranty Disclosure [Text Block]",
        "terseLabel": "ACCRUED WARRANTY COSTS"
       }
      }
     },
     "localname": "ProductWarrantyDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCosts"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ProductWarrantyExpense": {
     "auth_ref": [
      "r128",
      "r280"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The expense charged against earnings for the period pertaining to standard and extended warranties on the entity's goods and services granted to customers.",
        "label": "Product Warranty Expense",
        "terseLabel": "Warranty costs (net effect of adjustment) included in cost of revenues"
       }
      }
     },
     "localname": "ProductWarrantyExpense",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyLiabilityLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Product Warranty Liability [Line Items]",
        "terseLabel": "Warranty cost"
       }
      }
     },
     "localname": "ProductWarrantyLiabilityLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ProductWarrantyLiabilityTable": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of information about product warranty liability, including, but not limited to, reductions in the liability for payments made under the warranty, changes in the liability for accruals related to product warranties issued, and changes in the liability for accruals related to preexisting warranties.",
        "label": "Product Warranty Liability [Table]"
       }
      }
     },
     "localname": "ProductWarrantyLiabilityTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ProfitLoss": {
     "auth_ref": [
      "r82",
      "r84",
      "r122",
      "r198",
      "r204",
      "r401",
      "r407",
      "r409",
      "r418",
      "r419"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.",
        "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest",
        "terseLabel": "Net income",
        "totalLabel": "Net income",
        "verboseLabel": "Net Income (loss)"
       }
      }
     },
     "localname": "ProfitLoss",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "PROPERTY, PLANT AND EQUIPMENT, NET"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "auth_ref": [
      "r47",
      "r255"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.",
        "label": "Property, Plant and Equipment, Type [Axis]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "auth_ref": [
      "r259"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for long-lived, physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, accounting policies and methodology, roll forwards, depreciation, depletion and amortization expense, including composite depreciation, accumulated depreciation, depletion and amortization expense, useful lives and method used, income statement disclosures, assets held for sale and public utility disclosures.",
        "label": "Property, Plant and Equipment Disclosure [Text Block]",
        "terseLabel": "PROPERTY, PLANT AND EQUIPMENT, NET"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNet"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "auth_ref": [
      "r46",
      "r253"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": {
       "order": 2.0,
       "parentTag": "csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property, Plant and Equipment, Gross",
        "terseLabel": "Property, plant and equipment, gross"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentGross",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Property, Plant and Equipment [Line Items]",
        "terseLabel": "PROPERTY, PLANT AND EQUIPMENT, NET",
        "verboseLabel": "Property, plant and equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r16",
      "r17",
      "r255",
      "r557"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property, Plant and Equipment, Net.",
        "totalLabel": "Property, plant and equipment, net",
        "verboseLabel": "Property, plant and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "auth_ref": [
      "r45",
      "r138",
      "r255"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for long-lived, physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, basis of assets, depreciation and depletion methods used, including composite deprecation, estimated useful lives, capitalization policy, accounting treatment for costs incurred for repairs and maintenance, capitalized interest and the method it is calculated, disposals and impairments.",
        "label": "Property, Plant and Equipment, Policy [Policy Text Block]",
        "terseLabel": "Property, plant and equipment"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "auth_ref": [
      "r16",
      "r253"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.",
        "label": "Property Plant And Equipment Type [Domain]",
        "terseLabel": "Property, Plant and Equipment, Type [Domain]"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.",
        "label": "Property, Plant and Equipment, Useful Life",
        "terseLabel": "Estimated useful lives"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "auth_ref": [
      "r95",
      "r229"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.",
        "label": "Provision for Doubtful Accounts",
        "terseLabel": "Allowance for doubtful accounts",
        "verboseLabel": "Allowance for doubtful accounts"
       }
      }
     },
     "localname": "ProvisionForDoubtfulAccounts",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PublicUtilitiesInventoryAxis": {
     "auth_ref": [
      "r38"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by type of inventory held.",
        "label": "Inventory [Axis]"
       }
      }
     },
     "localname": "PublicUtilitiesInventoryAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PublicUtilitiesInventoryTypeDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tangible personal property that is held for sale in the ordinary course of business, in process of production for such sale or is to be currently consumed in the production of goods or services to be available for sale.",
        "label": "Public Utilities Inventory Type [Domain]",
        "terseLabel": "Inventory [Domain]"
       }
      }
     },
     "localname": "PublicUtilitiesInventoryTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis": {
     "auth_ref": [
      "r22",
      "r529",
      "r551"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by arrangement, in which the entity has agreed to expend funds to procure goods or services from one or more suppliers.",
        "label": "Purchase Commitment, Excluding Long-term Commitment [Axis]"
       }
      }
     },
     "localname": "PurchaseCommitmentExcludingLongtermCommitmentAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain": {
     "auth_ref": [
      "r22",
      "r529",
      "r551"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This item is intended to be populated, by the entity, with Members identifying each purchase commitment about which information required or determined to be disclosed is being provided. If only one such commitment exists, this item may be used to capture such information; if multiple commitments exist, this item is the dimensional default, which will aggregate such information, as appropriate.",
        "label": "Purchase Commitment Excluding Longterm Commitment [Domain]",
        "terseLabel": "Purchase Commitment, Excluding Long-term Commitment [Domain]"
       }
      }
     },
     "localname": "PurchaseCommitmentExcludingLongtermCommitmentDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Purchase Commitment, Excluding Long-term Commitment [Line Items]"
       }
      }
     },
     "localname": "PurchaseCommitmentExcludingLongtermCommitmentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable": {
     "auth_ref": [
      "r22",
      "r529",
      "r551"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Summarization of information required or determined to be disclosed about arrangements in which the entity has agreed to expend funds to procure goods or services from one or more suppliers. Such disclosure may include identification of the goods or services to be purchased, identity of the seller, pricing, effects on pricing for failing to reach minimum quantities required to be purchased (such as penalties), cancellation rights, and termination provisions.",
        "label": "Purchase Commitment, Excluding Long-term Commitment [Table]"
       }
      }
     },
     "localname": "PurchaseCommitmentExcludingLongtermCommitmentTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted": {
     "auth_ref": [
      "r22",
      "r529",
      "r551"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Minimum amount to be expended to satisfy the terms of arrangements in which the entity has agreed to expend funds to procure goods or services, excluding long-term purchase commitments or unconditional purchase obligations.",
        "label": "Purchase Commitment, Remaining Minimum Amount Committed",
        "terseLabel": "Commitments"
       }
      }
     },
     "localname": "PurchaseCommitmentRemainingMinimumAmountCommitted",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PurchaseObligation": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier.",
        "label": "Purchase Obligation",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "PurchaseObligation",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PurchaseObligationDueInNextTwelveMonths": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Minimum amount of purchase arrangement maturing in the next fiscal year following the latest fiscal year. Includes, but not limited to, recorded and unrecorded purchase obligations, long-term purchase commitments, and short-term purchase commitments.",
        "label": "Purchase Obligation, Due in Next Twelve Months",
        "terseLabel": "2020"
       }
      }
     },
     "localname": "PurchaseObligationDueInNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PurchaseObligationDueInSecondYear": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Minimum amount of purchase arrangement maturing in the second fiscal year following the latest fiscal year. Includes, but not limited to, recorded and unrecorded purchase obligations, long-term purchase commitments, and short-term purchase commitments.",
        "label": "Purchase Obligation, Due in Second Year",
        "terseLabel": "2021"
       }
      }
     },
     "localname": "PurchaseObligationDueInSecondYear",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ReceivablesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "ALLOWANCE FOR DOUBTFUL ACCOUNTS"
       }
      }
     },
     "localname": "ReceivablesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]",
        "terseLabel": "Changes to the company's liabilities for uncertain tax positions"
       }
      }
     },
     "localname": "ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartiesAmountInCostOfSales": {
     "auth_ref": [
      "r93",
      "r138"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_CostOfGoodsAndServicesSold",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount included in cost of sales related to transactions with related parties incurred and recorded in the statement of operations for the period.",
        "label": "Related Parties Amount in Cost of Sales",
        "terseLabel": "-Related parties"
       }
      }
     },
     "localname": "RelatedPartiesAmountInCostOfSales",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RelatedPartyDomain": {
     "auth_ref": [
      "r506"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Related parties include affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control 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.",
        "label": "Related Party [Domain]",
        "terseLabel": "Related Party [Domain]"
       }
      }
     },
     "localname": "RelatedPartyDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RelatedPartyTransactionAxis": {
     "auth_ref": [
      "r318",
      "r501",
      "r502"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by type of related party transaction.",
        "label": "Related Party Transaction [Axis]"
       }
      }
     },
     "localname": "RelatedPartyTransactionAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Transaction between related party.",
        "label": "Related Party Transaction [Domain]",
        "terseLabel": "Related Party Transaction [Domain]"
       }
      }
     },
     "localname": "RelatedPartyTransactionDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RelatedPartyTransactionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Related Party Transaction [Line Items]",
        "terseLabel": "RELATED PARTY BALANCES AND TRANSACTIONS"
       }
      }
     },
     "localname": "RelatedPartyTransactionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Purchases during the period (excluding transactions that are eliminated in consolidated or combined financial statements) with related party.",
        "label": "Related Party Transaction, Purchases from Related Party",
        "verboseLabel": "Purchase from related party"
       }
      }
     },
     "localname": "RelatedPartyTransactionPurchasesFromRelatedParty",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RelatedPartyTransactionsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "RELATED PARTY BALANCES AND TRANSACTIONS"
       }
      }
     },
     "localname": "RelatedPartyTransactionsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": {
     "auth_ref": [
      "r318",
      "r501",
      "r502",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r521"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by type of related party. Related parties include, but not limited to, affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control 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.",
        "label": "Related Party [Axis]"
       }
      }
     },
     "localname": "RelatedPartyTransactionsByRelatedPartyAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": {
     "auth_ref": [
      "r506"
     ],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Related Party Transactions Disclosure [Text Block]",
        "terseLabel": "RELATED PARTY BALANCES AND TRANSACTIONS"
       }
      }
     },
     "localname": "RelatedPartyTransactionsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactions"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RepaymentOfNotesReceivableFromRelatedParties": {
     "auth_ref": [
      "r110"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash inflow from a loan, supported by a promissory note, granted to related parties where one party can exercise control or significant influence over another party; including affiliates, owners or officers and their immediate families, pension trusts, and so forth.",
        "label": "Repayment of Notes Receivable from Related Parties",
        "terseLabel": "Repayment of loans from subsidiaries"
       }
      }
     },
     "localname": "RepaymentOfNotesReceivableFromRelatedParties",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfCommercialPaper": {
     "auth_ref": [
      "r119"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash outflow due to repaying amounts borrowed by issuing commercial paper.",
        "label": "Repayments of Commercial Paper",
        "negatedLabel": "Repayment of short-term commercial paper"
       }
      }
     },
     "localname": "RepaymentsOfCommercialPaper",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfConvertibleDebt": {
     "auth_ref": [
      "r119"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash outflow from the repayment of a long-term debt instrument which can be exchanged for a specified amount of another security, typically the entity's common stock, at the option of the issuer or the holder.",
        "label": "Repayments of Convertible Debt",
        "negatedLabel": "Repayment of convertible notes",
        "negatedTerseLabel": "Payments for repurchase of convertible notes",
        "terseLabel": "Repayment of outstanding balance"
       }
      }
     },
     "localname": "RepaymentsOfConvertibleDebt",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepaymentsOfNotesPayable": {
     "auth_ref": [
      "r119"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash outflow for a borrowing supported by a written promise to pay an obligation.",
        "label": "Repayments of Notes Payable",
        "negatedLabel": "Repayment of short-term borrowings"
       }
      }
     },
     "localname": "RepaymentsOfNotesPayable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RepurchaseAgreementsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Investments represented by an agreement between the entity and another party for the sale and repurchase of identical or substantially the same securities at a date certain for a specified price. Such agreements are generally short-term in nature.",
        "label": "Repurchase Agreements [Member]",
        "terseLabel": "Share repurchase plan"
       }
      }
     },
     "localname": "RepurchaseAgreementsMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "auth_ref": [
      "r351",
      "r584"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 3.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.",
        "label": "Research and Development Expense",
        "terseLabel": "Research and development expenses"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpense",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpensePolicy": {
     "auth_ref": [
      "r138",
      "r351"
     ],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Research and Development Expense, Policy [Policy Text Block]",
        "terseLabel": "Research and development"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpensePolicy",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RestrictedAssetsDisclosureTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for assets that are restricted in their use, generally by contractual agreements or regulatory requirements. This would include, but not limited to, a description of the restricted assets and the terms of the restriction.",
        "label": "Restricted Assets Disclosure [Text Block]",
        "terseLabel": "RESTRICTED NET ASSETS"
       }
      }
     },
     "localname": "RestrictedAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRestrictedNetAssets"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RestrictedCashAndCashEquivalents": {
     "auth_ref": [
      "r14",
      "r131",
      "r137",
      "r523",
      "r552"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Restricted Cash and Cash Equivalents",
        "terseLabel": "Restricted cash"
       }
      }
     },
     "localname": "RestrictedCashAndCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r3",
      "r14",
      "r131",
      "r137"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Restricted Cash and Cash Equivalents, Current",
        "terseLabel": "Restricted cash",
        "verboseLabel": "Restricted cash - current"
       }
      }
     },
     "localname": "RestrictedCashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedCashAndCashEquivalentsNoncurrent": {
     "auth_ref": [
      "r9",
      "r18",
      "r131",
      "r137",
      "r578"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Restricted Cash and Cash Equivalents, Noncurrent",
        "terseLabel": "Restricted cash",
        "verboseLabel": "Restricted cash - non-current"
       }
      }
     },
     "localname": "RestrictedCashAndCashEquivalentsNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.",
        "label": "Restricted Stock Units R S U [Member]",
        "terseLabel": "RSUs"
       }
      }
     },
     "localname": "RestrictedStockUnitsRSUMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "RESTRICTED NET ASSETS"
       }
      }
     },
     "localname": "RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r30",
      "r299",
      "r553"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings (Accumulated Deficit).",
        "terseLabel": "Retained earnings"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings [Member]",
        "terseLabel": "Retained Earnings"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": {
     "auth_ref": [
      "r308",
      "r309"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Revenue from Grants",
        "terseLabel": "Net revenues",
        "totalLabel": "Total net revenues",
        "verboseLabel": "Net revenues"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerIncludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "auth_ref": [
      "r139",
      "r317"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for revenue from contract with customer.",
        "label": "Revenue Recognition, Policy [Policy Text Block]",
        "terseLabel": "Revenue recognition"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueFromRelatedParties": {
     "auth_ref": [
      "r99",
      "r574"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of revenue, fees and commissions earned from transactions between (a) a parent company and its subsidiaries; (b) subsidiaries of a common parent; (c) an entity and trusts for the benefit of employees, for example, but not limited to, pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; (d) an entity and its principal, owners, management, or members of their immediate families; and (e) affiliates.",
        "label": "Revenue from Related Parties",
        "terseLabel": "-Related parties",
        "verboseLabel": "Revenue from sale of solar products"
       }
      }
     },
     "localname": "RevenueFromRelatedParties",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "auth_ref": [
      "r306"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.",
        "label": "Revenue, Remaining Performance Obligation, Amount",
        "terseLabel": "Contract liabilities expected to be recognized"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligation",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": {
     "auth_ref": [
      "r307"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period",
        "terseLabel": "Period for contract liabilities expected to be realized"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": {
     "auth_ref": [
      "r307"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in CCYY-MM-DD format.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_Revenues": {
     "auth_ref": [
      "r90",
      "r191",
      "r192",
      "r202"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "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).",
        "label": "Revenues",
        "terseLabel": "Total net revenues"
       }
      }
     },
     "localname": "Revenues",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Revenues from External Customers and Long-Lived Assets [Line Items]",
        "terseLabel": "Revenues generated by geographic location of customers' headquarter"
       }
      }
     },
     "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability": {
     "auth_ref": [
      "r493",
      "r498"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for finance lease liability.",
        "label": "Right-of-Use Asset Obtained in Exchange for Finance Lease Liability",
        "terseLabel": "Right-of-use assets obtained in exchange of new operating leases"
       }
      }
     },
     "localname": "RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "auth_ref": [
      "r493",
      "r498"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.",
        "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability",
        "terseLabel": "Right-of-use assets obtained in exchange of new finance lease liabilities"
       }
      }
     },
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SaleLeasebackTransactionNetProceedsFinancingActivities": {
     "auth_ref": [
      "r478",
      "r479",
      "r480"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash inflow after closing and debt issuance costs received by a seller-lessee in a sale-leaseback recognized in financing activities.",
        "label": "Sale Leaseback Transaction, Net Proceeds, Financing Activities",
        "terseLabel": "Proceeds from sales-leaseback arrangement"
       }
      }
     },
     "localname": "SaleLeasebackTransactionNetProceedsFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage of subsidiary's or equity investee's stock owned by parent company after stock transaction.",
        "label": "Sale of Stock, Percentage of Ownership after Transaction",
        "terseLabel": "Percentage of ownership after sale transaction"
       }
      }
     },
     "localname": "SaleOfStockPercentageOfOwnershipAfterTransaction",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_SalesMember": {
     "auth_ref": [
      "r441"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Primary financial statement caption encompassing revenue from sale of goods and services rendered in the normal course of business.",
        "label": "Sales [Member]",
        "terseLabel": "Revenue"
       }
      }
     },
     "localname": "SalesMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SalesRevenueNetMember": {
     "auth_ref": [
      "r183"
     ],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Sales Revenue Net [Member]",
        "terseLabel": "Net revenue"
       }
      }
     },
     "localname": "SalesRevenueNetMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": {
     "auth_ref": [
      "r169"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities.",
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]"
       }
      }
     },
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": {
     "auth_ref": [
      "r169"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities.",
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]",
        "terseLabel": "Schedule of anti-dilutive shares excluded from the computation of diluted earnings per share"
       }
      }
     },
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "auth_ref": [
      "r383"
     ],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]",
        "terseLabel": "Schedule of provision for income taxes"
       }
      }
     },
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDebtTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.",
        "label": "Schedule of Debt [Table Text Block]",
        "terseLabel": "Schedule of bank borrowings"
       }
      }
     },
     "localname": "ScheduleOfDebtTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "auth_ref": [
      "r376"
     ],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]",
        "terseLabel": "Schedule of components of the deferred tax assets and liabilities"
       }
      }
     },
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock": {
     "auth_ref": [
      "r433",
      "r438",
      "r443"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.",
        "label": "Derivative Instruments, Gain (Loss) [Table Text Block]",
        "terseLabel": "Schedule of effect of derivative instruments on consolidated statements of operations"
       }
      }
     },
     "localname": "ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock": {
     "auth_ref": [
      "r436"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position.",
        "label": "Schedule of Derivative Instruments in Statement of Financial Position, Fair Value [Table Text Block]",
        "terseLabel": "Schedule of fair value of derivative instruments on the consolidated balance sheets"
       }
      }
     },
     "localname": "ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "auth_ref": [
      "r170"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "terseLabel": "Schedule of computation of basic and diluted earnings per share"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "auth_ref": [
      "r361"
     ],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]",
        "terseLabel": "Schedule of reconciliation between the provision for income tax computed by applying Canadian federal and provincial statutory tax rates to income before income taxes and the actual provision and benefit for income taxes"
       }
      }
     },
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable": {
     "auth_ref": [
      "r205"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular presentation of the description and amount of revenues from a product or service, or a group of similar products or similar services, reported from external customers during the period, if the information is not provided as part of the reportable operating segment information.",
        "label": "Revenue from External Customers by Products and Services [Table]"
       }
      }
     },
     "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock": {
     "auth_ref": [
      "r205"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information.",
        "label": "Revenue from External Customers by Products and Services [Table Text Block]",
        "terseLabel": "Summary of the Company's revenues generated from each product or service"
       }
      }
     },
     "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEquityMethodInvestmentsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Schedule of Equity Method Investments [Line Items]",
        "terseLabel": "Other investments"
       }
      }
     },
     "localname": "ScheduleOfEquityMethodInvestmentsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEquityMethodInvestmentsTable": {
     "auth_ref": [
      "r225"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Summarization of information required and determined to be disclosed concerning equity method investments in common stock. The summarized information includes: (a) the name of each investee or group of investees for which combined disclosure is appropriate, (2) the percentage ownership of common stock, (3) the difference, if any, between the carrying amount of an investment and the value of the underlying equity in the net assets and the accounting treatment of difference, if any, and (4) the aggregate value of each identified investment based on its quoted market price, if available.",
        "label": "Schedule of Equity Method Investments [Table]"
       }
      }
     },
     "localname": "ScheduleOfEquityMethodInvestmentsTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "auth_ref": [
      "r241",
      "r244"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Schedule of Finite-Lived Intangible Assets [Table]"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "auth_ref": [
      "r241",
      "r244"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.",
        "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]",
        "terseLabel": "Schedule of useful life intangible assets"
       }
      }
     },
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r13",
      "r38",
      "r39",
      "r40"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.",
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "terseLabel": "Schedule of inventories"
       }
      }
     },
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock": {
     "auth_ref": [
      "r286"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the combined aggregate amount of maturities and sinking fund requirements for all long-term borrowings for each of the five years following the date of the latest balance sheet date presented.",
        "label": "Schedule of Maturities of Long-term Debt [Table Text Block]",
        "terseLabel": "Schedule of future principal repayments on the long-term borrowings"
       }
      }
     },
     "localname": "ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": {
     "auth_ref": [
      "r284"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.",
        "label": "Schedule of Product Warranty Liability [Table Text Block]",
        "terseLabel": "Summary of the Company's warranty activity"
       }
      }
     },
     "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "auth_ref": [
      "r47",
      "r255"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.",
        "label": "Property, Plant and Equipment [Table]"
       }
      }
     },
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable": {
     "auth_ref": [
      "r142",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule of quantitative and qualitative information pertaining to 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.",
        "label": "Schedule of Related Party Transactions, by Related Party [Table]"
       }
      }
     },
     "localname": "ScheduleOfRelatedPartyTransactionsByRelatedPartyTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the extent of the entity's reliance on its major customers, if revenues from transactions with a single external customer amount to 10 percent or more of entity revenues, including the disclosure of that fact, the total amount of revenues from each such customer, and the identity of the reportable segment or segments reporting the revenues. The entity need not disclose the identity of a major customer or the amount of revenues that each segment reports from that customer. For these purposes, a group of companies known to the entity to be under common control is considered a single customer, and the federal government, a state government, a local government such as a county or municipality, or a foreign government is each considered a single customer.",
        "label": "Schedule of Revenue by Major Customers by Reporting Segments [Table Text Block]",
        "terseLabel": "Schedule of details of customers accounting for 10% or more of total net revenues"
       }
      }
     },
     "localname": "ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock": {
     "auth_ref": [
      "r100",
      "r206"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the names of foreign countries from which revenue is material and the amount of revenue from external customers attributed to those countries. An entity may also provide subtotals of geographic information about groups of countries.",
        "label": "Schedule of Revenue from External Customers Attributed to Foreign Countries by Geographic Area [Table Text Block]",
        "terseLabel": "Summary of the Company's net revenues generated from different geographic locations"
       }
      }
     },
     "localname": "ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": {
     "auth_ref": [
      "r88",
      "r90",
      "r209"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule of 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.",
        "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]"
       }
      }
     },
     "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": {
     "auth_ref": [
      "r190",
      "r198",
      "r200",
      "r201",
      "r239"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. 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.",
        "label": "Schedule of Segment Reporting Information, by Segment [Table]"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "auth_ref": [
      "r190",
      "r198",
      "r200",
      "r201",
      "r239"
     ],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]",
        "terseLabel": "Summary of Company's revenues and gross profit and income from operations generated from each segment"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "auth_ref": [
      "r326",
      "r345"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of information about share-based payment arrangement.",
        "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": {
     "auth_ref": [
      "r331"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year.",
        "label": "Schedule of Share-based Compensation, Restricted Stock Units Award Activity [Table Text Block]",
        "terseLabel": "Schedule of the RSU activity"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": {
     "auth_ref": [
      "r369",
      "r384"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the change in unrecognized tax benefits.",
        "label": "Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]",
        "terseLabel": "Schedule of movement and balance of the Company's liability for uncertain tax positions (excluding interest and penalties)"
       }
      }
     },
     "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfVariableInterestEntitiesTable": {
     "auth_ref": [
      "r412",
      "r413",
      "r414",
      "r415",
      "r416"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of qualitative and quantitative information related to variable interests the entity holds, whether or not such variable interest entity (VIE) is included in the reporting entity's consolidated financial statements. Includes, but is not limited to, description of the significant judgments and assumptions made in determining whether a variable interest (as defined) held by the entity requires the variable interest entity (VIE) (as defined) to be consolidated and (or) disclose information about its involvement with the VIE, individually or in aggregate (as applicable); the nature of restrictions, if any, on the consolidated VIE's assets and on the settlement of its liabilities reported by an entity in its statement of financial position, including the carrying amounts of such assets and liabilities; the nature of, and changes in, the risks associated with involvement in the VIE; how involvement with the VIE affects the entity's financial position, financial performance, and cash flows; the lack of recourse if creditors (or beneficial interest holders) of the consolidated VIE have no recourse to the general credit of the primary beneficiary (if applicable); the terms of arrangements, giving consideration to both explicit arrangements and implicit variable interests, if any, that could require the entity to provide financial support to the VIE, including events or circumstances that could expose the entity to a loss; the methodology used by the entity for determining whether or not it is the primary beneficiary of the variable interest entity; the significant factors considered and judgments made in determining that the power to direct the activities of a VIE that most significantly impact the VIE's economic performance are shared (as defined); the carrying amounts and classification of assets and liabilities of the VIE included in the statement of financial position; the entity's maximum exposure to loss, if any, as a result of its involvement with the VIE, including how the maximum exposure is determined and significant sources of the entity's exposure to the VIE; a tabular comparison of the carrying amounts of the assets and liabilities and the entity's maximum exposure to loss; information about any liquidity arrangements, guarantees, and (or) other commitments by third parties that may affect the fair value or risk of the entity's variable interest in the VIE; whether or not the entity has provided financial support or other support (explicitly or implicitly) to the VIE that it was not previously contractually required to provide or whether the entity intends to provide that support, including the type and amount of the support and the primary reasons for providing the support; and supplemental information the entity determines necessary to provide.",
        "label": "Schedule of Variable Interest Entities [Table]"
       }
      }
     },
     "localname": "ScheduleOfVariableInterestEntitiesTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfVariableInterestEntitiesTextBlock": {
     "auth_ref": [
      "r412",
      "r413",
      "r414",
      "r415",
      "r416"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the significant judgments and assumptions made in determining whether a variable interest (as defined) held by the entity requires the variable interest entity (VIE) (as defined) to be consolidated and (or) disclose information about its involvement with the VIE, individually or in aggregate (as applicable); the nature of restrictions, if any, on the consolidated VIE's assets and on the settlement of its liabilities reported by an entity in its statement of financial position, including the carrying amounts of such assets and liabilities; the nature of, and changes in, the risks associated with involvement in the VIE; how involvement with the VIE affects the entity's financial position, financial performance, and cash flows; the lack of recourse if creditors (or beneficial interest holders) of the consolidated VIE have no recourse to the general credit of the primary beneficiary (if applicable); the terms of arrangements, giving consideration to both explicit arrangements and implicit variable interests, if any, that could require the entity to provide financial support to the VIE, including events or circumstances that could expose the entity to a loss; the methodology used by the entity for determining whether or not it is the primary beneficiary of the variable interest entity; the significant factors considered and judgments made in determining that the power to direct the activities of a VIE that most significantly impact the VIE's economic performance are shared (as defined); the carrying amounts and classification of assets and liabilities of the VIE included in the statement of financial position; the entity's maximum exposure to loss, if any, as a result of its involvement with the VIE, including how the maximum exposure is determined and significant sources of the entity's exposure to the VIE; a comparison of the carrying amounts of the assets and liabilities and the entity's maximum exposure to loss; information about any liquidity arrangements, guarantees, and (or) other commitments by third parties that may affect the fair value or risk of the entity's variable interest in the VIE; whether or not the entity has provided financial support or other support (explicitly or implicitly) to the VIE that it was not previously contractually required to provide or whether the entity intends to provide that support, including the type and amount of the support and the primary reasons for providing the support; and supplemental information the entity determines necessary to provide.",
        "label": "Schedule of Variable Interest Entities [Table Text Block]",
        "terseLabel": "Schedule of carrying amounts and classifications of consolidated VIE's assets and liabilities, excluding intercompany balances"
       }
      }
     },
     "localname": "ScheduleOfVariableInterestEntitiesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SecuredDebtCurrent": {
     "auth_ref": [
      "r20",
      "r526",
      "r549"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of the portion of long-term, collateralized debt obligations due within one year or the operating cycle, if longer. Such obligations include mortgage loans, chattel loans, and any other borrowings secured by assets of the borrower.",
        "label": "Secured Debt, Current",
        "terseLabel": "Secured long-term borrowings, Current"
       }
      }
     },
     "localname": "SecuredDebtCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SecuredLongTermDebt": {
     "auth_ref": [
      "r58"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying amount of collateralized debt obligations with maturities initially due after one year or beyond the operating cycle, if longer, excluding the current portion. Obligations include, but not limited to, mortgage loans, chattel loans, and other borrowings secured by assets.",
        "label": "Secured Long-term Debt, Noncurrent",
        "terseLabel": "Secured long-term borrowings"
       }
      }
     },
     "localname": "SecuredLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SegmentDomain": {
     "auth_ref": [],
     "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.",
        "label": "Segment [Domain]",
        "terseLabel": "Segments [Domain]"
       }
      }
     },
     "localname": "SegmentDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SegmentReportingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "SEGMENT INFORMATION"
       }
      }
     },
     "localname": "SegmentReportingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "auth_ref": [
      "r211"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.",
        "label": "Segment Reporting Disclosure [Text Block]",
        "terseLabel": "SEGMENT INFORMATION"
       }
      }
     },
     "localname": "SegmentReportingDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentReportingInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Segment Reporting Information [Line Items]",
        "terseLabel": "SEGMENT INFORMATION"
       }
      }
     },
     "localname": "SegmentReportingInformationLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentReportingInformationProfitLossAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Segment Reporting Information, Profit (Loss) [Abstract]",
        "terseLabel": "Revenues and gross profit generated from each segment"
       }
      }
     },
     "localname": "SegmentReportingInformationProfitLossAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SellingExpense": {
     "auth_ref": [
      "r104"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Expenses recognized in the period that are directly related to the selling and distribution of products or services.",
        "label": "Selling Expense",
        "terseLabel": "Selling expenses"
       }
      }
     },
     "localname": "SellingExpense",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r128"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of noncash expense for share-based payment arrangement.",
        "label": "Share-based Compensation.",
        "terseLabel": "Share-based compensation"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "auth_ref": [
      "r327"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period",
        "terseLabel": "Vesting period"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "auth_ref": [
      "r335"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "negatedLabel": "Forfeited (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r339"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value",
        "terseLabel": "Forfeited (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "auth_ref": [
      "r337"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "terseLabel": "Shares granted to employees",
        "verboseLabel": "Granted (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r337"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Granted (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "auth_ref": [
      "r336"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "periodEndLabel": "Unvested at the end of the period (in shares)",
        "periodStartLabel": "Unvested at the beginning of the period (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]",
        "terseLabel": "Number of Shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r336"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "periodEndLabel": "Unvested at the end of the period (in dollars per share)",
        "periodStartLabel": "Unvested at the beginning of the period (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]",
        "terseLabel": "Weighted Average Grant-Date Fair Value"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "auth_ref": [
      "r338"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "negatedLabel": "Vested (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue": {
     "auth_ref": [
      "r340"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value",
        "terseLabel": "Total fair value of shares vested"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r338"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Vested (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]",
        "terseLabel": "SHARE-BASED COMPENSATION"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "auth_ref": [
      "r328"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized",
        "terseLabel": "Maximum aggregate number of shares to be issued"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "auth_ref": [
      "r340"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value",
        "terseLabel": "Total intrinsic value of options exercised",
        "verboseLabel": "Total intrinsic value of options exercised (in dollars)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "auth_ref": [
      "r345"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value",
        "terseLabel": "Options outstanding at the end of the period",
        "verboseLabel": "Intrinsic value of outstanding options (in dollars)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "auth_ref": [
      "r333",
      "r345"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of options outstanding, including both vested and non-vested options.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number",
        "periodEndLabel": "Options outstanding at the end of the period (in shares)",
        "periodStartLabel": "Options outstanding at the beginning of the period (in shares)",
        "terseLabel": "Options outstanding"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]",
        "terseLabel": "Number of Options"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r332"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "periodEndLabel": "Options outstanding at the end of the period (in dollars per share)",
        "periodStartLabel": "Options outstanding at the beginning of the period (in dollars per share)",
        "terseLabel": "Weighted average exercise price of options outstanding (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]",
        "terseLabel": "Weighted Average Exercise Price"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r324",
      "r329"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Award under share-based payment arrangement.",
        "label": "Share Based Compensation Arrangements By Share Based Payment Award Award Type And Plan Name [Domain]",
        "terseLabel": "Equity Award [Domain]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price",
        "terseLabel": "Exercised (in dollars per share)",
        "verboseLabel": "Weighted average exercise price of shares exercised (in dollars per share)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "auth_ref": [
      "r138",
      "r326",
      "r330"
     ],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Share-based Compensation, Option and Incentive Plans Policy [Policy Text Block]",
        "terseLabel": "Share-based compensation"
       }
      }
     },
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ShareBasedPaymentArrangementEmployeeMember": {
     "auth_ref": [
      "r323",
      "r342"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Recipient, of award granted under share-based payment arrangement, over whom grantor exercises or has right to exercise sufficient control to establish employer-employee relationship based on law of pertinent jurisdiction. Includes, but is not limited to, nonemployee director treated as employee when acting as member of board of directors, if elected by grantor's shareholders or appointed to board position to be filled by shareholder election when existing term expires.",
        "label": "Share Based Payment Arrangement Employee [Member]",
        "terseLabel": "Employees"
       }
      }
     },
     "localname": "ShareBasedPaymentArrangementEmployeeMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareRepurchaseProgramAxis": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by share repurchase program.",
        "label": "Share Repurchase Program [Axis]"
       }
      }
     },
     "localname": "ShareRepurchaseProgramAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareRepurchaseProgramDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Name of the share repurchase program.",
        "label": "Share Repurchase Program [Domain]",
        "terseLabel": "Share Repurchase Program [Domain]"
       }
      }
     },
     "localname": "ShareRepurchaseProgramDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "auth_ref": [
      "r341"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term",
        "terseLabel": "Options outstanding at the end of the period",
        "verboseLabel": "Weighted average remaining contract terms of options outstanding (in years)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ShippingAndHandlingMember": {
     "auth_ref": [
      "r312"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Packing and transport of product.",
        "label": "Shipping And Handling [Member]",
        "terseLabel": "Shipping and Handling"
       }
      }
     },
     "localname": "ShippingAndHandlingMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShortTermBorrowings": {
     "auth_ref": [
      "r19",
      "r526",
      "r549"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DebtLongtermAndShorttermCombinedAmount",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer.",
        "label": "Short-term Debt",
        "terseLabel": "Short-term borrowings, including long-term borrowings - current portion",
        "totalLabel": "Short-term Debt, Total",
        "verboseLabel": "Short-term borrowings"
       }
      }
     },
     "localname": "ShortTermBorrowings",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsShortTermDetails",
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShortTermLeaseCost": {
     "auth_ref": [
      "r491",
      "r498"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less.",
        "label": "Short-term Lease, Cost",
        "terseLabel": "Short term lease cost"
       }
      }
     },
     "localname": "ShortTermLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss": {
     "auth_ref": [
      "r283"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of foreign currency translation gain (loss) which decreases (increases) the standard and extended product warranty accrual.",
        "label": "Product Warranty Accrual, Currency Translation, Increase (Decrease)",
        "terseLabel": "Foreign exchange effect"
       }
      }
     },
     "localname": "StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease": {
     "auth_ref": [
      "r281"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in the standard product warranty accrual from changes in estimates attributable to preexisting product warranties. Excludes extended product warranties.",
        "label": "Standard Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties",
        "terseLabel": "Warranty adjustment"
       }
      }
     },
     "localname": "StandardProductWarrantyAccrualPreexistingIncreaseDecrease",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StandardProductWarrantyPolicy": {
     "auth_ref": [
      "r138",
      "r282"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for standard warranties including the methodology for measuring the liability.",
        "label": "Standard Product Warranty, Policy [Policy Text Block]",
        "terseLabel": "Warranty cost"
       }
      }
     },
     "localname": "StandardProductWarrantyPolicy",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "auth_ref": [
      "r0",
      "r198",
      "r239",
      "r257",
      "r262",
      "r263",
      "r565"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by business segments.",
        "label": "Segments [Axis]"
       }
      }
     },
     "localname": "StatementBusinessSegmentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r63",
      "r293"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Statement [Line Items]",
        "terseLabel": "Statement",
        "verboseLabel": "RESTRICTED NET ASSETS"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables",
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF CASH FLOWS"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "CONSOLIDATED BALANCE SHEETS"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME"
       }
      }
     },
     "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.",
        "label": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables",
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "auth_ref": [
      "r25",
      "r26",
      "r293",
      "r299",
      "r334"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of share options (or share units) exercised during the current period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period",
        "negatedLabel": "Exercised (in shares)",
        "terseLabel": "Exercise of share options (in shares)",
        "verboseLabel": "Option exercised"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "auth_ref": [
      "r63",
      "r293",
      "r299"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Value of stock issued as a result of the exercise of stock options.",
        "label": "Stock Issued During Period, Value, Stock Options Exercised",
        "terseLabel": "Exercise of share options"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "auth_ref": [
      "r25",
      "r26",
      "r293",
      "r299"
     ],
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Stock Repurchased During Period, Shares",
        "terseLabel": "Number of shares repurchased"
       }
      }
     },
     "localname": "StockRepurchasedDuringPeriodShares",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSubsequentEventsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockRepurchasedDuringPeriodValue": {
     "auth_ref": [
      "r25",
      "r26",
      "r293",
      "r299"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate 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.",
        "label": "Stock Repurchased During Period, Value",
        "netLabel": "Total cost of share repurchases",
        "verboseLabel": "Total cost of share repurchases"
       }
      }
     },
     "localname": "StockRepurchasedDuringPeriodValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSubsequentEventsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r26",
      "r31",
      "r32",
      "r217"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Stockholders' Equity Attributable to Parent",
        "totalLabel": "Total Canadian Solar Inc. shareholders' equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": {
     "auth_ref": [
      "r399",
      "r400",
      "r417"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of stockholders' equity (deficit), net of receivables from officers, directors, owners, and affiliates of the entity, attributable to both the parent and noncontrolling interests. Amount excludes temporary equity. Alternate caption for the concept is permanent equity.",
        "label": "Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest",
        "periodEndLabel": "Balance",
        "periodStartLabel": "Balance",
        "totalLabel": "TOTAL EQUITY"
       }
      }
     },
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest [Abstract]",
        "terseLabel": "Equity:"
       }
      }
     },
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.",
        "label": "Subsequent Event [Line Items]",
        "terseLabel": "SUBSEQUENT EVENTS"
       }
      }
     },
     "localname": "SubsequentEventLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event [Member]",
        "terseLabel": "Subsequent event"
       }
      }
     },
     "localname": "SubsequentEventMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SubsequentEventTable": {
     "auth_ref": [
      "r507"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Discloses pertinent information about one or more 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.",
        "label": "Subsequent Event [Table]"
       }
      }
     },
     "localname": "SubsequentEventTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "auth_ref": [
      "r507"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event Type [Axis]"
       }
      }
     },
     "localname": "SubsequentEventTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "auth_ref": [
      "r507"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued.",
        "label": "Subsequent Event Type [Domain]",
        "terseLabel": "Subsequent Event Type [Domain]"
       }
      }
     },
     "localname": "SubsequentEventTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSubsequentEventsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SubsequentEventsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "SUBSEQUENT EVENTS"
       }
      }
     },
     "localname": "SubsequentEventsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "auth_ref": [
      "r508"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.",
        "label": "Subsequent Events [Text Block]",
        "terseLabel": "SUBSEQUENT EVENTS"
       }
      }
     },
     "localname": "SubsequentEventsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSubsequentEvents"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage of subsidiary's or equity method investee's stock owned by parent immediately after all stock transactions.",
        "label": "Subsidiary or Equity Method Investee, Cumulative Percentage Ownership after All Transactions",
        "terseLabel": "Attributable Equity Interest Held (as a percent)"
       }
      }
     },
     "localname": "SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_SummaryOfIncomeTaxHolidayTextBlock": {
     "auth_ref": [
      "r356",
      "r387"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the income tax exemptions and reductions which have been granted by taxing authorities for a specified period, applicable term of the exemptions and reductions, estimated dollar value of tax benefits, and per share benefits.",
        "label": "Summary of Income Tax Holiday [Table Text Block]",
        "terseLabel": "Schedule of aggregate amount and per share effect of the tax holiday"
       }
      }
     },
     "localname": "SummaryOfIncomeTaxHolidayTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SummaryOfValuationAllowanceTextBlock": {
     "auth_ref": [
      "r375"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of valuation allowances to reduce deferred tax assets to net realizable value, including identification of the deferred tax asset more likely than not will not be fully realized and the corresponding amount of the valuation allowance.",
        "label": "Summary of Valuation Allowance [Table Text Block]",
        "terseLabel": "Schedule of movement of the valuation allowance"
       }
      }
     },
     "localname": "SummaryOfValuationAllowanceTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Supplemental Cash Flow Information [Abstract]",
        "terseLabel": "Supplemental disclosure of cash flow information:"
       }
      }
     },
     "localname": "SupplementalCashFlowInformationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceAxis": {
     "auth_ref": [
      "r315"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by timing of transfer of good or service to customer.",
        "label": "Timing of Transfer of Good or Service [Axis]"
       }
      }
     },
     "localname": "TimingOfTransferOfGoodOrServiceAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Timing of transfer of good or service to customer. Includes, but is not limited to, at point in time or over time.",
        "label": "Timing Of Transfer Of Good Or Service [Domain]",
        "terseLabel": "Timing of Transfer of Good or Service [Domain]"
       }
      }
     },
     "localname": "TimingOfTransferOfGoodOrServiceDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy": {
     "auth_ref": [
      "r218"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for treatment of receivables that are billable but have not been billed as of the balance sheet date.",
        "label": "Trade and Other Accounts Receivable, Unbilled Receivables, Policy [Policy Text Block]",
        "terseLabel": "Accounts receivable, unbilled"
       }
      }
     },
     "localname": "TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_TransferredAtPointInTimeMember": {
     "auth_ref": [
      "r315"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Contract with customer in which good or service is transferred at point in time.",
        "label": "Transferred At Point In Time [Member]",
        "terseLabel": "Recognized at a point in time"
       }
      }
     },
     "localname": "TransferredAtPointInTimeMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TransferredOverTimeMember": {
     "auth_ref": [
      "r315"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Contract with customer in which good or service is transferred over time.",
        "label": "Transferred Over Time [Member]",
        "terseLabel": "Recognized over time"
       }
      }
     },
     "localname": "TransferredOverTimeMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockCommonValue": {
     "auth_ref": [
      "r65",
      "r301",
      "r302"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury.",
        "label": "Treasury Stock, Common, Value",
        "negatedTerseLabel": "Treasury stock, at cost, nil and 609,516 common shares as of December 31, 2018 and 2019, respectively"
       }
      }
     },
     "localname": "TreasuryStockCommonValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TreasuryStockMember": {
     "auth_ref": [
      "r62",
      "r301"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Shares of an entity that have been repurchased by the entity. This stock has no voting rights and receives no dividends. Note that treasury stock may be recorded at its total cost or separately as par (or stated) value and additional paid in capital. Classified within stockholders' equity if nonredeemable or redeemable solely at the option of the issuer. Classified within temporary equity if redemption is outside the control of the issuer.",
        "label": "Treasury Stock [Member]",
        "terseLabel": "Treasury Stock"
       }
      }
     },
     "localname": "TreasuryStockMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockShares": {
     "auth_ref": [
      "r62",
      "r301"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.",
        "label": "Treasury Stock, Shares",
        "terseLabel": "Treasury stock, shares issued (in shares)"
       }
      }
     },
     "localname": "TreasuryStockShares",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TreasuryStockSharesAcquired": {
     "auth_ref": [
      "r26",
      "r293",
      "r299"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of shares that have been repurchased during the period and are being held in treasury.",
        "label": "Treasury Stock, Shares, Acquired",
        "terseLabel": "Repurchase of treasury stock (shares)"
       }
      }
     },
     "localname": "TreasuryStockSharesAcquired",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TreasuryStockValue": {
     "auth_ref": [
      "r62",
      "r301",
      "r302"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "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.",
        "label": "Treasury Stock, Value",
        "terseLabel": "Treasury stock"
       }
      }
     },
     "localname": "TreasuryStockValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TreasuryStockValueAcquiredCostMethod": {
     "auth_ref": [
      "r293",
      "r299",
      "r301"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method.",
        "label": "Treasury Stock, Value, Acquired, Cost Method",
        "negatedTerseLabel": "Repurchase of treasury shares"
       }
      }
     },
     "localname": "TreasuryStockValueAcquiredCostMethod",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TypeOfAdoptionMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Adoption and early adoption of sources of change to generally accepted accounting principles (GAAP) in the United States. The FASB released the FASB Accounting Standards Codification as the authoritative source of literature effective for interim and annual periods ending after September 15, 2009. As part of the Codification process, the FASB issues Accounting Standards Updates to amend the Codification but otherwise the Accounting Standards Updates are not authoritative in their own right. All previous accounting standards (such as FASB Statements of Financial Accounting Standards, FASB Interpretations, FASB Staff Positions, Emerging Issues Task Force Consensuses, other pronouncements of the FASB or other designated bodies, or other forms of GAAP are considered accounting pronouncements) were superseded upon the adoption of the Codification. For an interim period, references to the superseded standards are included to help users transition from the previous accounting hierarchy and will be removed from future versions of this taxonomy.",
        "label": "Type Of Adoption [Member]",
        "terseLabel": "Type of Adoption [Domain]"
       }
      }
     },
     "localname": "TypeOfAdoptionMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_UnbilledReceivablesCurrent": {
     "auth_ref": [],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.",
        "label": "Unbilled Receivables, Current",
        "terseLabel": "Accounts receivable, unbilled",
        "verboseLabel": "Accounts receivables, unbilled"
       }
      }
     },
     "localname": "UnbilledReceivablesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UndistributedEarningsOfForeignSubsidiaries": {
     "auth_ref": [
      "r355",
      "r390",
      "r542",
      "r569"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of undistributed earnings of foreign subsidiaries intended to be permanently reinvested outside the country of domicile.",
        "label": "Undistributed Earnings of Foreign Subsidiaries",
        "terseLabel": "Undistributed earnings of subsidiaries and affiliates considered to be permanently reinvested"
       }
      }
     },
     "localname": "UndistributedEarningsOfForeignSubsidiaries",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefits": {
     "auth_ref": [
      "r357",
      "r366"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of unrecognized tax benefits.",
        "label": "Unrecognized Tax Benefits",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefits",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation": {
     "auth_ref": [
      "r366"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from foreign currency translation.",
        "label": "Unrecognized Tax Benefits, Decrease Resulting from Foreign Currency Translation",
        "negatedLabel": "Foreign exchange effect"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions": {
     "auth_ref": [
      "r367"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.",
        "label": "Unrecognized Tax Benefits Decreases Resulting from Prior Period Tax Positions and or Lapse of Applicable Statute of Limitations",
        "negatedLabel": "Reductions for tax positions from prior years/Statute of limitations expirations"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued": {
     "auth_ref": [
      "r363"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.",
        "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued",
        "terseLabel": "Amount of interest and penalties accrued related to unrecognized tax benefits"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions": {
     "auth_ref": [
      "r368"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return.",
        "label": "Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions",
        "terseLabel": "Addition for tax positions related to the current year"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation": {
     "auth_ref": [
      "r366"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase in unrecognized tax benefits resulting from foreign currency translation.",
        "label": "Unrecognized Tax Benefits, Increase Resulting from Foreign Currency Translation",
        "terseLabel": "Foreign exchange effect"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromForeignCurrencyTranslation",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnsecuredDebtMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Debt obligation not collateralized by pledge of, mortgage of or other lien on the entity's assets.",
        "label": "Unsecured Debt [Member]",
        "terseLabel": "Unsecured"
       }
      }
     },
     "localname": "UnsecuredDebtMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_UseOfEstimates": {
     "auth_ref": [
      "r176",
      "r177",
      "r179",
      "r180",
      "r186",
      "r187",
      "r188"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.",
        "label": "Use of Estimates, Policy [Policy Text Block]",
        "terseLabel": "Use of estimates"
       }
      }
     },
     "localname": "UseOfEstimates",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_UseRightsMember": {
     "auth_ref": [
      "r395"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Legal right to use or benefit from the use of natural resources or access. Examples include, but are not limited to, drilling rights, water rights, air rights, timber cutting rights and route authorities.",
        "label": "Use Rights [Member]",
        "terseLabel": "Land use rights"
       }
      }
     },
     "localname": "UseRightsMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember": {
     "auth_ref": [
      "r153"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Valuation allowance of deferred tax asset attributable to deductible temporary difference and carryforward.",
        "label": "Valuation Allowance Of Deferred Tax Assets [Member]",
        "terseLabel": "Allowance"
       }
      }
     },
     "localname": "ValuationAllowanceOfDeferredTaxAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesBalance": {
     "auth_ref": [
      "r154"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of valuation and qualifying accounts and reserves.",
        "label": "Valuation Allowances and Reserves, Balance",
        "periodEndLabel": "Closing balance",
        "periodStartLabel": "Beginning of the year",
        "terseLabel": "Valuation allowance"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesBalance",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesDeductions": {
     "auth_ref": [
      "r154"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of decrease in valuation and qualifying accounts and reserves.",
        "label": "Valuation Allowances and Reserves, Deductions",
        "negatedLabel": "Accounts written-off against allowances"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesDeductions",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Valuation and qualifying accounts and reserves.",
        "label": "Valuation Allowances And Reserves [Domain]",
        "terseLabel": "Valuation Allowances and Reserves [Domain]"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsDetails",
      "http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsTables",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ValuationAllowancesAndReservesTypeAxis": {
     "auth_ref": [
      "r154"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by valuation and qualifying accounts and reserves.",
        "label": "Valuation Allowances and Reserves Type [Axis]"
       }
      }
     },
     "localname": "ValuationAllowancesAndReservesTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsDetails",
      "http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsTables",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ValueAddedTaxReceivableCurrent": {
     "auth_ref": [
      "r69"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of value added taxes due either from customers arising from sales on credit terms, or as previously overpaid to tax authorities. For classified balance sheets, represents the current amount receivable, that is amounts expected to be collected within one year or the normal operating cycle, if longer.",
        "label": "Value added tax",
        "terseLabel": "Value added tax recoverable"
       }
      }
     },
     "localname": "ValueAddedTaxReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_VariableInterestEntityDisclosureTextBlock": {
     "auth_ref": [
      "r423"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for a variable interest entity (VIE), including but not limited to, judgments and assumptions in determining whether to consolidate and in identifying the primary beneficiary, gain (loss) recognized on the initial consolidation of the VIE, terms of arrangements, amounts and classification of the VIE's assets and liabilities, and the entity's maximum exposure to loss.",
        "label": "Variable Interest Entity Disclosure [Text Block]",
        "terseLabel": "VARIABLE INTEREST ENTITIES"
       }
      }
     },
     "localname": "VariableInterestEntityDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntities"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_VariableInterestEntityLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Variable Interest Entity [Line Items]",
        "terseLabel": "VARIABLE INTEREST ENTITIES"
       }
      }
     },
     "localname": "VariableInterestEntityLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "VARIABLE INTEREST ENTITIES"
       }
      }
     },
     "localname": "VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableInterestEntityPrimaryBeneficiaryMember": {
     "auth_ref": [
      "r412"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Variable Interest Entities (VIE) in which the entity has a controlling financial interest (as defined) and of which it is therefore the primary beneficiary. A controlling financial interest is determined based on both: (a) the entity's power to direct activities of the VIE that most significantly impact the VIE's economic performance and (b) the entity's obligation to absorb losses of the VIE that could potentially be significant to the VIE or the right to receive benefits from the VIE that could potentially be significant to the VIE. VIEs of which the entity is the primary beneficiary are included in the consolidated financial statements of the entity.",
        "label": "Variable Interest Entity Primary Beneficiary [Member]",
        "terseLabel": "Variable Interest Entity"
       }
      }
     },
     "localname": "VariableInterestEntityPrimaryBeneficiaryMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_VehiclesMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Equipment used primarily for road transportation.",
        "label": "Vehicles [Member]",
        "terseLabel": "Motor vehicles"
       }
      }
     },
     "localname": "VehiclesMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r162",
      "r168"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "terseLabel": "Shares used in computation - diluted",
        "totalLabel": "Denominator for diluted calculation - weighted average number of common shares - diluted"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r160",
      "r168"
     ],
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "terseLabel": "Shares used in computation - basic",
        "verboseLabel": "Denominator for basic calculation - weighted average number of common shares - basic"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "sharesItemType"
    }
   },
   "unitCount": 12
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6904-107765"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7(b))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7(c),9(a))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "8",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=114868897&loc=SL114872001-224240"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6911-107765"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3179-108585"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3179-108585"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3179-108585"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3213-108585"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3213-108585"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3255-108585"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3255-108585"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3255-108585"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3291-108585"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3291-108585"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6935-107765"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3291-108585"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3367-108585"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3000-108585"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=SL94080549-108585"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21D",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=SL94080555-108585"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3521-108585"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3536-108585"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3536-108585"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3602-108585"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3602-108585"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3602-108585"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3044-108585"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=98513485&loc=d3e4273-108586"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=98513485&loc=d3e4297-108586"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=98513485&loc=d3e4304-108586"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=98513485&loc=d3e4313-108586"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=98513485&loc=d3e4332-108586"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=98513485&loc=SL98516268-108586"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18780-107790"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18823-107790"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(k)(1))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(k))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(m)(1)(iii))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(e)(3)(ii))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(e),(f))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(h)(1)(i))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(h)(2))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(k)(1))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(n))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(11))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e24072-122690"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e24072-122690"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04.(a))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e24072-122690"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09(ColumnA))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e24092-122690"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-09)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e24092-122690"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "http://asc.fasb.org/topic&trid=2122369"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22663-107794"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "250",
   "URI": "http://asc.fasb.org/topic&trid=2122394"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1448-109256"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1377-109256"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1505-109256"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1252-109256"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1500-109256"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1930-109256"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=SL5780133-109256"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1337-109256"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3630-109257"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=117327953&loc=d3e4984-109258"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "260",
   "URI": "http://asc.fasb.org/topic&trid=2144383"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "270",
   "URI": "http://asc.fasb.org/extlink&oid=116846552&loc=d3e543-108305"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(17))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6327-108592"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6442-108592"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "275",
   "URI": "http://asc.fasb.org/topic&trid=2134479"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(19)(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8721-108599"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8813-108599"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=26872618&loc=d3e7436-122677"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(19))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8813-108599"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8906-108599"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8933-108599"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8933-108599"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8933-108599"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9031-108599"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9038-108599"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9038-108599"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "b",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9038-108599"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9038-108599"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9054-108599"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "280",
   "URI": "http://asc.fasb.org/topic&trid=2134510"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=118952595&loc=d3e4647-111522"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=118952595&loc=d3e4428-111522"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=118952595&loc=d3e4531-111522"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=118936363&loc=SL6953423-111524"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=118936363&loc=d3e5074-111524"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=27010918&loc=d3e74512-122707"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "310",
   "URI": "http://asc.fasb.org/topic&trid=2196771"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=118954083&loc=SL6284422-111562"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(25))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=118939692&loc=d3e27405-111563"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=118954474&loc=d3e32787-111569"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=109237563&loc=d3e33749-111570"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(b)",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "323",
   "URI": "http://asc.fasb.org/topic&trid=2196965"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=118955202&loc=SL82895884-210446"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=119407570&loc=SL82919249-210447"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(26)(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=119407570&loc=SL82919249-210447"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=116846819&loc=d3e3927-108312"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4492-108314"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4542-108314"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4556-108314"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "330",
   "URI": "http://asc.fasb.org/topic&trid=2126998"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=77989000&loc=SL49117168-202975"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=108376223&loc=d3e13816-109267"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(26)(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(2)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(3)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "350",
   "URI": "http://asc.fasb.org/topic&trid=2144416"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226317&loc=d3e202-110218"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226348&loc=d3e2420-110228"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.CC)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=27011434&loc=d3e125687-122742"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "360",
   "URI": "http://asc.fasb.org/topic&trid=2155823"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "410",
   "URI": "http://asc.fasb.org/extlink&oid=6392692&loc=d3e7535-110849"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "410",
   "URI": "http://asc.fasb.org/extlink&oid=6392692&loc=d3e7535-110849"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "http://asc.fasb.org/topic&trid=2144648"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14326-108349"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14615-108349"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14394-108349"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14435-108349"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14435-108349"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3)(a)(2))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14453-108349"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14472-108349"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14557-108349"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=6397426&loc=d3e17499-108355"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "http://asc.fasb.org/topic&trid=2127136"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=118943654&loc=d3e12021-110248"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=118943654&loc=d3e12053-110248"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=118943654&loc=d3e12069-110248"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=118943654&loc=d3e12069-110248"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(2))",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(3,4))",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(4))",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "460",
   "URI": "http://asc.fasb.org/topic&trid=2155896"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=6802200&loc=d3e1835-112601"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=6802200&loc=SL6230698-112601"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=109126253&loc=d3e4852-112606"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=109500613&loc=SL6031897-161870"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=109500613&loc=SL6031898-161870"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=109500613&loc=SL6036836-161870"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "470",
   "URI": "http://asc.fasb.org/topic&trid=2208564"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21463-112644"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21475-112644"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21506-112644"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21506-112644"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21521-112644"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21538-112644"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=27012166&loc=d3e187085-122770"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=27012166&loc=d3e187085-122770"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118944033&loc=SL49130531-203044"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118944033&loc=SL49130532-203044"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130551-203045"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130556-203045"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130556-203045"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130543-203045"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130545-203045"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130549-203045"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130549-203045"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118944142&loc=SL49130690-203046-203046"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118944142&loc=SL49130690-203046-203046"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118944142&loc=SL49130690-203046-203046"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118944142&loc=SL49130690-203046-203046"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=113356391&loc=SL49131195-203048"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "http://asc.fasb.org/topic&trid=49130388"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(n)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "70",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=49170846&loc=d3e28014-114942"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "715",
   "URI": "http://asc.fasb.org/topic&trid=2235017"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116855982&loc=SL116886442-113899"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116855982&loc=d3e4534-113899"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116855982&loc=d3e4549-113899"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5047-113901"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5047-113901"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5047-113901"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a),(g)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b),(f)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)-(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(3)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)-(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(3)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=SL79508275-113901"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.F)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=118258462&loc=d3e11149-113907"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=118258462&loc=d3e11178-113907"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "http://asc.fasb.org/topic&trid=2228938"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "730",
   "URI": "http://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=117330534&loc=d3e28680-109314"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=117330534&loc=d3e28680-109314"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=117330534&loc=d3e28680-109314"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=117330534&loc=d3e28200-109314"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "35",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=117330534&loc=d3e28937-109314"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116821951&loc=SL37586934-109318"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116821951&loc=d3e32247-109318"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116821951&loc=d3e32280-109318"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116821951&loc=d3e31931-109318"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32687-109319"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32698-109319"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32809-109319"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32840-109319"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b),(c)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32847-109319"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32559-109319"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32621-109319"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32632-109319"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "217",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=117331294&loc=d3e36027-109320"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.C)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330215-122817"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=109238882&loc=d3e38679-109324"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "30",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=65884525&loc=d3e40913-109327"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)(c)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "http://asc.fasb.org/topic&trid=2144680"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Subparagraph": "(a)-(d)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=6909625&loc=d3e227-128457"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(e)(1)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=116869197&loc=d3e4845-128472"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(i)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=77890550&loc=d3e5419-128473"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "38",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=77890550&loc=d3e5504-128473"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "38",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=77890550&loc=d3e5504-128473"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=d3e5283-111683"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4568447-111683"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4568740-111683"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4569616-111683"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4569643-111683"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4613674-111683"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4569655-111683"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4616395-111683"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=d3e5614-111684"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(7))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c),(3)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=118582676&loc=d3e5710-111685"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=118582676&loc=d3e5728-111685"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=118582676&loc=SL6759159-111685"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=118582676&loc=d3e5747-111685"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=118582676&loc=SL6228884-111685"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4I",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116874947&loc=SL4590271-111686"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116874947&loc=SL4591551-111686"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116874947&loc=SL4591552-111686"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(8))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3A-02)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116822174&loc=d3e355033-122828"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3A-03)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116822174&loc=d3e355100-122828"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3A-04)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116822174&loc=d3e355119-122828"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "810",
   "URI": "http://asc.fasb.org/topic&trid=2197479"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5579240-113959"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5579245-113959"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5579245-113959"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5579245-113959"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5580258-113959"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)(ii)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=d3e41620-113959"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.1)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=d3e41620-113959"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=d3e41638-113959"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5618551-113959"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5618551-113959"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624163-113959"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624163-113959"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624163-113959"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624171-113959"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624171-113959"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4CC",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL109998890-113959"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.12)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624177-113959"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624177-113959"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624177-113959"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624181-113959"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=d3e41675-113959"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=d3e41678-113959"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "182",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=116861445&loc=SL5629052-113961"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "25",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109977999&loc=d3e76258-113986"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.13(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19279-110258"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "60",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=7493716&loc=d3e21868-110260"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=118260190&loc=d3e13279-108611"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=118260190&loc=d3e13531-108611"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=118260190&loc=d3e13537-108611"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=118260190&loc=d3e13537-108611"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=75031198&loc=d3e14064-108612"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.13)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=109240200&loc=d3e30690-110894"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=109240200&loc=d3e30700-110894"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=6450222&loc=d3e30840-110895"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=98513438&loc=d3e33268-110906"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32022-110900"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32157-110900"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901"
  },
  "r468": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.14)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=114775744&loc=d3e28541-108399"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=114775744&loc=d3e28551-108399"
  },
  "r473": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=114775744&loc=d3e28555-108399"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400"
  },
  "r475": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(Note 3)",
   "Topic": "840",
   "URI": "http://asc.fasb.org/extlink&oid=82846649&loc=d3e38371-112697"
  },
  "r476": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "840",
   "URI": "http://asc.fasb.org/extlink&oid=77902758&loc=d3e41502-112717"
  },
  "r477": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "840",
   "URI": "http://asc.fasb.org/extlink&oid=84164817&loc=d3e45280-112737"
  },
  "r478": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "50",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "840",
   "URI": "http://asc.fasb.org/extlink&oid=82846721&loc=d3e51831-112757"
  },
  "r479": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "51",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "840",
   "URI": "http://asc.fasb.org/extlink&oid=82846721&loc=d3e51840-112757"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.17)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r480": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "840",
   "URI": "http://asc.fasb.org/extlink&oid=82846721&loc=d3e51843-112757"
  },
  "r481": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918627-209977"
  },
  "r482": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918627-209977"
  },
  "r483": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918638-209977"
  },
  "r484": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918638-209977"
  },
  "r485": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918643-209977"
  },
  "r486": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918643-209977"
  },
  "r487": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918643-209977"
  },
  "r488": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918666-209980"
  },
  "r489": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a)(7))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r490": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980"
  },
  "r491": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980"
  },
  "r492": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(1)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980"
  },
  "r493": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(2)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980"
  },
  "r494": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(3)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980"
  },
  "r495": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(4)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980"
  },
  "r496": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980"
  },
  "r497": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918701-209980"
  },
  "r498": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888399&loc=SL77918982-209971"
  },
  "r499": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/subtopic&trid=77888251"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r500": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r501": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r502": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39603-107864"
  },
  "r503": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39622-107864"
  },
  "r504": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39678-107864"
  },
  "r505": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39691-107864"
  },
  "r506": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "850",
   "URI": "http://asc.fasb.org/topic&trid=2122745"
  },
  "r507": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "855",
   "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662"
  },
  "r508": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "855",
   "URI": "http://asc.fasb.org/topic&trid=2122774"
  },
  "r509": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "340",
   "Topic": "928",
   "URI": "http://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r510": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e61929-109447"
  },
  "r511": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e61929-109447"
  },
  "r512": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e62059-109447"
  },
  "r513": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e62059-109447"
  },
  "r514": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e62395-109447"
  },
  "r515": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e62395-109447"
  },
  "r516": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "33",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e62479-109447"
  },
  "r517": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "33",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e62479-109447"
  },
  "r518": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "35A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(a)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=SL6807758-109447"
  },
  "r519": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "35A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(b)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=SL6807758-109447"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r520": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(c)(1)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e61872-109447"
  },
  "r521": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "235",
   "Subparagraph": "(c)(2)",
   "Topic": "932",
   "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=d3e61872-109447"
  },
  "r522": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "http://asc.fasb.org/extlink&oid=68072869&loc=d3e41242-110953"
  },
  "r523": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(1)(a))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r524": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(10))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r525": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r526": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(13))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r527": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(15)(2))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r528": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(16))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r529": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(17))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r530": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(22))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r531": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r532": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.15(5))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r533": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.15)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r534": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.17)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r535": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(13)(f))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=116637391&loc=SL114874048-224260"
  },
  "r536": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(13)(g))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=116637391&loc=SL114874048-224260"
  },
  "r537": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=116637391&loc=SL114874048-224260"
  },
  "r538": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(23))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=116637391&loc=SL114874048-224260"
  },
  "r539": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.13(h))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=116637391&loc=SL114874048-224260"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r540": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.9)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=116637391&loc=SL114874048-224260"
  },
  "r541": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=75038535&loc=d3e64711-112823"
  },
  "r542": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "740",
   "Subparagraph": "(b)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6479915&loc=d3e66715-112838"
  },
  "r543": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=108315417&loc=d3e61044-112788"
  },
  "r544": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(15)(b)(2))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r545": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(16))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r546": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(5))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r547": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(10))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r548": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r549": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(1))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r550": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r551": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(19))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r552": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r553": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r554": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(24))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r555": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r556": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(3))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r557": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r558": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.(a),19)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r559": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.15(a))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r560": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.17)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r561": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(10))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116637232&loc=SL114874131-224263"
  },
  "r562": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(19))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116637232&loc=SL114874131-224263"
  },
  "r563": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(3)(a))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116637232&loc=SL114874131-224263"
  },
  "r564": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116637232&loc=SL114874131-224263"
  },
  "r565": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438"
  },
  "r566": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=117419784&loc=SL117783719-158441"
  },
  "r567": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=117419784&loc=SL117783719-158441"
  },
  "r568": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=117419784&loc=SL117783719-158441"
  },
  "r569": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "740",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=6487024&loc=d3e29054-158556"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(5))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r570": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "825",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=99380617&loc=SL75241803-196195"
  },
  "r571": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "205",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=25866437&loc=d3e10246-115837"
  },
  "r572": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04.16(a))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=6488278&loc=d3e603758-122996"
  },
  "r573": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.6-04.16)",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=6488278&loc=d3e603758-122996"
  },
  "r574": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07.1(c))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=116637345&loc=SL114874292-224272"
  },
  "r575": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-14)",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=50485924&loc=d3e611322-123010"
  },
  "r576": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "320",
   "Topic": "946",
   "URI": "http://asc.fasb.org/subtopic&trid=2324412"
  },
  "r577": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "310",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Topic": "948",
   "URI": "http://asc.fasb.org/extlink&oid=6589523&loc=d3e617274-123014"
  },
  "r578": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "210",
   "Topic": "954",
   "URI": "http://asc.fasb.org/extlink&oid=116631420&loc=SL116631458-115580"
  },
  "r579": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "450",
   "Topic": "954",
   "URI": "http://asc.fasb.org/extlink&oid=6491354&loc=d3e6049-115624"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r580": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "450",
   "Topic": "954",
   "URI": "http://asc.fasb.org/extlink&oid=6491354&loc=d3e6052-115624"
  },
  "r581": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "740",
   "Topic": "954",
   "URI": "http://asc.fasb.org/extlink&oid=6491622&loc=d3e9504-115650"
  },
  "r582": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=6590653&loc=d3e638233-123024"
  },
  "r583": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 4))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=6590653&loc=d3e638233-123024"
  },
  "r584": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756"
  },
  "r585": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r586": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r587": {
   "Name": "Form 20-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "220",
   "Subsection": "f"
  },
  "r588": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1-"
  },
  "r589": {
   "Name": "Forms 10-K, 20-F, 40-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "15",
   "Subsection": "d-1"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.23)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r590": {
   "Name": "Forms 20-F, 40-F",
   "Number": "249",
   "Publisher": "SEC",
   "Section": "220 and 240",
   "Subsection": "f"
  },
  "r591": {
   "Name": "Regulation 12B",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r592": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.24)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.25)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29,30)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.3(a)(2))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.30)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.31)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.8)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.9)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226008-175313"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226024-175313"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226006-175313"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a-c)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669646-108580"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669646-108580"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669646-108580"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=d3e637-108580"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=d3e681-108580"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6801-107765"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669686-108580"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL34724394-108580"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669619-108580"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669619-108580"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669625-108580"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669625-108580"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=d3e557-108580"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116657188&loc=SL116659661-227067"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-03(e))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868656-224227"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(210.5-03(11))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6812-107765"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(1))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(12))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(2))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(21))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(5))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(8))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(b)(7)(c))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(b)(9)(a))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1(e))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  }
 },
 "version": "2.1"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>107
<FILENAME>R111.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6849511856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENT INFORMATION - Different geographic locations (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, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">$ 3,200,583<span></span>
</td>
<td class="nump">$ 3,744,512<span></span>
</td>
<td class="nump">$ 3,390,393<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Total long-lived assets</a></td>
<td class="nump">1,665,670<span></span>
</td>
<td class="nump">1,372,703<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="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_EuropeMember', window );">Europe</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="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">780,459<span></span>
</td>
<td class="nump">698,568<span></span>
</td>
<td class="nump">356,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="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_AU', window );">Australia</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="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">313,167<span></span>
</td>
<td class="nump">232,409<span></span>
</td>
<td class="nump">48,069<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Total long-lived assets</a></td>
<td class="nump">63,143<span></span>
</td>
<td class="nump">61,960<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="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_DE', window );">Germany</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">109,119<span></span>
</td>
<td class="nump">95,514<span></span>
</td>
<td class="nump">94,066<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_ZA', window );">South Africa</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="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">93,911<span></span>
</td>
<td class="nump">53,739<span></span>
</td>
<td class="nump">21,916<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_ES', window );">Spain</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="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">78,228<span></span>
</td>
<td class="nump">58,811<span></span>
</td>
<td class="nump">13,471<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_NL', window );">Netherlands</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="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">68,770<span></span>
</td>
<td class="nump">83,475<span></span>
</td>
<td class="nump">51,357<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_GB', window );">United Kingdom</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">33,158<span></span>
</td>
<td class="nump">101,479<span></span>
</td>
<td class="nump">48,295<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_CZ', window );">Czech</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="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">17,717<span></span>
</td>
<td class="nump">17,411<span></span>
</td>
<td class="nump">10,822<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=csiq_OtherCountriesEuropeMember', 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="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">66,389<span></span>
</td>
<td class="nump">55,730<span></span>
</td>
<td class="nump">68,144<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=csiq_AmericaMember', window );">The Americas</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="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">1,402,041<span></span>
</td>
<td class="nump">1,474,657<span></span>
</td>
<td class="nump">1,108,162<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">United States</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">852,231<span></span>
</td>
<td class="nump">999,144<span></span>
</td>
<td class="nump">628,815<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Total long-lived assets</a></td>
<td class="nump">60,177<span></span>
</td>
<td class="nump">50,052<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="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_BR', window );">BRAZIL</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="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">395,303<span></span>
</td>
<td class="nump">339,964<span></span>
</td>
<td class="nump">388,554<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_CA', window );">Canada</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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="top.Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Total long-lived assets</a></td>
<td class="nump">14,718<span></span>
</td>
<td class="nump">9,739<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="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_MX', window );">Mexico</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="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">94,446<span></span>
</td>
<td class="nump">50,004<span></span>
</td>
<td class="nump">5,274<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=csiq_OtherCountriesAmericaMember', 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="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">60,061<span></span>
</td>
<td class="nump">85,545<span></span>
</td>
<td class="nump">85,519<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Total long-lived assets</a></td>
<td class="nump">100,513<span></span>
</td>
<td class="nump">24,899<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="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_AsiaMember', window );">Asia</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">1,018,083<span></span>
</td>
<td class="nump">1,571,287<span></span>
</td>
<td class="nump">1,926,091<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_JP', window );">Japan</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="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">372,687<span></span>
</td>
<td class="nump">483,041<span></span>
</td>
<td class="nump">476,946<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Total long-lived assets</a></td>
<td class="nump">259,197<span></span>
</td>
<td class="nump">233,155<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="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_CN', window );">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="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">317,077<span></span>
</td>
<td class="nump">620,520<span></span>
</td>
<td class="nump">874,559<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Total long-lived assets</a></td>
<td class="nump">835,991<span></span>
</td>
<td class="nump">824,618<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="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_KR', window );">Korea</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="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">72,552<span></span>
</td>
<td class="nump">46,697<span></span>
</td>
<td class="nump">25,244<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_IN', window );">India</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">70,893<span></span>
</td>
<td class="nump">145,873<span></span>
</td>
<td class="nump">336,468<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_AE', window );">U.A.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="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">43,311<span></span>
</td>
<td class="nump">104,467<span></span>
</td>
<td class="nump">91,991<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_VN', window );">Vietnam</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="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">39,268<span></span>
</td>
<td class="nump">4,216<span></span>
</td>
<td class="nump">462<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_TH', window );">Thailand</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="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">12,753<span></span>
</td>
<td class="nump">23,511<span></span>
</td>
<td class="nump">4,167<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Total long-lived assets</a></td>
<td class="nump">331,931<span></span>
</td>
<td class="nump">168,280<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="top.Show.showAR( this, 'defref_srt_StatementGeographicalAxis=csiq_OtherCountriesAsiaMember', 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="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues generated by geographic location of customers' headquarter</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">$ 89,542<span></span>
</td>
<td class="nump">$ 142,962<span></span>
</td>
<td class="nump">$ 116,254<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e9038-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130545-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130543-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_EuropeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_EuropeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_AU">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_AU</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_DE">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_DE</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_ZA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_ZA</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_ES">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_ES</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_NL">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_NL</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_GB">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_GB</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_CZ">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_CZ</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_OtherCountriesEuropeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_OtherCountriesEuropeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_AmericaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_AmericaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_BR">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_BR</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_CA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_CA</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_MX">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_MX</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_OtherCountriesAmericaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_OtherCountriesAmericaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_AsiaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_AsiaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_JP">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_JP</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_CN">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_CN</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_KR">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_KR</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_IN">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_IN</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_AE">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_AE</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_VN">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_VN</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_TH">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_TH</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_OtherCountriesAsiaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_OtherCountriesAsiaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R115.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6829110944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SHARE-BASED COMPENSATION - Options to Employees (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2010</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>SHARE-BASED COMPENSATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Maximum aggregate number of shares to be issued</a></td>
<td class="nump">2,330,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>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares', window );">Annual percentage increase in authorized shares on the first day of each of 2007, 2008 and 2009 prior to the year of amendment for awards other than incentive option shares</a></td>
<td class="nump">1.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="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares', window );">Annual percentage increase in authorized shares on the first day of each calendar year from the year of amendment for awards other than incentive option shares</a></td>
<td class="nump">2.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate', window );">Number of shares to be granted after expiration</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="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="top.Show.showAR( this, 'defref_csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm', window );">Expiry term of share options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Options | Employees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>SHARE-BASED COMPENSATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Option exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">103,723<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Weighted average exercise price of shares exercised (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 8.47<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Total intrinsic value of options exercised (in dollars)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,422<span></span>
</td>
<td class="nump">$ 256<span></span>
</td>
<td class="nump">$ 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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Options outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">120,779<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">120,779<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted average exercise price of options outstanding (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10.97<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10.97<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted average remaining contract terms of options outstanding (in years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Intrinsic value of outstanding options (in dollars)</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="nump">$ 1,344<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward', window );"><strong>Number of Options</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercised (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(103,723)<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Options outstanding at the end of the period (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">120,779<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward', window );"><strong>Weighted Average Exercise Price</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Exercised (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 8.47<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Options outstanding at the end of the period (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10.97<span></span>
</td>
<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="top.Show.showAR( this, 'defref_csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardWeightedAverageRemainingContractualTermAbstract', window );"><strong>Weighted Average Remaining Contract Terms</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Options outstanding at the end of the period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year<span></span>
</td>
<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="top.Show.showAR( this, 'defref_csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardAggregateIntrinsicValueAbstract', window );"><strong>Aggregate Intrinsic Value</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Options outstanding at the end of the period</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="nump">$ 1,344<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Total intrinsic value of options exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,422<span></span>
</td>
<td class="nump">$ 256<span></span>
</td>
<td class="nump">$ 605<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_csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the annual percentage increase in authorized shares on the first business day of each calendar year from the year of amendment for awards other than incentive option shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the annual percentage increase in authorized shares on the first business day of each of 2007, 2008 and 2009 prior to the year of amendment for awards other than incentive option shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardAggregateIntrinsicValueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardAggregateIntrinsicValueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the number of awards that may be granted under the share incentive plan after the expiration date of May 8, 2021.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the expiry term of share options from the date of grant, granted under the share incentive plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardWeightedAverageRemainingContractualTermAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardWeightedAverageRemainingContractualTermAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares authorized for issuance under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>num: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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward</td>
</tr>
<tr>
<td style="padding-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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GranteeStatusAxis=us-gaap_ShareBasedPaymentArrangementEmployeeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_GranteeStatusAxis=us-gaap_ShareBasedPaymentArrangementEmployeeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6837170240">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>EARNINGS PER SHARE<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>EARNINGS PER SHARE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">EARNINGS PER SHARE</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">19.&#160;EARNINGS PER SHARE</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table sets forth the computation of basic and diluted earnings per share for the years indicated:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:50.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:50.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars,&#160;except&#160;share&#160;and</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:50.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">per&#160;share</b><b style="font-family:'Calibri';font-weight:bold;">&#160;</b><b style="font-weight:bold;">data)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Numerator:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net income attributable to Canadian Solar Inc. &#8212; basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 99,572</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 237,070</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 171,585</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Dilutive effect of interest expense of convertible notes</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,649</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,683</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 975</p></td></tr><tr><td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net income attributable to Canadian Solar Inc. &#8212; diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 104,221</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 241,753</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 172,560</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Denominator:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Denominator for basic calculation &#8212; weighted average number of common shares &#8212; basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,167,004</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,914,540</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,633,855</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Diluted effects of share number from share options and RSUs</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 547,821</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 543,797</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 794,526</p></td></tr><tr><td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Dilutive effects of share number from convertible notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,833,333</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,833,333</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 349,315</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Denominator for diluted calculation &#8212; weighted average number of common shares &#8212; diluted</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 61,548,158</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 62,291,670</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60,777,696</p></td></tr><tr><td style="vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Basic earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.71</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.02</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.88</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Diluted earnings per share</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.82%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.69</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.88</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.83</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table sets forth anti-dilutive shares excluded from the computation of diluted earnings per share for the years indicated.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:63.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:34.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:63.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:63.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Share options and RSUs</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 372,743</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 276,618</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,950</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -URI http://asc.fasb.org/topic&amp;trid=2144383<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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>110
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6841869872">
<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, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract', 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="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentsDisclosureTextBlock', window );">INVESTMENTS IN AFFILIATES</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">11.&#160;INVESTMENTS IN AFFILIATES</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Investments in affiliates consist of the following:</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:38.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ownership</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ownership</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percentage</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percentage</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(%)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(%)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">RE Roserock Holdings LLC (&#8220;Roserock&#8221;)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 62,767</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83,034</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49</p></td></tr><tr><td style="vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Canadian Solar Infrastructure Fund, Inc.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,990</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14.66</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,162</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14.66</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Suzhou Financial Leasing Co., Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,361</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,050</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6</p></td></tr><tr><td style="vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,977</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">21-49</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,582</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">15-49</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 126,095</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 152,828</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Tax equity transactions</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2015, the Company, through its wholly owned subsidiary, Recurrent, entered into the following tax equity transactions: </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In December 2015, the Company completed the sale of 100% of the class A membership interests of RE Roserock Holdings LLC, the holding company of the Roserock project companies, to Southern. The Company maintains 100% ownership in the class B membership interests of RE Roserock Holdings LLC. Southern paid the Company an initial contribution of $45 million in cash for the class A membership interests in RE Roserock Holdings LLC.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under the LLC agreements, the class A membership interests and class B membership interests will receive 51% and 49%, respectively, of future cash flow distributions, and Southern is entitled to substantially all of the projects&#8217; federal tax benefits.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Effective with the sale of the class A membership interests, the Company ceased having controlling financial interests in Roserock, and accounted for the transactions as partial sales of real estates under ASC360-20 when the transactions incurred in 2015. The Company also considered that it would continue to exercise significant influences over its retained interests in and has accounted for these interests pursuant to the equity method of accounting.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Under this method, the Company recognizes its equity in earnings attributable to class B membership interests according to its proportionate share of investees&#8217; operating cash flows. Additionally, the Company amortizes the basis difference between the cost of investment and its proportionate share of the investees&#8217; net assets over the estimated lives of the related assets.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">11.&#160;INVESTMENTS IN AFFILIATES </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In December 2018, the Company wrote down the class B membership interests in Roserock project to its anticipated resell value by $5.0 million.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Other investments</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On September 8, 2015, SZSP established an entity, Suzhou Financial Leasing Co., Ltd., for cash consideration of $13,860, in which the Company holds 6% voting interests. One of five board members is designated by SZSP and, as such SZSP is considered having significant influence over the investee and the equity method is used in this investment.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On October 26, 2017, Canadian Solar Infrastructure Fund, Inc. ("CSIF") priced its initial public offering. As of December 31, 2018 and 2019, the Company owned 14.66% of total units of CSIF. One out of the three members of the board of directors of CSIF represents the Company. The quorum for a board resolution of CSIF is a majority of the members of the board of directors, and the adoption of a resolution requires a majority of the votes presents.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In September 2018, the Company made full impairment charge of $0.7 million on investment in eNow, Inc., in which the Company holds 10% voting interests, due to deterioration of the investee&#8217;s financial position.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Equity in earnings of unconsolidated investees were $9,411, $5,908 and $28,948 for the years ended December 31, 2017, 2018 and 2019, 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_EquityMethodInvestmentsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for equity method investments and joint ventures. Equity method investments are investments that give the investor the ability to exercise significant influence over the operating and financial policies of an investee. Joint ventures are entities owned and operated by a small group of businesses as a separate and specific business or project for the mutual benefit of the members of the group.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.3A-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=116822174&amp;loc=d3e355119-122828<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -URI http://asc.fasb.org/topic&amp;trid=2196965<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract</td>
</tr>
<tr>
<td style="padding-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>111
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6841909232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ACCRUED WARRANTY COSTS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantiesDisclosuresAbstract', window );"><strong>ACCRUED WARRANTY COSTS</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="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyDisclosureTextBlock', window );">ACCRUED WARRANTY COSTS</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">15.&#160;ACCRUED WARRANTY COSTS</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The Company&#8217;s warranty activity is summarized below:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:35.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Beginning balance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 61,139</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,659</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,605</p></td></tr><tr><td style="vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Warranty provision</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,793</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,188</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,044</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Warranty costs incurred</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (26,552)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (16,732)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (23,282)</p></td></tr><tr><td style="vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,279</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,510)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 511</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Ending balance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,659</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,605</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,878</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantiesDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantiesDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-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_ProductWarrantyDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -URI http://asc.fasb.org/topic&amp;trid=2155896<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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>112
<FILENAME>R119.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6853230080">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Financial Statement Schedule I - BALANCE SHEETS (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 668,770<span></span>
</td>
<td class="nump">$ 444,298<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable trade, net of allowance for doubtful accounts of $3,462 and $3,379 as of December 31, 2018 and 2019, respectively</a></td>
<td class="nump">436,815<span></span>
</td>
<td class="nump">498,231<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DueFromRelatedPartiesCurrent', window );">Amounts due from subsidiaries</a></td>
<td class="nump">31,232<span></span>
</td>
<td class="nump">16,740<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">253,542<span></span>
</td>
<td class="nump">289,459<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">3,252,936<span></span>
</td>
<td class="nump">3,074,321<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax assets, net</a></td>
<td class="nump">153,963<span></span>
</td>
<td class="nump">121,087<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other non-current assets</a></td>
<td class="nump">153,253<span></span>
</td>
<td class="nump">129,605<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Assets', window );">TOTAL ASSETS</a></td>
<td class="nump">5,467,207<span></span>
</td>
<td class="nump">4,892,658<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConvertibleNotesPayableCurrent', window );">Convertible notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">127,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="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableTradeCurrent', window );">Accounts payable</a></td>
<td class="nump">585,601<span></span>
</td>
<td class="nump">379,462<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DueToRelatedPartiesCurrent', window );">Amounts due to related parties</a></td>
<td class="nump">10,077<span></span>
</td>
<td class="nump">16,847<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLiabilitiesCurrent', window );">Derivative liabilities</a></td>
<td class="nump">10,481<span></span>
</td>
<td class="nump">13,698<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesCurrent', window );">Other current liabilities</a></td>
<td class="nump">121,527<span></span>
</td>
<td class="nump">141,970<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">3,091,997<span></span>
</td>
<td class="nump">2,948,357<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermNotesAndLoans', window );">Long-term borrowings</a></td>
<td class="nump">619,477<span></span>
</td>
<td class="nump">393,614<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred tax liabilities</a></td>
<td class="nump">56,463<span></span>
</td>
<td class="nump">35,698<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent', window );">Liability for uncertain tax positions</a></td>
<td class="nump">15,353<span></span>
</td>
<td class="nump">20,128<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Liabilities', window );">TOTAL LIABILITIES</a></td>
<td class="nump">4,042,149<span></span>
</td>
<td class="nump">3,619,813<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract', window );"><strong>Equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common shares - no par value: unlimited authorized shares, 59,180,624 and 59,371,684 shares issued and outstanding at December 31, 2018 and 2019, respectively</a></td>
<td class="nump">703,806<span></span>
</td>
<td class="nump">702,931<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">17,179<span></span>
</td>
<td class="nump">10,675<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">793,601<span></span>
</td>
<td class="nump">622,016<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(109,607)<span></span>
</td>
<td class="num">(110,149)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total Canadian Solar Inc. shareholders' equity</a></td>
<td class="nump">1,393,134<span></span>
</td>
<td class="nump">1,225,473<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">TOTAL LIABILITIES AND EQUITY</a></td>
<td class="nump">5,467,207<span></span>
</td>
<td class="nump">4,892,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="top.Show.showAR( this, 'defref_srt_ConsolidatedEntitiesAxis=srt_ParentCompanyMember', window );">Parent Company | Reportable Legal Entities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">1,362<span></span>
</td>
<td class="nump">9,097<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalents', window );">Restricted cash</a></td>
<td class="nump">950<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable trade, net of allowance for doubtful accounts of $3,462 and $3,379 as of December 31, 2018 and 2019, respectively</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,476<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DueFromRelatedPartiesCurrent', window );">Amounts due from subsidiaries</a></td>
<td class="nump">341,557<span></span>
</td>
<td class="nump">279,039<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">9,846<span></span>
</td>
<td class="nump">15,222<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">353,715<span></span>
</td>
<td class="nump">314,834<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="top.Show.showAR( this, 'defref_csiq_InvestmentInSubsidiaries', window );">Investments in subsidiaries</a></td>
<td class="nump">1,383,935<span></span>
</td>
<td class="nump">1,154,004<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="top.Show.showAR( this, 'defref_csiq_InvestmentInAffiliates', window );">Investments in Affiliates</a></td>
<td class="nump">2,483<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax assets, net</a></td>
<td class="nump">23,657<span></span>
</td>
<td class="nump">28,208<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other non-current assets</a></td>
<td class="nump">69,070<span></span>
</td>
<td class="nump">68,068<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Assets', window );">TOTAL ASSETS</a></td>
<td class="nump">1,832,860<span></span>
</td>
<td class="nump">1,565,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="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConvertibleNotesPayableCurrent', window );">Convertible notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">127,428<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableTradeCurrent', window );">Accounts payable</a></td>
<td class="nump">3<span></span>
</td>
<td class="nump">3,903<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DueToRelatedPartiesCurrent', window );">Amounts due to related parties</a></td>
<td class="nump">340,502<span></span>
</td>
<td class="nump">154,765<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLiabilitiesCurrent', window );">Derivative liabilities</a></td>
<td class="nump">4,713<span></span>
</td>
<td class="nump">3,879<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesCurrent', window );">Other current liabilities</a></td>
<td class="nump">8,531<span></span>
</td>
<td class="nump">8,255<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">353,749<span></span>
</td>
<td class="nump">298,230<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermNotesAndLoans', window );">Long-term borrowings</a></td>
<td class="nump">50,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="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred tax liabilities</a></td>
<td class="nump">22,936<span></span>
</td>
<td class="nump">28,779<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent', window );">Liability for uncertain tax positions</a></td>
<td class="nump">13,041<span></span>
</td>
<td class="nump">12,633<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Liabilities', window );">TOTAL LIABILITIES</a></td>
<td class="nump">439,726<span></span>
</td>
<td class="nump">339,642<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract', window );"><strong>Equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common shares - no par value: unlimited authorized shares, 59,180,624 and 59,371,684 shares issued and outstanding at December 31, 2018 and 2019, respectively</a></td>
<td class="nump">703,806<span></span>
</td>
<td class="nump">702,931<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Treasury stock</a></td>
<td class="num">(11,845)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">17,179<span></span>
</td>
<td class="nump">10,675<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">793,601<span></span>
</td>
<td class="nump">622,015<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(109,607)<span></span>
</td>
<td class="num">(110,149)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total Canadian Solar Inc. shareholders' equity</a></td>
<td class="nump">1,393,134<span></span>
</td>
<td class="nump">1,225,472<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">TOTAL LIABILITIES AND EQUITY</a></td>
<td class="nump">$ 1,832,860<span></span>
</td>
<td class="nump">$ 1,565,114<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_InvestmentInAffiliates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in affiliates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_InvestmentInAffiliates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_InvestmentInSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investment in subsidiaries.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_InvestmentInSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccountsPayableTradeCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableTradeCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118952595&amp;loc=d3e4428-111522<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=118952595&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=d3e637-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669686-108580<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=d3e681-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6801-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ConvertibleNotesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of the portion of long-term debt due within one year or the operating cycle if longer identified as Convertible Notes Payable. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConvertibleNotesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=116821951&amp;loc=d3e31931-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, expected to be settled within one year or normal operating cycle, if longer. Includes assets not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DueFromRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of receivables to be collected from related parties where one party can exercise control or significant influence over another party; including affiliates, owners or officers and their immediate families, pension trusts, and so forth, at the financial statement date. which are usually due within one year (or one business cycle).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DueFromRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DueToRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of obligations due all related parties. For classified balance sheets, represents the current portion of such liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(k)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DueToRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_LiabilityForUncertainTaxPositionsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for uncertainty in income taxes classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilityForUncertainTaxPositionsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LongTermNotesAndLoans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of all notes and loans payable (with maturities initially due after one year or beyond the operating cycle if longer), excluding current portion.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermNotesAndLoans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6904-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6911-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(7))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_RestrictedCashAndCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=SL98516268-108586<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3044-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=27010918&amp;loc=d3e74512-122707<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=6405834&amp;loc=d3e23315-112656<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29,30)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ParentCompanyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ParentCompanyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6830213952">
<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, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract', 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="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentsTextBlock', window );">Schedule of investments in affiliates</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:38.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="3" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:18.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ownership</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Ownership</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percentage</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percentage</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(%)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(%)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">RE Roserock Holdings LLC (&#8220;Roserock&#8221;)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 62,767</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83,034</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49</p></td></tr><tr><td style="vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Canadian Solar Infrastructure Fund, Inc.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,990</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14.66</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,162</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14.66</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Suzhou Financial Leasing Co., Ltd.</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,361</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,050</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6</p></td></tr><tr><td style="vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Others</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,977</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">21-49</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,582</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">15-49</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:59.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 126,095</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 152,828</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of equity method investments including, but not limited to, name of each investee or group of investments, percentage ownership, difference between recorded amount of an investment and the value of the underlying equity in the net assets, and summarized financial information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract</td>
</tr>
<tr>
<td style="padding-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>114
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.20.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>533</ContextCount>
  <ElementCount>703</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>210</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>12</UnitCount>
  <MyReports>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00090 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>00100 - Statement - CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF OPERATIONS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>00300 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>00400 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>00405 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>00500 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>00505 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>10101 - Disclosure - ORGANIZATION AND PRINCIPAL ACTIVITIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivities</Role>
      <ShortName>ORGANIZATION AND PRINCIPAL ACTIVITIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>10201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPolicies</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>10301 - Disclosure - ALLOWANCE FOR DOUBTFUL ACCOUNTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccounts</Role>
      <ShortName>ALLOWANCE FOR DOUBTFUL ACCOUNTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>10401 - Disclosure - INVENTORIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureInventories</Role>
      <ShortName>INVENTORIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>10501 - Disclosure - PROJECT ASSETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureProjectAssets</Role>
      <ShortName>PROJECT ASSETS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>10601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNet</Role>
      <ShortName>PROPERTY, PLANT AND EQUIPMENT, NET</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>10701 - Disclosure - SOLAR POWER SYSTEMS, NET</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNet</Role>
      <ShortName>SOLAR POWER SYSTEMS, NET</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>10801 - Disclosure - INTANGIBLE ASSETS, NET</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNet</Role>
      <ShortName>INTANGIBLE ASSETS, NET</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>10901 - Disclosure - FAIR VALUE MEASUREMENT</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFairValueMeasurement</Role>
      <ShortName>FAIR VALUE MEASUREMENT</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>11001 - Disclosure - VARIABLE INTEREST ENTITIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureVariableInterestEntities</Role>
      <ShortName>VARIABLE INTEREST ENTITIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>11101 - Disclosure - INVESTMENTS IN AFFILIATES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliates</Role>
      <ShortName>INVESTMENTS IN AFFILIATES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>11201 - Disclosure - LEASE</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureLease</Role>
      <ShortName>LEASE</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>11301 - Disclosure - BORROWINGS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureBorrowings</Role>
      <ShortName>BORROWINGS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>11401 - Disclosure - SHORT-TERM NOTES PAYABLE</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureShortTermNotesPayable</Role>
      <ShortName>SHORT-TERM NOTES PAYABLE</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>11501 - Disclosure - ACCRUED WARRANTY COSTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCosts</Role>
      <ShortName>ACCRUED WARRANTY COSTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>11601 - Disclosure - RESTRICTED NET ASSETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureRestrictedNetAssets</Role>
      <ShortName>RESTRICTED NET ASSETS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>11701 - Disclosure - CONVERTIBLE NOTES</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureConvertibleNotes</Role>
      <ShortName>CONVERTIBLE NOTES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>11801 - Disclosure - INCOME TAXES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureIncomeTaxes</Role>
      <ShortName>INCOME TAXES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>11901 - Disclosure - EARNINGS PER SHARE</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureEarningsPerShare</Role>
      <ShortName>EARNINGS PER SHARE</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>12001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactions</Role>
      <ShortName>RELATED PARTY BALANCES AND TRANSACTIONS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>29</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>12101 - Disclosure - COMMITMENTS AND CONTINGENCIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingencies</Role>
      <ShortName>COMMITMENTS AND CONTINGENCIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>30</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>12201 - Disclosure - SEGMENT INFORMATION</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSegmentInformation</Role>
      <ShortName>SEGMENT INFORMATION</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>31</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>12301 - Disclosure - MAJOR CUSTOMERS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureMajorCustomers</Role>
      <ShortName>MAJOR CUSTOMERS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>32</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>12401 - Disclosure - EMPLOYEE BENEFIT PLANS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlans</Role>
      <ShortName>EMPLOYEE BENEFIT PLANS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>33</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>12501 - Disclosure - SHARE-BASED COMPENSATION</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureShareBasedCompensation</Role>
      <ShortName>SHARE-BASED COMPENSATION</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>34</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>12601 - Disclosure - SUBSEQUENT EVENTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSubsequentEvents</Role>
      <ShortName>SUBSEQUENT EVENTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>12701 - Disclosure - Additional Information - Financial Statement Schedule I</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureAdditionalInformationFinancialStatementScheduleI</Role>
      <ShortName>Additional Information - Financial Statement Schedule I</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>36</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>12801 - Disclosure - Appendix 1 - Major Subsidiaries of CSI</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsi</Role>
      <ShortName>Appendix 1 - Major Subsidiaries of CSI</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>37</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>20202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>30203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPolicies</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>30303 - Disclosure - ALLOWANCE FOR DOUBTFUL ACCOUNTS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsTables</Role>
      <ShortName>ALLOWANCE FOR DOUBTFUL ACCOUNTS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccounts</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>30403 - Disclosure - INVENTORIES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureInventoriesTables</Role>
      <ShortName>INVENTORIES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureInventories</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>30503 - Disclosure - PROJECT ASSETS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureProjectAssetsTables</Role>
      <ShortName>PROJECT ASSETS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureProjectAssets</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>30603 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetTables</Role>
      <ShortName>PROPERTY, PLANT AND EQUIPMENT, NET (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNet</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>30703 - Disclosure - SOLAR POWER SYSTEMS, NET (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetTables</Role>
      <ShortName>SOLAR POWER SYSTEMS, NET (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNet</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>30803 - Disclosure - INTANGIBLE ASSETS, NET (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetTables</Role>
      <ShortName>INTANGIBLE ASSETS, NET (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNet</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>30903 - Disclosure - FAIR VALUE MEASUREMENT (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables</Role>
      <ShortName>FAIR VALUE MEASUREMENT (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureFairValueMeasurement</ParentRole>
      <Position>46</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>31003 - Disclosure - VARIABLE INTEREST ENTITIES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesTables</Role>
      <ShortName>VARIABLE INTEREST ENTITIES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureVariableInterestEntities</ParentRole>
      <Position>47</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>31103 - Disclosure - INVESTMENTS IN AFFILIATES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTables</Role>
      <ShortName>INVESTMENTS IN AFFILIATES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliates</ParentRole>
      <Position>48</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>31203 - Disclosure - LEASE (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureLeaseTables</Role>
      <ShortName>LEASE (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureLease</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>31303 - Disclosure - BORROWINGS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureBorrowingsTables</Role>
      <ShortName>BORROWINGS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureBorrowings</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>31503 - Disclosure - ACCRUED WARRANTY COSTS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsTables</Role>
      <ShortName>ACCRUED WARRANTY COSTS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCosts</ParentRole>
      <Position>51</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>31803 - Disclosure - INCOME TAXES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables</Role>
      <ShortName>INCOME TAXES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureIncomeTaxes</ParentRole>
      <Position>52</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>31903 - Disclosure - EARNINGS PER SHARE (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureEarningsPerShareTables</Role>
      <ShortName>EARNINGS PER SHARE (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureEarningsPerShare</ParentRole>
      <Position>53</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>32103 - Disclosure - COMMITMENTS AND CONTINGENCIES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables</Role>
      <ShortName>COMMITMENTS AND CONTINGENCIES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingencies</ParentRole>
      <Position>54</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>32203 - Disclosure - SEGMENT INFORMATION (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSegmentInformationTables</Role>
      <ShortName>SEGMENT INFORMATION (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureSegmentInformation</ParentRole>
      <Position>55</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>32303 - Disclosure - MAJOR CUSTOMERS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureMajorCustomersTables</Role>
      <ShortName>MAJOR CUSTOMERS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureMajorCustomers</ParentRole>
      <Position>56</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>32503 - Disclosure - SHARE-BASED COMPENSATION (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureShareBasedCompensationTables</Role>
      <ShortName>SHARE-BASED COMPENSATION (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureShareBasedCompensation</ParentRole>
      <Position>57</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>40201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Allowance for doubtful receivables (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Allowance for doubtful receivables (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>40202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Property, plant and equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Property, plant and equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>40203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Prepaid land use rights (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Prepaid land use rights (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>40204 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Asset retirement obligation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Asset retirement obligation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>40205 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>40206 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Disaggregation of Revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Disaggregation of Revenue (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>40207 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>40208 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Shipping and handling costs, Research and development (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Shipping and handling costs, Research and development (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>40209 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating income, net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating income, net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>40210 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>67</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>40211 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Recently issued accounting pronouncements (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Recently issued accounting pronouncements (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>68</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>40301 - Disclosure - ALLOWANCE FOR DOUBTFUL ACCOUNTS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsDetails</Role>
      <ShortName>ALLOWANCE FOR DOUBTFUL ACCOUNTS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsTables</ParentRole>
      <Position>69</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>40401 - Disclosure - INVENTORIES (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureInventoriesDetails</Role>
      <ShortName>INVENTORIES (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureInventoriesTables</ParentRole>
      <Position>70</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>40501 - Disclosure - PROJECT ASSETS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails</Role>
      <ShortName>PROJECT ASSETS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureProjectAssetsTables</ParentRole>
      <Position>71</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>40601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails</Role>
      <ShortName>PROPERTY, PLANT AND EQUIPMENT, NET (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetTables</ParentRole>
      <Position>72</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>40701 - Disclosure - SOLAR POWER SYSTEMS, NET (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails</Role>
      <ShortName>SOLAR POWER SYSTEMS, NET (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetTables</ParentRole>
      <Position>73</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>40801 - Disclosure - INTANGIBLE ASSETS, NET (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails</Role>
      <ShortName>INTANGIBLE ASSETS, NET (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetTables</ParentRole>
      <Position>74</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>40901 - Disclosure - FAIR VALUE MEASUREMENT (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails</Role>
      <ShortName>FAIR VALUE MEASUREMENT (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables</ParentRole>
      <Position>75</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>40902 - Disclosure - FAIR VALUE MEASUREMENT - Interest rate swap (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails</Role>
      <ShortName>FAIR VALUE MEASUREMENT - Interest rate swap (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>76</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>40903 - Disclosure - FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails</Role>
      <ShortName>FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>77</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>40904 - Disclosure - FAIR VALUE MEASUREMENT - Carrying value (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails</Role>
      <ShortName>FAIR VALUE MEASUREMENT - Carrying value (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>78</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>41001 - Disclosure - VARIABLE INTEREST ENTITIES (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails</Role>
      <ShortName>VARIABLE INTEREST ENTITIES (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesTables</ParentRole>
      <Position>79</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>41101 - Disclosure - INVESTMENTS IN AFFILIATES (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails</Role>
      <ShortName>INVESTMENTS IN AFFILIATES (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTables</ParentRole>
      <Position>80</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>41102 - Disclosure - INVESTMENTS IN AFFILIATES - Tax equity transactions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails</Role>
      <ShortName>INVESTMENTS IN AFFILIATES - Tax equity transactions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>81</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>41103 - Disclosure - INVESTMENTS IN AFFILIATES - Other investments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails</Role>
      <ShortName>INVESTMENTS IN AFFILIATES - Other investments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>82</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>41201 - Disclosure - LEASE - Lease expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails</Role>
      <ShortName>LEASE - Lease expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>83</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>41202 - Disclosure - LEASE - Cash flow (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails</Role>
      <ShortName>LEASE - Cash flow (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>84</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>41203 - Disclosure - LEASE - Additional information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails</Role>
      <ShortName>LEASE - Additional information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>85</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>41204 - Disclosure - LEASE - Operating leases - Maturities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails</Role>
      <ShortName>LEASE - Operating leases - Maturities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>86</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R87.htm</HtmlFileName>
      <LongName>41205 - Disclosure - LEASE - Operating leases - Gross difference (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails</Role>
      <ShortName>LEASE - Operating leases - Gross difference (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>87</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R88.htm</HtmlFileName>
      <LongName>41206 - Disclosure - LEASE - Finance leases - Maturities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails</Role>
      <ShortName>LEASE - Finance leases - Maturities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>88</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R89.htm</HtmlFileName>
      <LongName>41207 - Disclosure - LEASE - Finance leases - Gross difference (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails</Role>
      <ShortName>LEASE - Finance leases - Gross difference (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>89</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R90.htm</HtmlFileName>
      <LongName>41208 - Disclosure - LEASE - Total leases - Maturities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails</Role>
      <ShortName>LEASE - Total leases - Maturities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>90</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R91.htm</HtmlFileName>
      <LongName>41209 - Disclosure - LEASE - Total leases - Gross difference (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails</Role>
      <ShortName>LEASE - Total leases - Gross difference (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>91</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R92.htm</HtmlFileName>
      <LongName>41210 - Disclosure - LEASE - Total leases - Summary (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails</Role>
      <ShortName>LEASE - Total leases - Summary (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>92</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R93.htm</HtmlFileName>
      <LongName>41301 - Disclosure - BORROWINGS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureBorrowingsDetails</Role>
      <ShortName>BORROWINGS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureBorrowingsTables</ParentRole>
      <Position>93</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R94.htm</HtmlFileName>
      <LongName>41302 - Disclosure - BORROWINGS - Short term (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureBorrowingsShortTermDetails</Role>
      <ShortName>BORROWINGS - Short term (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>94</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R95.htm</HtmlFileName>
      <LongName>41303 - Disclosure - BORROWINGS - Long term (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails</Role>
      <ShortName>BORROWINGS - Long term (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>95</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R96.htm</HtmlFileName>
      <LongName>41304 - Disclosure - BORROWINGS - Long term narrative and interest expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails</Role>
      <ShortName>BORROWINGS - Long term narrative and interest expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>96</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R97.htm</HtmlFileName>
      <LongName>41401 - Disclosure - SHORT-TERM NOTES PAYABLE (Details)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureShortTermNotesPayableDetails</Role>
      <ShortName>SHORT-TERM NOTES PAYABLE (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureShortTermNotesPayable</ParentRole>
      <Position>97</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R98.htm</HtmlFileName>
      <LongName>41501 - Disclosure - ACCRUED WARRANTY COSTS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails</Role>
      <ShortName>ACCRUED WARRANTY COSTS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsTables</ParentRole>
      <Position>98</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R99.htm</HtmlFileName>
      <LongName>41601 - Disclosure - RESTRICTED NET ASSETS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureRestrictedNetAssetsDetails</Role>
      <ShortName>RESTRICTED NET ASSETS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureRestrictedNetAssets</ParentRole>
      <Position>99</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R100.htm</HtmlFileName>
      <LongName>41701 - Disclosure - CONVERTIBLE NOTES (Details)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails</Role>
      <ShortName>CONVERTIBLE NOTES (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureConvertibleNotes</ParentRole>
      <Position>100</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R101.htm</HtmlFileName>
      <LongName>41801 - Disclosure - INCOME TAXES - Provision for income taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails</Role>
      <ShortName>INCOME TAXES - Provision for income taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>101</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R102.htm</HtmlFileName>
      <LongName>41802 - Disclosure - INCOME TAXES - Domestic federal statutory tax rates (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails</Role>
      <ShortName>INCOME TAXES - Domestic federal statutory tax rates (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>102</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R103.htm</HtmlFileName>
      <LongName>41803 - Disclosure - INCOME TAXES - Deferred tax assets and liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails</Role>
      <ShortName>INCOME TAXES - Deferred tax assets and liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>103</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R104.htm</HtmlFileName>
      <LongName>41804 - Disclosure - INCOME TAXES - Reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails</Role>
      <ShortName>INCOME TAXES - Reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>104</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R105.htm</HtmlFileName>
      <LongName>41805 - Disclosure - INCOME TAXES - Movement of the valuation allowance (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails</Role>
      <ShortName>INCOME TAXES - Movement of the valuation allowance (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>105</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R106.htm</HtmlFileName>
      <LongName>41901 - Disclosure - EARNINGS PER SHARE (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails</Role>
      <ShortName>EARNINGS PER SHARE (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureEarningsPerShareTables</ParentRole>
      <Position>106</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R107.htm</HtmlFileName>
      <LongName>42001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails</Role>
      <ShortName>RELATED PARTY BALANCES AND TRANSACTIONS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactions</ParentRole>
      <Position>107</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R108.htm</HtmlFileName>
      <LongName>42101 - Disclosure - COMMITMENTS AND CONTINGENCIES - Commitments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails</Role>
      <ShortName>COMMITMENTS AND CONTINGENCIES - Commitments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>108</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R109.htm</HtmlFileName>
      <LongName>42102 - Disclosure - COMMITMENTS AND CONTINGENCIES - Contingencies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails</Role>
      <ShortName>COMMITMENTS AND CONTINGENCIES - Contingencies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>109</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R110.htm</HtmlFileName>
      <LongName>42201 - Disclosure - SEGMENT INFORMATION (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails</Role>
      <ShortName>SEGMENT INFORMATION (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureSegmentInformationTables</ParentRole>
      <Position>110</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R111.htm</HtmlFileName>
      <LongName>42202 - Disclosure - SEGMENT INFORMATION - Different geographic locations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails</Role>
      <ShortName>SEGMENT INFORMATION - Different geographic locations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>111</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R112.htm</HtmlFileName>
      <LongName>42203 - Disclosure - SEGMENT INFORMATION - Each product or service (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails</Role>
      <ShortName>SEGMENT INFORMATION - Each product or service (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>112</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R113.htm</HtmlFileName>
      <LongName>42301 - Disclosure - MAJOR CUSTOMERS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails</Role>
      <ShortName>MAJOR CUSTOMERS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureMajorCustomersTables</ParentRole>
      <Position>113</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R114.htm</HtmlFileName>
      <LongName>42401 - Disclosure - EMPLOYEE BENEFIT PLANS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails</Role>
      <ShortName>EMPLOYEE BENEFIT PLANS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlans</ParentRole>
      <Position>114</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R115.htm</HtmlFileName>
      <LongName>42501 - Disclosure - SHARE-BASED COMPENSATION - Options to Employees (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails</Role>
      <ShortName>SHARE-BASED COMPENSATION - Options to Employees (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>115</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R116.htm</HtmlFileName>
      <LongName>42502 - Disclosure - SHARE-BASED COMPENSATION - RSUs to Employees (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails</Role>
      <ShortName>SHARE-BASED COMPENSATION - RSUs to Employees (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>116</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R117.htm</HtmlFileName>
      <LongName>42601 - Disclosure - SUBSEQUENT EVENTS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSubsequentEventsDetails</Role>
      <ShortName>SUBSEQUENT EVENTS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureSubsequentEvents</ParentRole>
      <Position>117</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R118.htm</HtmlFileName>
      <LongName>42701 - Disclosure - Financial Statement Schedule I (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIDetails</Role>
      <ShortName>Financial Statement Schedule I (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>118</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R119.htm</HtmlFileName>
      <LongName>42702 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails</Role>
      <ShortName>Financial Statement Schedule I - BALANCE SHEETS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>119</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R120.htm</HtmlFileName>
      <LongName>42703 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails</Role>
      <ShortName>Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>120</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R121.htm</HtmlFileName>
      <LongName>42704 - Disclosure - Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails</Role>
      <ShortName>Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>121</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R122.htm</HtmlFileName>
      <LongName>42705 - Disclosure - Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails</Role>
      <ShortName>Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>122</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R123.htm</HtmlFileName>
      <LongName>42706 - Disclosure - Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails</Role>
      <ShortName>Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>123</Position>
    </Report>
    <Report instance="csiq-20191231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R124.htm</HtmlFileName>
      <LongName>42801 - Disclosure - Appendix 1 - Major Subsidiaries of CSI (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails</Role>
      <ShortName>Appendix 1 - Major Subsidiaries of CSI (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsi</ParentRole>
      <Position>124</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="20-F" original="csiq-20191231x20f.htm">csiq-20191231x20f.htm</File>
    <File>csiq-20191231.xsd</File>
    <File>csiq-20191231_cal.xml</File>
    <File>csiq-20191231_def.xml</File>
    <File>csiq-20191231_lab.xml</File>
    <File>csiq-20191231_pre.xml</File>
    <File>csiq-20191231xex12d1.htm</File>
    <File>csiq-20191231xex12d2.htm</File>
    <File>csiq-20191231xex13d1.htm</File>
    <File>csiq-20191231xex13d2.htm</File>
    <File>csiq-20191231xex15d1.htm</File>
    <File>csiq-20191231xex2d2.htm</File>
    <File>csiq-20191231xex8d1.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy>http://fasb.org/srt/2019-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/dei/2019-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://fasb.org/us-gaap/2019-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/country/2017-01-31</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>115
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( "!*G% ?(\\#P    !,"   +    7W)E;',O+G)E;'.MDD^+
MPD ,Q;]*F?L:5\'#8CUYZ6U9_ )Q)OU#.Y,A$[%^>X>];+=44/ 87O+>CT?V
M/S2@=AQ2V\54C'X(J32M:OP"2+8ECVG%D4)6:A:/FD=I(*+ML2'8K-<[D*F'
M.>RGGD7E2B.5^S3%":4A+<TXP)6E/S/WJVR;A5ND9T*YKCM+1[873T$7LF<;
M!I99-G\LCNVW<+ZT+/0:S>,*P).B0\5?UX^8 TBTH_0(:+L A#&^NQT:E8(C
M-R."?S]PN -02P,$%     @ ($J<4"?HAPZ"    L0   !    !D;V-0<F]P
M<R]A<' N>&UL38Y-"\(P$$3_2NG=;BGH06) L$?!D_>0;FP@R8;-"OGYIH(?
MMWF\81AU8\K(XK%T-8943OTJDH\ Q:X831F:3LTXXFBD(3^ G/,6+V2?$9/
M-(X'P"J8%EQV^3O8:W7..7AKQ%/25V^9"CGIYFHQ*/B76_..7+8\#?NW_+""
MWTG] E!+ P04    "  @2IQ0%\'(4.\    K @  $0   &1O8U!R;W!S+V-O
M<F4N>&ULS9+/3L,P#(=?!>7>.NT&8E&7"V@GD)"8!.(6)=X6K?FCQ*C=V].6
MK1."!^ 8^Y?/GR4W.@H=$KZD$#&1Q7S3N]9GH>.:'8BB ,CZ@$[E<DCXH;D+
MR2D:GFD/4>FCVB/4G-^!0U)&D8(16,29R&1CM- )%85TQAL]X^-G:B>8T8 M
M.O24H2HK8'*<&$]]V\ 5,,((D\O?!30S<:K^B9TZP,[)/MLYU75=V2VFW+!#
M!>_/3Z_3NH7UF937./S*5M IXII=)K\M'AZW&R9K7O."+XOZ?LM7HKH5U>IC
M=/WA=Q5VP=B=_<?&%T'9P*^[D%]02P,$%     @ ($J<4)E<G",0!@  G"<
M !,   !X;"]T:&5M92]T:&5M93$N>&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T
M$W-I=MNTF83M3A^%$5B-;'EDD81_OT<V$,N6#>V23;J;/ 0LZ?O.14?GZ#AY
M\^XN8NB&B)3R>&#9+]O6N[<OWN!7,B0103 9IZ_PP JE3%ZU6FD PSA]R1,2
MP]R"BPA+>!3+UES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?
M,_@5RU2-9:,!$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA
M5,+$P&IG/U9KQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M
M&N#C\7@XMLO2BW <!.!1NY["G?1LOZ1!";2C:=!DV/;:KI&FJHU33]/W?=_K
MFVB<"HU;3]-K=]W3CHG&K=!X#;[Q3X?#KHG&J]!TZVDF)_VN:Z3I%FA"1N/K
M>A(5M>5 TR  6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T
M1G*=D 4. #?$T4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7<K_WUE[O)
MI#-ZG7TZSFN4?VFK :?MNYO/D_QSZ.2?IY/734+.<+PL"?'[(UMAAR=N.Q-R
M.AQG0GS/]O:1I24RS^_Y"NM./&<?5I:P7<_/Y)Z,<B.[W?98??9/1VXCUZG
MLR+7E$8D19_(+;KD$3BU20TR$S\(G8:8:E < J0),9:AAOBTQJP1X!-]M[X(
MR-^-B/>K;YH]5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J
M-2S%UGB5P/&MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZ<TT#PE"\D^DJ1
MCVFS(Z=T)LWH,QK!1J\;=8=HTCQZ_@7YG#4*')$;'0)G&[-&(81IN_ >KR2.
MFJW"$2M"/F(9-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.
M$9)>-T(^8LZ+D!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]07
M2N0/)J<_Z3(T!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!
M_]':-\*K^(+ .7\N?<^E[[GT/:'2MS<C?6?!TXM;WD9N6\3[KC':US0N*&-7
M<LW(QU2ODRG8.9_ [/UH/I[Q[?K9)(2OFEDM(Q:02X&S022X_(O*\"K$">AD
M6R4)RU3393>*$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.W
M<DOJMI2^M28X2O2QS'!.'LL,.V<\DAVV=Z =-?OV77;D(Z4P4Y=#N!I"O@-M
MNIW<.CB>F)&Y"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(
M\J(A[J&&F,_#0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R
M4E5@,5O& RN0HGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>
M9;'!51W/55ORL+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4X
MOT4SMA*7&+SCYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5
MYYN<KGHB=OJ7=\%@\OUPR4</Y3OG7_1=0ZY^]MWC^FZ3.TA,G'G%$0%T10(C
ME1P&%A<RY%#NDI &$P'-E,E$\ *"9*8<@)CZ"[WR#+DI%<ZM/CE_12R#ADY>
MTB42%(JP# 4A%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+
MA=OB5,V[&KXF8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.'<YMZN,)%K/]8UA[Y
M,M\Y<-LZW@->YA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,
M?-2K6J5D*Q$_2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:
M,]6+K#F-"F]!U4#E/]O4#6CV#30<D05>,9FV-J/D3@H\W/[O#;#"Q([A[8N_
M 5!+ P04    "  @2IQ0?YW8>(\#  "4$@  &    'AL+W=O<FMS:&5E=',O
M<VAE970Q+GAM;(V8ZVZ;0!"%7P7Q (6]@.W(MA2GJEJIE:)4;7\3>VVC .O"
M.D[?OK 0U]HY(_5/N/C,G%UF/MCL\F+;E^YHC(O>ZJKI5O'1N=-=DG3;HZF+
M[H,]F:;_96_;NG#]97M(NE-KBIT/JJM$IFF>U$79Q.NEO_?8KI?V[*JR,8]M
MU)WKNFC_;$QE+ZM8Q.\WGLK#T0TWDO7R5!S,=^-^G![;_BJY9MF5M6FZTC91
M:_:K^%[<;;0< KSB9VDNW<UY-$SEV=J7X>++;A6GPXA,9;9N2%'TAU?S8*IJ
MR-2/X_>4-+YZ#H&WY^_9/_G)]Y-Y+CKS8*M?Y<X=5_$\CG9F7YPK]V0OG\TT
MH2R.IME_-:^FZN7#2'J/K:TZ_S?:GCMGZRE+/Y2Z>!N/9>./E_$7K:<P'""G
M 'D-D+F?RVCD1_ZQ<,5ZV=I+U(X/_U0,-19WLG\VV^&F?Q3^MW[P77_W=9TN
MD]<AS:38C IYHQ!71=+GOAI(9+"1)%SB< 7'IWRXN@E7.%S#<.W#]4VX#J9'
M%1DVR*!!1L+SP( J9M@@AP8Y"9\'!E2QP 8S:# CX2)L 2!A>F .+>8T7@86
M0,(4>@$M%C0^K#20,*46*68EI1G":B,-4V_!$"EHAK#D2,,474 L[X4D&20A
M'VB8N@M,KU T0UAYI&%*+S#D@C(LP^(C#5=]3+J@($M2?:#AJH]Q%Y1F2:H/
M-%SU,?."$JU(]8&&JS[&7E"H%:D^U7!3P> +BK52H0G0:.PB,?J28JVRP 5I
M<L8%HR\IUFH6N@ -YX+1EQ1K%;88TC!UD1A]2;'688L!#>N"T9?@ R]"%Z!A
MUB 2HR\IUCKL,:#AIH+)EY1J';[%D(9YBTE,OJ14Z_ M!C3<5##XDD*M21^#
M+SZWL,3D2TJU)GT\:C*O:<;EW4+-1#YG^%>8?T79UHO "VBRE''!_"O*=A9V
M,])P*VK,OZ)L9V$W PW3 HI9MU.TL[";@88SP?0KL'AG<%"8;)7][_\7"E.K
MP+<X?,TA#=/J"E.K*)%D'84TW%PPMHHB2=912,,]<HRMHMB2=132,.LHC8'5
M ,;0!6DX%PRL!C"&KR"D8=I<8V UA3$/>PQIPAY+;C8%:M,>_'9(%VWMN?%[
M,3=WKULN]W[')?DG'_=KOA7MH6RZZ-DZ9VN_@;"WUIE^*.F'GJFC*7;7B\KL
MW7 ZZ\_;<9]DO'#V-.T!)=>-J/5?4$L#!!0    ( "%*G%#<QUWQN 8  $ D
M   8    >&PO=V]R:W-H965T<R]S:&5E=#(N>&ULA9I;;^,V$(7_BN'W77.&
MP]LB"5"[*%J@!19;M'W6)DIBK&VEMI)L_WWI2PQGYK!]B2\YE XE\IM#6E>O
MP_;;[K'OQ\GW]6JSNYX^CN/3I]EL=_O8K[O=Q^&IW]3_W _;=3?6C]N'V>YI
MVW=WAT;KU8R=B[-UM]Q,;ZX.WWW>WEP-S^-JN>D_;R>[Y_6ZV_XS[U?#Z_64
MIF]??%D^/([[+V8W5T_=0_][/_[Q]'E;/\W.1[E;KOO-;CEL)MO^_GKZ WU:
M1-DW."C^7/:ONXOWDWU7O@[#M_V'7^ZNIV[OJ%_UM^/^$%U]>>D7_6JU/U+U
M\??IH-/S.?<-+]^_'?VG0^=K9[YVNWXQK/Y:WHV/U],\G=SU]]WS:OPRO/[<
MGSH4II-3[W_M7_I5E>^=U'/<#JO=X>_D]GDW#NO34:J5=??]^+K<'%Y?3\=_
M:X8;\*D!GQN0_&<#?VK@58/9T=FAJS]V8W=SM1U>)]OCW7KJ]H."/OEZ,6_W
M7QZNW>%_M;>[^NW+3>2KV<O^."?)_"CA2XE_+UD B9PELVK@[(*A"SZT]Y?M
M V[O87M_:"^7[:/JQ5$2#Y+-29)3<JHG5B8B7#)V(]"-6#=)N3E*PL5I L?$
M^KI:F6174L1N G03K)NLW 1[&A\S!>4&R$IF3]A-A&ZB=5.4FVA.0X&#NI\+
MJ_*-FY2@D62,Z+$P3_84Q%Y-CX5544SBL)<,O63KA927; =,$&>&KY5Q9,>,
MW13HIE@W&@G%]MGEPMH-DB5NN2&'">6L'Z\1Y>S03"5EC2DK\\E18P!3@YAD
M_8CV0^AV)6W'JB3%EAM,3F+K)F@W;,X3G;AL*&YUQ?MP0?OWCC"+R<(X:1B?
M-._&:?!!]-Q"NEPDE(8CS&.R0$X:R&11ZSEP\9H[2.B2>&[=-TQE E@VGBQP
M2V$SBJR*0J)&C2",9;)<UK-G3@#,3J+SNDX 8<ZU5+0L84 3(+0N%63A6^]9
M,)<(R"2WBCIA2).E=-85@RQ_*?AB\Q+0<45H:CC"H"9+ZJSK!ED&UYE?S!4"
MLEQ<XPHQ)C5;4F==.=@B.%82Z5F&9'50M_Q@4K,EM6;>G"V#:]K(K$L'TG%T
MI1%3N9%S+:VSKAUL*<R<"FE#5D927(/5C%G-EM59SV:V#";G6OW&!&9 8-'G
M001N88PQ5=E2U51#!C$V>Q?,!;8Z'[@ND!N.,%C9@C7K:L@@RZ;D6[<2XY(M
M+K,N* RR:JAE3N,)Z;C$YDW'P&0 3%U3&.1:J0LAIP$%A!50'$,+"1B97,Q*
M,S?"A,>0\Q9R19<!;^E5@Q29? QTY.I<YT8=\)ASWG).XV+N+;\X1]))>H%T
ME;RI,>H]YIRWG"NZ$G@+L)!#='H> IU/16)C%>$;.P26=$77 F])%T2*02_0
M^5A2:UWC,1.]96+1M<!;)E;VZO"Z0+*8I36*,#N]96?1[/2 G1(E:)8CG<N.
M&DCSF)W>LK/HH.!!*.4DW,""Q_#T%IXZ(LT]@**7[(PCL&U0'#?VPSQFI[?L
M+)J='H1()SH!+I"L#M?6!<+<]#9J%AW&/5CNYQ0;HU P7L7BE9SFI@!NAKK"
M:(0%P=@4BTW2])D+RGTU(>HIB'1"I<5-P=P4R\U:$+0E $17J)A0#X1<:M8)
MK5N"T2D6G>0T.P6P,V2S X-DKADLI+&_:LE9![XV9)D8J8AA)]#YNNJGQGP5
M#$\!\-10% O%$%L;RYB( HBHL2" B%D:NQ.">2B6A^1T,1"8)DV8!#)VU *T
M8!Z*Y2%I\LX%A,DH9O$-9#XT@2@8B&*!2#JTSL42D7,@8PC()+86WP&#,X!<
MJ@D=+#=KTFZMJ@/&9D#8-+\H6!RF&B/-+PI EK)OX"!@: 8$3=-UR\(4O-=S
M%,AJD&JM^0(&9@# )+U&"):$XH3K&EY;0FF32FZ%J8"A&0 T25<[*-*;LO\C
M>F^F\9M4,,LP:O8'HS!8%!+I(A L"Y/S-K-!'9?63UL!4S, :NH?T>;!XO #
M54"WQCSF80 \),W# ))?(KV)ND R%U/+$.9A #PDS<-@09=JK35+/J"+7(M&
M(]]%3,0(HB1I4$6+Q ^5'M%L0$!AS8O2V#Z(F)X1T)/,+Z @3-900@972,@<
M)#7F4L0$C8"@>K-B'D'LI,+&DI55.ZG!AX@)&@%!6<,J@HU)X>""#IU(R(F;
M<RYB@D; /=;A_"2Z?(  ;V@!(=[0FET\RK%_MN:W;ONPW.PF7X=Q'-:'9S?N
MAV'LZT'=Q]K'Q[Z[.W]8]??C_FVJ[[?'9UJ.'\;AZ?2\SNS\T-#-OU!+ P04
M    "  A2IQ0;!H%)#D"   B!P  &    'AL+W=O<FMS:&5E=',O<VAE970S
M+GAM;(V5[6[;(!2&;\7R!10;_!DYEAI7TR9M4M1IW6^2D-@J-AZ0N+O[ 7:M
M!)-H?\S7>][S'+"@&!A_%S4ATOMH:2?6?BUEOP) [&O28O'$>M*IE2/C+99J
MR$] ])S@@PEJ*8!!D( 6-YU?%F9NR\N"G25M.K+EGCBW+>9_-X2R8>V'_N?$
M:W.JI9X 9='C$_E)Y*]^R]4(S"Z'IB6=:%CG<7)<^\_AJLJUW@C>&C*(J[ZG
M*]DQ]JX'WPYK/]! A)*]U Y8-1=2$4JUD<+X,WGZ<TH=>-W_=/]B:E>U[+ @
M%:._FX.LUW[F>P=RQ&<J7]GPE4SUQ+XW%?^=7 A5<DVB<NP9%>;K[<]"LG9R
M42@M_AC;IC/M,*XD^13F#H!3 )P#PNAA )H"D!4 1C)3Z@N6N"PX&SP^'E:/
M]3\1KI#:S+V>-'MGUE2U0LU>RA"B ERTT:39C!IXI4DL2>601+,$*((9 SHQ
MH(E'-QAW#)#3 !F#Z,8@MNH8-8G1=$8#\SBR5-52A6"*D!LF<L)$#IC$@ADU
M\56:%$)HL2Q%<1I -TKL1(D=**F%$B\J#E$0YQ:+0Q7#>X>4.&$2!TQFP22+
M-($%\DAQ Y$Z(5('A%7K)EWN>X[2,,DBB\4E#+,@N;<OF1,I6R(AJ^I-]K](
M+N$CI-R)E#N00@LI7V1*@CP.K3^]6LKL\P)7MY5^/7Y@?FHZX>V85!>?N9Z.
MC$FBW((G952K!VL>4'*4NINJ/A^O[7$@63^]2&!^%LM_4$L#!!0    ( "%*
MG%"&:H#7<P4  /\9   8    >&PO=V]R:W-H965T<R]S:&5E=#0N>&ULC9G=
M;N,V$(5?Q?!]8L[P/T@"K&T4+= "BRW:7FL3)3'6MEQ)2;9O7TK6>NWAX6)O
M;$L^'!V.R/E(Z?:]:;]T+W7=S[[NMOON;O[2]X>;Q:)[>*EW57?='.I]^N>I
M:7=5GP[;YT5W:.OJ<6RTVRY8*;?859O]_/YV//>QO;]M7OOM9E]_;&?=ZVY7
MM?\MZVWS?C>G^;<3GS;/+_UP8G%_>ZB>ZS_K_J_#QS8=+4Y1'C>[>M]MFOVL
MK9_NYA_H9JWMT&!4_+VIW[NSW[.A*Y^;YLMP\-OCW5P-CNIM_= /(:KT]5:O
MZNUVB)1\_#L%G9^N.30\__TM^B]CYU-G/E==O6JV_VP>^Y>[>9C/'NNGZG7;
M?VK>?ZVG#MGY;.K][_5;O4WRP4FZQD.S[<;/V<-KUS>[*4JRLJN^'K\W^_'[
M_?B/#U,SW("G!GQJ0.Z'#?340']O8'[8P$P-C&BP.'9ES,VZZJO[V[9YG[7'
MVWNHAE%$-R9E_V$X.29[_"^EITMGW^Y)\^WB;0@T:99'#9]K3HI%BGZZ!*-+
M+#EK[O3E%59 8BXEZUQ"6F,;&O94CP'T10"# Q@8P(P!S$4 *U)UU+A1LQ\U
MFA01R0X#G6/C@A>]!CIFBARP<0N-6V#<">-'C3V[4(S&*V$[5Q'%P"(+:R!S
MP3B+33MHV@'3(CM+EUU'IXIG@\PVT'EC+(F!O@8Z'96.A7'FH7$/QEGA=@48
M(/S$. N94S9LC!>W=05T(1I')'H.=,[0>28OC$=H//[$.(O9A:QW),=9KO(F
M4!2F<U6::7QV5R\\D\(%4 '7459 !?(=6 69;R2,+AHM>KA&0F_9Q\(DH4+Y
MIMR]4=(]Y>FD8**7YH'.6Q7D- $ZI[V-A5%.$ L?B/.)8@I@(5S228/>9_32
M^3 )2G-VZX#.6:.RW@.==4J7AAV&"0&:&"VM&S3-?5;?H,YJ60W62*=5+-XX
MC!,"/#%&6L\9D'!BK'0.9(:BEL9S&0?O?<$W)@H!I$A#2\H9<$7*RCJV0KJ$
M%).E'.F\M865!V&FD ?696F=1!>YM-%1D-:!CI3)* YTVB78%YA F&8$<&8D
MR GPQX;@H[2>Z[1+"PNY;$+Q7-2F5%PQSRB""E68*XSIPH N1M*%<Q9<!<HK
M%-*1NB@]TUH9"<E'7UJW8[@P@(N5<.$<!L1*$G2%9$DG;QR2*5.:Z(S)P@Q\
MD_3->8XXK:WE;$&ZM #/@ [C^0(4&/., <^LY!D#_BB=+=6!S%F62RB@NF)M
MSH;HI6\,,P8PLQ)FG,,GY3$;)[G*I%6D7*\"V95VJC1.,,@8@,Q*D'&.GBL?
M6663$^B<(R>K*M*EC6C@TE#!,&, ,RMAQCE\4A5P/MM^YSJ.:8&8U140+Q55
M+A"!,<P8P,Q*F'$.GRN3LIZE'>@<I26WM([BJ6A+%1'#C ',)'R6C#==66')
M93:J('WGJFBHY!ISC,'&S ;I&NRFG+-R3*V ;MAZZFR&@G@JC:K2,QO,3PWX
M:24_-<"=5;)"KX#,YI4%J'0QX1J#4P-P.@G.2>0N)F>Z+S+A0,>IW,N"OP:Z
M&&V)0!JC4P-TRA0M)Y$_=W0=Y/@&*G.=[:: BJY+ZQ1=>+('L.DD-G5.NK0X
MUCID(QPI0TQ;!;FQ7D,E.:]487FO,3\UX*=\1KJ<1"+KLI0#E<[NS1JHZ-H5
MH*\Q/36@IWQJN]0Y[1*EO7=1%G*D9(Y#-J5YH$S<#N<U[=B!Q=E3\%W=/H]O
M&+K90_.Z[X=GR6=G3V\Q/O#P%%V<7]+-^O@NXGN8XZN1/ZKV>;/O9I^;OF]V
MXY/TIZ;IZV1472>++W7U>#K8UD_]\-.GW^WQE<3QH&\.T^N6Q>F=S_W_4$L#
M!!0    ( "%*G%!I]F@LPP(  *D)   8    >&PO=V]R:W-H965T<R]S:&5E
M=#4N>&UL?59=;]HP%/TK4=[;^#,?%2 5T+1)FU1UVO;L@H&H29PE!KI_/]L)
M*;4O?2&V<^ZYY]P8^\[.JGOM#U+JZ*VNFGX>'[1N'Y*DWQQD+?I[U<K&O-FI
MKA;:3+M]TK>=%%L75%<)02A-:E$V\6+FUIZZQ4P==54V\JF+^F-=B^[?4E;J
M/(]Q?%EX+O<';1>2Q:P5>_E3ZE_M4V=FR<2R+6O9]*5JHD[NYO$C?EAC8@,<
MXG<IS_W5.+)67I1ZM9-OVWF,K")9R8VV%,(\3G(EJ\HR&1U_1])XRFD#K\<7
M]B_.O#'S(GJY4M6?<JL/\SB/HZW<B6.EG]7YJQP-\3@:W7^7)UD9N%5B<FQ4
MU;O?:'/LM:I'%B.E%F_#LVS<\SR\R=(Q# X@8P"9 O#G 70,H.\![-, -@8P
M+R 9K+C:K(46BUFGSE$W?-Y6V%V$'YBI_L8NNF*[=Z8\O5D]+7#*9\G)$HV8
MY8 AUY@)D1CV*06!4BQ)$)[2CQE6 (1]A*Q#"*84ED%!I]01T ].4YB @03,
M$;!K IY[I1HPJ<,TER2<>Q5=A3#""*/8\PRP(5+D-VQS4#4';&<P00H2I*'M
MU+<]8/B54(H+SW.(N>.(9YGG&: J*.*PX@Q4G &*?359D*;@WJY<AY@[G#,&
M2\E!*7DH)4->\7*@,#GSZK(*41PS?\, 5(3=V.0%*+@ !'M95D68)<\X@=-@
M!)\["$A$_(,'!9EP:OX"?FT@7%[@(O7* ^$8PD5^0_J-(Q,#TJDO'0.;!V.$
M?.DA+B?!=P50)+_U83%X##]B LAFOFP2'CD9P6'% 5R."O^@6T,XFM%@LR17
M]U4MN[WK!?IHHXZ-MJ?^U>K4;SRZ=L-;7]H^Q-V#[S1#$_-#=/NRZ:,7I<UM
MZNZ\G5):&IGHWE3V8/JF:5+)G;;#S(R[H7D8)EJU8V.43-W9XC]02P,$%
M  @ (4J<4+2=;+02!@  LR   !@   !X;"]W;W)K<VAE971S+W-H965T-BYX
M;6R5FEUOXC@4AO\*XI[!WXFKMM+V XBT*XUFM+O7:9NV:("PD+:S_WZ=D*'X
MG#<D>],"?8Y][-A^;-/+CW+W8_]:%-7HYWJUV5^-7ZMJ>S&=[A]?BW6^_U)N
MBTWXRW.Y6^=5>+M[F>ZWNR)_:H+6JZD2PDW7^7(SOKYL/ONZN[XLWZK5<E-\
MW8WV;^MUOOOWIEB5'U=C.?[UP;?ERVM5?S"]OMSF+\7WHOIS^W47WDV/I3PM
MU\5FORPWHUWQ?#7^35YD1M0!#?'7LOC8G[P>U4UY*,L?]9OLZ6HLZHR*5?%8
MU47DX==[<5NL5G5)(8]_VD+'QSKKP-/7OTJ?-8T/C7G(]\5MN?I[^52]7HW3
M\>BI>,[?5M6W\F-1M VRXU';^M^+]V(5\#J34,=CN=HW/T>/;_NJ7+>EA%36
M^<_#[^6F^?UQ^$OBVC <H-H =0R0YFR ;@/T9X ]&V#: ',,4,G9 -L&V,\:
MTK,!K@UPQP!SOM%)&Y!\!IQO0]H&I)]M.!_@VP#_V0;5#)'#\VL&Q%U>Y=>7
MN_)CM#N,Z6U>3QUYX<.0>ZP_;$98\[<P)O;AT_=KF=C+Z7M=4,O<'!@5,2YF
M;A&3Q,P=8M*8N4>,CYD98%(1,W/$R)A9($;%3(88?62FH6^/':Q@!ZNF !,5
M8$@''QC7,)N&2814)_4<^H]CDS3UI)?O.:52(P7M1%"8#UU$4IMS+$V-8UW)
M,6D26F<&"O->>X'[4\/^U* _Z8 ],/:D'IND6DCC<4T&UF2:4G14D\,%6%B
M!:G2IV59JM[;A(S"^2!JP2EM)'E2&8>D4+YK3#O8,,<;YLA$GCF>C$\3.DT'
M40M.3:PC#SU#16EA<;L2V*X$/##2KD4"'H4GLR;K@:)44IA*"E(AT^DNY;5H
M-H&'0%D/%.7K8;Z>Y^O)8[SQ?/K3M7WN62:,R<XS4;)28.L)D"Z9*3<M=%J/
M<\[JCC5 =@A6@JK(S)VU4#3"E: =.!^&9;U8G#?VE@3B\IIV$3*7DHZT[Z[E
M3C,RDBZ% -*I9JZ9 6YBC=!TY -."JV4(GN7!0!58@T==K \ZY.D8XV16& 2
M&(PN(#<2*"PUWKFTJS+L,/D_)":QQ>00C4FN%:43P=;[@=P"<&'B49>ATHPR
M6G8T$-M,#M&91 [2QB:T@<.X!>!42G>Q&2Q-V).===Q K#4)O.8M?8+<65)1
MR<X'45D?%2>-!2B1 :F,)1=7D@A-T^FAXG2PWR02'%M(N)DFSE*Q9+U8?*S
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
M()ZBS<S9.^JSZ44@8U>B[D4@\SY2X];[A@=[&S<Y';>W<3M?1,=M9<7IH3\
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
MHW/Z<-B^G=\_6GR\!'7_?U!+ P04    "  A2IQ0)S\XCC,"  ![!@  &
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
M>RWX89NQ:Q2:,*<1PQ>8%P0+ZG,)OE;BQ/^CW^[6^;M5B[O$W[UB\2^!_:K
M/@GLW^QQ#</_*<(6AZK!-FF<'"FQ-VF4%]EY8N_2+;(7^#CN7X5MI''D@CY<
M;;J &M%#L+*Y"3/4AA<V!PIJ'[?OP]Z.<S8&'KOI";'Y'1=_ %!+ P04
M"  A2IQ0!@63B;4!  #3 P  &0   'AL+W=O<FMS:&5E=',O<VAE970Q-"YX
M;6Q]4^UNW" 0?!7$ X0[[*2GDVTIEZAJI58ZI6K[F[/7-@H?+N!S^O8%3%RW
M=?/'L.N9V5E8BDF;9]L#./0BA;(E[IT;CH38N@?)[(T>0/D_K3:2.1^:CMC!
M &LB20I"=[L[(AE7N"IB[FRJ0H].< 5G@^PH)3,_3R#T5.(]?DT\\:YW(4&J
M8F =? 'W=3@;'Y%%I>$2E.5:(0-MB>_WQU,>\!'PC<-D5WL4.KEH_1R"CTV)
M=\$0"*A=4&!^N<(#"!&$O(T?21,O)0-QO7]5?Q][][U<F(4'+;[SQO4E/F#4
M0,M&X9[T] %2/[<8I>8_P16$AP<GOD:MA8U?5(_6:9E4O!7)7N:5J[A.Z<]M
MHFT3:"+0A7"(=<A<*#I_9(Y5A=$3,O/9#RQ<\?Y(_=G4(1F/(O[SYJW/7BMZ
MR IR#4()<YHQ=(79+PCBU9<2=*O$B?Y#O\NV^=FFQ2SRL_]8_$,@WQ3(HT#^
M9H];F/RO(F1UJ!),%\?)HEJ/*H[R*KM,[#V-E_(;/H_[9V8ZKBRZ:.>O-EY
MJ[4#;V5WXV>H]R]L"02T+FS?^;V9YVP.G![2$R++.ZY^ 5!+ P04    "  A
M2IQ0?+_P&[8!  #3 P  &0   'AL+W=O<FMS:&5E=',O<VAE970Q-2YX;6Q]
M4]N.TS 0_17+'[!NG;9451)INRL$$DC5(N#93287K2_!=IKE[QD[V1 @[$OL
MF9QSYHP]3@=CGUT#X,F+DMIEM/&^.S'FB@:4<'>F XU_*F.5\!C:FKG.@B@C
M24G&-YL#4Z+5-$]C[F+SU/1>MAHNEKA>*6%_GD&:(:-;^IIX:NO&AP3+TT[4
M\ 7\U^YB,6*S2MDJT*XUFEBH,GJ_/9UW 1\!WUH8W&)/0B=78YY#\+',Z"88
M @F%#PH"EQL\@)1!"&W\F#3I7#(0E_M7]?>Q=^SE*AP\&/F]+7V3T2,E)52B
ME_[)#!]@ZF=/R=3\)[B!1'AP@C4*(UW\DJ)WWJA)!:TH\3*NK8[K,/Y)]A-M
MG< G I\)QUB'C86B\T?A19Y:,Q [GGTGPA5O3QS/I@C)>!3Q'YIWF+WE_+A/
MV2T(39CSB.$+S'9&,%2?2_"U$F?^#_V0K/.358M)Y"?_L?B'P&Y58!<%=F_V
MN(8Y_%6$+0Y5@:WC.#E2F%['45YDYXF]Y_%2?L/'<?\L;-UJ1Z[&X]7&"ZB,
M\8!6-G<X0PV^L#F04/FP?8=[.\[9&'C334^(S>\X_P502P,$%     @ (4J<
M4/JXEQFV 0  TP,  !D   !X;"]W;W)K<VAE971S+W-H965T,38N>&UL?5-A
M;]L@$/TKB!]0$I*V461;:CI-F[1)4:=MGXE]ME&!\P#'W;\?8-?U-F]?#'=^
M[]T[.+(![;-K 3QYT<JXG+;>=T?&7-F"%NX&.S#A3XU6"Q]"VS#761!5(FG%
M^&9SQ[20AA99RIUMD6'OE31PML3U6@O[\P0*AYQNZ6OB23:MCPE69)UHX OX
MK]W9AHC-*I748)Q$0RS4.7W8'D_[B$^ ;Q(&M]B3V,D%\3D&'ZN<;J(A4%#Z
MJ"#"<H5'4"H*!1L_)DTZEXS$Y?Y5_7WJ/?1R$0X>47V7E6]S>J"D@EKTRC_A
M\ &F?FXIF9K_!%=0 1Z=A!HE*I>^I.R=1SVI!"M:O(RK-&D=QC_\=J*M$_A$
MX#/AD.JPL5!R_DYX4606!V+'L^]$O.+MD8>S*6,R'47Z%\R[D+T6_'"?L6L4
MFC"G$<,7F.V,8$%]+L'72ISX7_2[W3I_MVIQE_B[?UC\36"_*K!/ OO_]KB&
M.?Q1A"T.58-MTC@Y4F)OTB@OLO/$/O!T*6_P<=P_"]M(X\@%?;C:= $UHH=@
M97,39J@-+VP.%-0^;N_#WHYS-@8>N^D)L?D=%[\ 4$L#!!0    ( "%*G% 2
M(P5CM@$  -,#   9    >&PO=V]R:W-H965T<R]S:&5E=#$W+GAM;'U388^4
M,!#]*TU_P)4MZ[FW 9+;,T83339G/#]W88#F6@;;LIS_WK9PB(I^H9WAO3=O
MVFDVHGFV+8 C+UIU-J>M<_V1,5NVH(6]P1XZ_Z=&HX7SH6F8[0V(*I*T8CQ)
M;ID6LJ-%%G-G4V0X."4[.!MB!ZV%^7$"A6-.=_0U\2B;UH4$*[)>-/ %W-?^
M;'S$%I5*:NBLQ(X8J'-ZOSN>]@$? 4\21KO:D]#)!?$Y!!^KG";!$"@H75 0
M?KG" R@5A+R-[[,F74H&XGK_JOX^]NY[N0@+#ZB^R<JU.3U04D$M!N4><?P
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
MH YQ^P;W;IRS,0BVFYX0F]]Q\1-02P,$%     @ (4J<4,)&=O:U 0  T@,
M !D   !X;"]W;W)K<VAE971S+W-H965T,C$N>&UL?5-A;]L@$/TKB!]0$B=+
ML\BVU'2:-FF5HDYK/Q/[;*,"YP&.VW\_P*[KK>Z^ '>\>_?N.-(>S9-M !QY
M5E+;C#;.M0?&;-& XO8*6]#^ID*CN/.FJ9EM#? R!BG)DM5JQQ07FN9I])U,
MGF+GI-!P,L1V2G'S<@2)?4;7]-5Q+^K&!0?+TY;7\!/<K_9DO,4FEE(HT%:@
M)@:JC-ZL#\=MP$? @X#>SLXD5')&? K&]S*CJR ()!0N,'"_7> 6I Q$7L;O
MD9-.*4/@_/S*_C76[FLY<PNW*!]%Z9J,[BDIH>*==/?8?X.QGD^4C,7_@ M(
M#P]*?(X"I8TK*3KK4(TL7HKBS\,N=-S[X68W1BWCDQ&?3/A]3,.&/%'X%^YX
MGAKLB1E:W_+PPNM#XEM3!&?L1+SSVJWW7O+D\W7*+H%HQ!P'3#+#K"<$\^Q3
MBF0IQ3%Y%[[;+,=O%B5N8OSF XE_$6P7";:18/O?&I<P^W^2L%E3%9@Z3I,E
M!78Z3O+,.PWL31(?Y0T^3/L=-[70EIS1^:>-#U A.O!25E=^A!K_P29#0N7"
M\=J?S3!F@^&P'7\0F[YQ_@=02P,$%     @ (4J<4'HO>8.W 0  TP,  !D
M  !X;"]W;W)K<VAE971S+W-H965T,C(N>&UL?5/;;IPP$/T5RQ\0<]FFR0J0
MLJFJ5&JE5:HVSUX8P(HOQ#9+^O>UC4-)0OJ"/<,Y9\[8XV)2^M'T !8]"RY-
MB7MKASTAINY!4'.A!I#N3ZNTH-:%NB-FT$";0!*<9$ER201E$E=%R!UU5:C1
M<B;AJ)$9A:#ZSP&XFDJ<XI?$/>MZZQ.D*@;:P4^POX:C=A%95!HF0!JF)-+0
MEO@FW1]V'A\ OQE,9K5'OI.34H\^^-:4./&&@$-MO0)URQEN@7,OY&P\14V\
ME/3$]?Y%_6OHW?5RH@9N%7]@C>U+?(51 RT=N;U7TQW$?CYA%)O_#F?@#NZ=
MN!JUXB9\43T:JT14<58$?9Y7)L,ZQ3]II&T3LDC(%L)5J$/F0L'Y%VII56@U
M(3V?_4#]%:?[S)U-[9/A*,(_9]ZX[+G*KJ\+<O9"$7.8,=D*DRX(XM27$ME6
MB4/VCGZ9;_/S38MYX.<?6'PEL-L4V 6!W7][?(_)D^1-$;(Z5 &Z"^-D4*U&
M&49YE5TF]B8+E_(//H_[#ZH[)@TZ*>NN-EQ JY0%9R6Y<#/4NQ>V!!Q:Z[>?
MW5[/<S8'5@WQ"9'E'5=_ 5!+ P04    "  A2IQ0(\TW/+4!  #3 P  &0
M 'AL+W=O<FMS:&5E=',O<VAE970R,RYX;6Q]4]MNG# 0_17+'Q"S9I-&*T#*
M)JI:J956J=H\>V&X*+Y0VRSIWW=L"*$MS0OV#.><.6./L]'89]<">/*BI'8Y
M;;WO#XRYL@4EW)7I0>.?VE@E/(:V8:ZW(*I(4I+Q)+EA2G2:%EG,G6R1F<'+
M3L/)$C<H)>RO(T@SYG1'7Q./7=/ZD&!%UHL&OH'_WI\L1FQ1J3H%VG5&$PMU
M3N]VA^,^X"/@1P>C6^U)Z.1LS',(/E<Y38(AD%#ZH"!PN< ]2!F$T,;/69,N
M)0-QO7]5_QA[QU[.PL&]D4]=Y=N<WE)202T&Z1_-^ GF?JXIF9O_ A>0" ].
ML$9II(M?4@[.&S6KH!4E7J:UTW$=IS_\>J9M$_A,X OA-M9A4Z'H_$%X4636
MC,1.9]^+<,6[ \>S*4,R'D7\A^8=9B]%FNPR=@E",^8X8?@*\X9@J+Z4X%LE
MCOP?^DVZS4\W+::1G_['XA\"^TV!?138O]OC%H;_582M#E6!;>(X.5*:0<=1
M7F67B;WC\5+>X-.X?Q6VZ;0C9^/Q:N,%U,9X0"O)%<Y0BR]L"234/FP_X-Y.
M<S8%WO3S$V++.RY^ U!+ P04    "  A2IQ0T,>+ [4!  #3 P  &0   'AL
M+W=O<FMS:&5E=',O<VAE970R-"YX;6Q]4^UNU# 0?!7+#U#GG%"J4Q*I5X1
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
M=5<;+J!&M."L[*[<#+7NA2V!@-KZ[6>WU].<38'%?GY";'G'Q5]02P,$%
M  @ (4J<4,_E+:VT 0  TP,  !D   !X;"]W;W)K<VAE971S+W-H965T,S N
M>&UL?5-_CY0P$/TJ33_ =8&]];(!DMLS1A---F?4O[LP0'/]@6U9SF_OM+"(
MBOY#.\-[;]ZTTWPT]L5U )Z\*JE=03OO^R-CKNI <7=G>M#XIS%6<8^A;9GK
M+? ZDI1DZ6YW8(H+3<L\YLZVS,W@I=!PML0-2G'[XP32C 5-Z"WQ+-K.AP0K
M\YZW\!G\E_YL,6*+2BT4:">,)A::@CXFQ],^X"/@JX#1K?8D='(QYB4$'^J"
M[H(AD%#YH,!QN<(32!F$T,;W69,N)0-QO;^IOXN]8R\7[N#)R&^B]EU!'RBI
MH>&#],]F? ]S/_>4S,U_A"M(A <G6*,RTL4OJ0;GC9I5T(KBK],J=%S'Z4]V
MHVT3TIF0+H2'2&!3H>C\+?>\S*T9B9W.ON?ABI-CBF=3A60\BO@/S3O,7LLL
MN<_9-0C-F-.$25>89$$P5%]*I%LE3NE?]$.VS<\V+6:1G_W#XF\"^TV!?138
M_[?'+<SACR)L=:@*;!O'R9'*##J.\BJ[3.QC&B_E%WP:]T_<MD([<C$>KS9>
M0&.,![2RN\,9ZO"%+8&$QH?M&]S;:<ZFP)M^?D)L><?E3U!+ P04    "  A
M2IQ02>)*K[0!  #3 P  &0   'AL+W=O<FMS:&5E=',O<VAE970S,2YX;6Q]
M4V&/E# 0_2M-?\!U@?5NLP&2VS-&$TTV9]3/71B@N;:#;5G.?V];6$1%O]#.
M\-Z;-^TT']&\V [ D5<EM2UHYUQ_9,Q6'2AN[[ '[?\T:!1W/C0ML[T!7D>2
MDBS=[>Z9XD+3,H^YLRES')P4&LZ&V$$I;GZ<0.)8T(3>$L^B[5Q(L#+O>0N?
MP7WIS\9';%&IA0)M!6IBH"GH8W(\[0,^ KX*&.UJ3T(G%\27$'RH"[H+AD!"
MY8("]\L5GD#*(.1M?)\UZ5(R$-?[F_J[V+OOY<(M/*'\)FK7%?1 20T-'Z1[
MQO$]S/V\H61N_B-<07IX<.)K5"AM_))JL [5K.*M*/XZK4+'=9S^I#?:-B&=
M">E".$0"FPI%YV^YXV5N<"1F.ON>ARM.CJD_FRHDXU'$?]Z\]=EKF24/.;L&
MH1ESFC#I"I,L".;5EQ+I5HE3^A?]/MOF9YL6L\C/_F'Q-X']IL ^"NS_V^,6
MYO!'$;8Z5 6FC>-D286#CJ.\RBX3^YC&2_D%G\;]$S>MT)9<T/FKC1?0(#KP
M5G9W?H8Z_\*60$+CPO;![\TT9U/@L)^?$%O><?D34$L#!!0    ( "%*G% D
MIL:ZM@$  -,#   9    >&PO=V]R:W-H965T<R]S:&5E=#,R+GAM;'U3VVZ<
M,!#]%<L?$'/9;M(5(&535:V42*M4;9^],( 57ZAMEN3O:QN'TH3V!7N&<\Z<
ML<?%I/23Z0$L>A9<FA+WU@X'0DS=@Z#F2@T@W9]6:4&M"W5'S*"!-H$D.,F2
M9$\$91)71<B==%6HT7(FX:21&86@^N4(7$TE3O%KXI%UO?4)4A4#[> ;V._#
M2;N(+"H-$R -4Q)I:$M\FQZ..X\/@!\,)K/:(]_)6:DG'WQM2IQX0\"AMEZ!
MNN4"=\"Y%W(V?D5-O)3TQ/7^5?USZ-WU<J8&[A3_R1K;E_@&HP9:.G+[J*8O
M$/OY@%%L_AXNP!W<.W$U:L5-^*)Z-%:)J.*L"/H\KTR&=8I_]I&V3<@B(5L(
M-Z$.F0L%YY^HI56AU83T?/8#]5><'C)W-K5/AJ,(_YQYX[*7*D\_%N3BA2+F
M.&.R%29=$,2I+R6RK1+'[!U]GV_S\TV+>>#G_[#XE\!N4V 7!';_[7$#DR5O
MBI#5H0K071@G@VHURC#*J^PRL;=9N)0_\'G<'ZCNF#3HK*R[VG !K5(6G)7D
MRLU0[U[8$G!HK=]>N[V>YVP.K!KB$R++.ZY^ U!+ P04    "  A2IQ0/0=
M@+0!  #3 P  &0   'AL+W=O<FMS:&5E=',O<VAE970S,RYX;6Q]4V&/U" 0
M_2N$'W#LTO6\;-HFMV>,)IILSJB?V7;:D@.F MV>_UZ@O5[5ZI?"3-][\P:&
M?$3[Y#H 3YZU,JZ@G??]D3%7=:"%N\$>3/C3H-7"A]"VS/461)U(6C&^V]TR
M+:2A99YR9UOF.'@E#9PM<8/6POX\@<*QH'OZDGB4;>=C@I5Y+UKX OYK?[8A
M8HM*+348)]$0"TU![_?'TR'B$^";A-&M]B1V<D%\BL''NJ"[: @45#XJB+!<
MX0&4BD+!QH]9DRXE(W&]?U%_GWH/O5R$@P=4WV7MNX+>45)#(P;E'W'\ ',_
M;RB9F_\$5U !'IV$&A4JE[ZD&IQ'/:L$*UH\3ZLT:1VG/SR;:=L$/A/X0KA+
M==A4*#E_)[PH<XLCL=/9]R)>\?[(P]E4,9F.(OT+YEW(7LN,[W-VC4(SYC1A
M^ KSBF!!?2G!MTJ<^%_TVVR;GVU:S!(_^X?%WP0.FP*')'#X;X];&/Y'$;8Z
M5 VV3>/D2(6#2:.\RBX3>\_3I;S"IW'_+&PKC2,7].%JTP4TB!Z"E=U-F*$N
MO+ E4-#XN'T;]G::LRGPV,]/B"WON/P%4$L#!!0    ( "%*G%#.#?R_M0$
M -,#   9    >&PO=V]R:W-H965T<R]S:&5E=#,T+GAM;'U3T6Z<,!#\%<L?
M$-\9DD8G0,JEJAJID4ZIVC[[8 $K-DML<R1_7]L02EO:%^Q=9F9G[74VHGFV
M+8 CKUIU-J>M<_V!,5NVH(6]PAXZ_Z=&HX7SH6F8[0V(*I*T8GRWNV%:R(X6
M6<R=3)'AX)3LX&2(';06YNT("L><[NE[XDDVK0L)5F2]:. KN&_]R?B(+2J5
MU-!9B1TQ4.?T;G\XI@$? =\EC':U)Z&3,^)S"!ZJG.Z"(5!0NJ @_'*!>U J
M"'D;+[,F74H&XGK_KOXI]NY[.0L+]ZA^R,JU.;VEI():#,H]X?@9YGZN*9F;
M_P(74!X>G/@:)2H;OZ0<K$,]JW@K6KQ.J^SB.DY_^/5,VR;PF< 7PFVLPZ9"
MT?E'X421&1R)F<Z^%^&*]P?NSZ8,R7@4\9\W;WWV4B0\R=@E",V8XX3A*\Q^
M03"OOI3@6R6._"_Z3;+-3S8M)I&?_,/B;P+IID :!=+_]KB%2?\HPE:'JL$T
M<9PL*7'HXBBOLLO$WO%X*;_@T[@_"M/(SI(S.G^U\0)J1 ?>RN[*SU#K7]@2
M**A=V'[P>S/-V10X[.<GQ)9W7/P$4$L#!!0    ( "%*G%#6VFB?M0$  -,#
M   9    >&PO=V]R:W-H965T<R]S:&5E=#,U+GAM;'U3[6[<(!!\%<0#A#M\
MN9Y.MJ5<JJJ1&NF4JNUOSE[;*'PX@,_)VQ<P<=W6[1_#KF=F9V')1VV>;0?@
MT*L4RA:X<ZX_$F*K#B2S-[H'Y?\TVDCF?&A:8GL#K(XD*0C=;/9$,JYPF<?<
MV92Y'IS@"LX&V4%*9MY.(/18X"U^3SSQMG,A0<J\9RU\!?>M/QL?D5FEYA*4
MY5HA TV![[;'TR[@(^ [A]$N]BAT<M'Z.00/=8$WP1 (J%Q08'ZYPCT($82\
MC9>DB>>2@;C<OZM_BKW[7B[,PKT6/WCMN@(?,*JA88-P3WK\#*F?6XQ2\U_@
M"L+#@Q-?H]+"QB^J!NNT3"K>BF2OT\I57,?TYY!HZP2:"'0F'&(=,A6*SC\R
MQ\K<Z!&9Z>Q[%JYX>Z3^;*J0C$<1_WGSUF>O949O<W(-0@ESFC!T@=G.".+5
MYQ)TK<2)_D7?9^O\;-5B%OG9/RS^)K!;%=A%@=U_>US#[/\H0A:'*L&T<9PL
MJO2@XB@OLO/$WM%X*;_@T[@_,M-R9=%%.W^U\0(:K1UX*YL;/T.=?V%S(*!Q
M8?O![\TT9U/@=)^>$)G?<?D34$L#!!0    ( "%*G%#VJ3"*M@$  -,#   9
M    >&PO=V]R:W-H965T<R]S:&5E=#,V+GAM;'U3[6Z<,!!\%<L/$-_!Y7(Z
M 5(N5=5*K71*U?:W#Q:PX@]JFR-]^ZX-(;0E^8.]R\SLK+W.!F.?7 O@R;.2
MVN6T];X[,N;*%A1W-Z8#C7]J8Q7W&-J&N<X"KR))299L-GNFN-"TR&+N;(O,
M]%X*#6=+7*\4M[]/(,V0TRU]23R*IO4AP8JLXPU\ _^].UN,V*Q2"07:":.)
MA3JG]]OC:1?P$?!#P. 6>Q(ZN1CS%(+/54XWP1!(*'U0X+A<X0&D#$)HX]>D
M2>>2@;C<OZA_C+UC+Q?NX,'(GZ+R;4X/E%10\U[Z1S-\@JF?6TJFYK_ %23"
M@Q.L41KIXI>4O?-&32IH1?'G<14ZKL/XYW8_T=8)R41(9L(AUF%CH>C\ _>\
MR*P9B!W/ON/ABK?'!,^F#,EX%/$?FG>8O19I<I>Q:Q":,*<1DRPPVQG!4'TN
MD:R5."7_T??I.C]=M9A&?OJ&Q;\$=JL"NRBP>[?'-<SAGR)L<:@*;!/'R9'2
M]#J.\B([3^Q]$B_E%3Z.^U=N&Z$=N1B/5QLOH#;& UK9W. ,M?C"YD!"[</V
M#O=VG+,Q\*:;GA";WW'Q!U!+ P04    "  A2IQ0=$$2C[@!  #3 P  &0
M 'AL+W=O<FMS:&5E=',O<VAE970S-RYX;6QU4^UNG# 0?!7+#Q!S<$F3$R#E
M4E6MU$JG5$U_^V !*_Z@MCG2M^_:$$I3\@=[EYG967N=C\8^NP[ DQ<EM2MH
MYWU_8,Q5'2CNKDP/&O\TQBKN,;0M<[T%7D>2DBQ-DANFN-"TS&/N9,O<#%X*
M#2=+W* 4M[^/(,U8T!U]33R*MO,AP<J\YRU\!_^C/UF,V*)2"P7:":.)A::@
M][O#<1_P$? D8'2K/0F=G(UY#L&7NJ!), 02*A\4."X7>  I@Q#:^#5KTJ5D
M(*[WK^J?8N_8RYD[>##RIZA]5]!;2FIH^"#]HQD_P]S/-25S\U_A A+AP0G6
MJ(QT\4NJP7FC9A6THOC+M H=UW'ZD]W-M&U".A/2A7 ;Z["I4'3^D7M>YM:,
MQ$YGW_-PQ;M#BF=3A60\BO@/S3O,7LHLO<O9)0C-F..$25>8W8)@J+Z42+=*
M'-/_Z#?9-C_;M)A%?O:.Q7\$]IL"^RBP7PMDR9L>MS!ONV2K0U5@VSA.CE1F
MT'&45]EE8N_3>"E_X=.X?^.V%=J1L_%XM?$"&F,\H)7D"F>HPQ>V!!(:'[8?
M<&^G.9L";_KY";'E'9=_ %!+ P04    "  A2IQ0$;*NYI #  #X$0  &0
M 'AL+W=O<FMS:&5E=',O<VAE970S."YX;6QU6-N.FS 4_!7$!Q3LPW651-IL
M5;52*ZVV:OO,)DZ"%G *9+/]^YK+TM2>\Q+ &9^Q868,7EUU^]*=E.J]M[IJ
MNK5_ZOOS71!TNY.JB^Z#/JO&_'/0;5WTYK(]!MVY5<5^[%17@0S#)*B+LO$W
MJ['ML=VL]*6ORD8]MEYWJ>NB_;-5E;ZN?>&_-SR5QU,_- 2;U;DXJN^J_W%^
M;,U5L%39E[5JNE(W7JL.:_]>W&TI'SJ,B)^ENG8WY]XPE6>M7X:++_NU'PXC
M4I7:]4.)PAQ>U8.JJJ&2&<?ON:B_< X=;\_?JW\:)V\F\UQTZD%7O\I]?UK[
MF>_MU:&X5/V3OGY6\X1BWYMG_U6]JLK AY$8CIVNNO'7VUVZ7M=S%3.4NGB;
MCF4S'J_3/[&<N^$.<NX@EP[9R!-,1./(/Q9]L5FU^NJUT\T_%\,S%G?2W)O=
MT#C>BO$_,_C.M+YNB.0J>!T*S9CMA)$W&+$@ E-]H9"(8BN=[@GA_@2'2&-_
MNNDOTQ07B&"!:"P0_3='LN:(,!$FB2%)# K$%@G"))@D@20)*)!:) B389(4
MDJ2@0&Z1 $P48I(,DF1.@<3F<"$4,<++(4<."MC:1AA&G2+$#@J=$E+:<P$@
MBAA]"<:IPBF1"IO&Q5 4,S30K?="NC2VC@&&(D;( IM:$"AA2QF"&"T+['T!
MC!TY3P> 8D;. MM? &_'SN-!(,GPX 00P-ZQ'680Q*D-AX  #H\='2 0IP.<
M \)U>>:L/R )8F8%$#@*A.OSS+EK( MB1FT29X%$66"K ( HSAD>G 42^#P)
M;1X$XE9N' 82&#VQ'P\$,1DJ<1I(8/0DLGD0B DWB=-  J,GB<V#0(S<)$X#
M"8R>9#8/ G$ZP&D@@=%31P<(Q.D IX$$1D\='2 0IP.<!A(X/75T@$"<#G <
M2-?J(K+3#8 H9=*-<!X0L'IJKW(0Q.0.X3P@8/747N40*&-6.<)Y0*[5A:,#
M **,T1LQK_S ZLZR $'<EP7. P)6SVR]01"C-\)Y0,#JF9T[$,3D#N$\(&#U
MS,X="&)RAW >$+!Z;N<.!'$ZP'E KM5%YN@:Y$'.O%41S@,"5L_M]P,(LM^J
M@IL/[UJUQW'+H?-V^M*,^QTWK<NVQOWXI1_\@T][(M^*]E@VG?>L>_/Y/WZD
M'[3NE1E+^,%HY:2*_7)1J4,_G*;FO)WV(J:+7I_G?99@V>S9_ 502P,$%
M  @ (4J<4"23JDKM 0  9P4  !D   !X;"]W;W)K<VAE971S+W-H965T,SDN
M>&UL=53KCIP@%'X5XP,LCO>=J,G.-DV;M,EDFVY_,WJ\9$$LX+A]^P(ZUKK,
M'X'#=SD'Y&03XV^B!9#..R6]R-U6RN&(D"A;H%@\L %ZM5,S3K%42]X@,7#
ME2%1@GS/BQ'%7>\6F8F=>9&Q49*NAS-WQ$@IYG].0-B4NP?W%GCIFE;J "JR
M 3?P ^3/X<S5"JTJ54>A%QWK'0YU[CX=CJ=4XPW@M8-);.:.KN3"V)M>?*UR
MU],) 8%2:@6LABL\ R%:2*7Q>]%T5TM-W,YOZI]-[:J6"Q;PS,BOKI)M[J:N
M4T&-1R)?V/0%EGHBUUF*_P97( JN,U$>)2/"?)UR%)+1146E0O'[/':]&:=Y
M)[[1[ 1_(?@K(34$-!N9S#]AB8N,L\GA\]D/6%_QX>BKLREUT!R%V5/)"Q6]
M%L%CE*&K%EHPIQGC;S"'%8&4^FKAVRQ._@=Z'-CY@37%P/"##=]/$KM :!4(
MC4#X7XWQKD8;YHY)9#6)+ +ISL2&>;2;Q%:3^(- Z'D[$QOFSGTE5I/$(N#O
M3&R8.Y>:6DU2BT"X,[%AHIT)VOSH%'ACGKAP2C;VIKULHFL7>?+-0_D'GUO0
M=\R;KA?.A4GUW,RCJ!F3H%+Q'M35M:KKK0L"M=331,WY_/;GA63#TM;0VEN+
MOU!+ P04    "  A2IQ03L_X"/P!  #H!0  &0   'AL+W=O<FMS:&5E=',O
M<VAE970T,"YX;6R-5&UOFS 0_BN('U!C0B") *GI5&W2)D6=UGUVX'A1;4QM
M$[I_/]M0QEI'RA?L.S_/<W?F?.G(Q8ML )3WQF@G,[]1JC\@)(L&&)%WO(=.
MGU1<,**T*6HD>P&DM"1&41@$,6*D[?P\M;Z3R%,^*-IV<!*>'!@CXL\1*!\S
M'_OOCJ>V;I1QH#SM20T_0?WJ3T);:%$I6P:=;'GG":@R_QX?CM@2+.*YA5&N
M]IXIY<SYBS&^E9D?F(R 0J&,!-'+!1Z 4J.D\WB=1?TEIB&N]^_JC[9X7<R9
M2'C@]'=;JB;S=[Y70D4&JI[X^!7F@K:^-U?_'2Y -=QDHF,4G$K[]8I!*LYF
M%9T*(V_3VG9V':>3*)QI;D(X$\*%L+-QT!3(9OZ%*)*G@H^>F"Z_)^8?XT.H
M[Z8P3GL5]DPG+[7WDD=!G**+$9HQQPD3KC!X02"MOH0(72&.X2=ZO''S-\X4
M-Y8?_9=BXA:(G *1%=BL!,)D[Q;8.@6VC@QV'R[)A;D2)'8&B3\+X, MD#@%
MDMO+W#D%=C>4Z<#@*]VP=P;9.P1"MP .W"T;W%XHOM+U^(9272#\L7/1ZJ$Q
M$+4=,=(K^-#9^;;R+F/LWKYL] \^S< ?1-1M)[TS5_JYVT=9<:Y YQ+<Z?9J
M]-A=# J5,MM$[\4T>R9#\7Z>JV@9[OE?4$L#!!0    ( "%*G%#'SLT$N0$
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
MLN[]A%NNE;+@K"0WSDOKQG@).-36;[^XO9X>\Q18U<]S2I8_B^(?4$L#!!0
M   ( "%*G%"K34K%M0$  -,#   9    >&PO=V]R:W-H965T<R]S:&5E=#0W
M+GAM;'53VVZ<,!#]%<L?$.\:LFU7@)1-%*52(JU2M7WVP@!6?"&V6=*_KVU8
M2K?T!<\,YYRY>)P-VKS9%L"A#RF4S7'K7+<GQ)8M2&9O= ?*_ZFUD<QYUS3$
M=@98%4E2$+K9[(AD7.$BB[&C*3+=.\$5' VRO93,_#J T$..M_@2>.5-ZT*
M%%G'&O@&[GMW--XCLTK%)2C+M4(&ZAS?;?>'-. CX >'P2YL%#HY:?T6G*]5
MCC>A(!!0NJ# _'&&>Q B"/DRWB=-/*<,Q*5]47^,O?M>3LS"O18_>>7:''_&
MJ(*:]<*]ZN$)IGYN,9J:?X8S" \/E?@<I18V?E'96Z?EI.)+D>QC/+F*YS#I
M7VCK!#H1Z!6!C(EBY0_,L2(S>D!FG'W'PA5O]]3/I@S!.(KXSQ=O??1<I$F:
MD7,0FC"'$4,7F.V,(%Y]3D'74ASH/_1=LLY/5DM,(C]9\.F7_PBDJP)I%$C_
MZO'VJL<US.XJ"5D,58)IXCI95.I>Q55>1.>-O:/Q4O[ QW5_8:;ARJ*3=OYJ
MXP746COPI6QN_ ZU_H7-CH#:!?.3M\VX9Z/C=#<](3*_X^(W4$L#!!0    (
M "%*G%"$S1O8N@$  -,#   9    >&PO=V]R:W-H965T<R]S:&5E=#0X+GAM
M;&U3VV[<(!#]%<0'A%W;238KVU(V5=5*K;1*U?:9M<<V"C NX'7Z]P7LN&[J
M%V"&<\Y<&/(1S8OM !QY55+;@G;.]4?&;-6!XO8&>]#^ID&CN/.F:9GM#? Z
MDI1DR6YWQQ07FI9Y])U-F>/@I-!P-L0.2G'S^P02QX+NZ9OC6;2="PY6YCUO
MX1NX[_W9>(LM*K50H*U 30PT!7W<'T]9P$? #P&C79U)J.2"^!*,SW5!=R$A
MD%"YH,#]=H4GD#((^31^S9IT"1F(Z_.;^L=8NZ_EPBT\H?PI:M<5]$!)#0T?
MI'O&\1/,]=Q2,A?_!:X@/3QDXF-4*&U<2358AVI6\:DH_CKM0L=]G&[2PTS;
M)B0S(5D(AQB'38%BYA^XXV5N<"1FZGW/PQ/OCXGO316<L17QSB=OO?=:9NE]
MSJY!:,:<)DRRPNP7!//J2XAD*\0I^8]^EV[ST\T4T\A/5_SDX79;(-L4R*)
M]D^-AW<U;F$>W@5AJZ8J,&T<)TLJ''0<Y95WF=C')#[*7_@T[E^Y:86VY(+.
M/VU\@ ;1@4]E=^-GJ/,_;#$D-"X<[_W93',V&0[[^0NQY1^7?P!02P,$%
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
M>[![-3_F.3!R6.:4K'\6Y1]02P,$%     @ (4J<4-^8MOK- 0  >00  !D
M  !X;"]W;W)K<VAE971S+W-H965T-30N>&ULC531;IPP$/P5RQ\0<\!QR0F0
M<JFJ5FJE4ZJFSSY8P(J-J6V.].]K&T)1XDA]P=[US.RLL9U/4CWK#L"@%\%[
M7>#.F.%(B*XZ$%3?R %ZN])():BQH6J)'A30VI,$)W$49410UN,R][FS*G,Y
M&LYZ."ND1R&H^G,"+J<"[_!KXI&UG7$)4N8#;>$'F)_#6=F(K"HU$]!K)GND
MH"GP_>YXRAS> YX83'HS1ZZ3BY3/+OA:%SARAH!#99P"M<,5'H!S)V1M_%XT
M\5K2$;?S5_7/OG?;RX5J>)#\%ZM-5^!;C&IHZ,C-HYR^P-+/'J.E^6]P!6[A
MSHFM44FN_1=5HS92+"K6BJ O\\AZ/T[S2G*WT,*$>"'$*^&0^E[F0M[Y)VIH
MF2LY(37O_4#=+]X=8[LWE4OZK?!KUKRVV6N9'NYR<G5""^8T8^(-9K<BB%5?
M2\2A$J?X'3U+POPD:#'Q_'3#3_8?&$B# ND[@?0V>M-C"/-!D7VPR#X@$(<%
MLJ! ]A\N0YBW>TDVOUZ :OVAUZB28^\OW":[WJO[V!^=?_#Y4GZGJF6]1A=I
M[ 'TQZ21TH"U$MW8ACO[#JP!A\:XZ<'.U7P;YL#(8;GH9'UMRK]02P,$%
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
M9::W>BZFGVXJ%!_F^P0OEUKQ#E!+ P04    "  A2IQ0% L_OF8"  "@"0
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
M=-Q4]"CU,E)KWL^3?B-9.\Q*;QS8V3]02P,$%     @ (4J<4"=EX?^] @
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
M!ZQUP,]RE5:N"#/")!R2\*&#.+1( (9(3!)!D@B0$(NDP\0MINCJS:6U_$L
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
M#Z[::-1L!@V<:<"D")3[E *Z4FS@(CQ&'S-L'1(+8K>4 (3<&,A9*3(&:&8
MTP<&D=,@,@;1AZ7"UE(-FMAH.J/!&.#4*M>A C'";ACLA,$.F-B"&31XE@:$
M"&2)I=LZ=!!% *9NH-@)%#N $@LH=@"E"4#67F\=.ICB)'ZP78D3*'$ 61NQ
M21:)U.D/4_MX+F490O@13NK$21TXF863+O)$*0HQL'"6,H2ANNG=.)D3)UO@
M* <+)UL<4QB"S-ZLI2H+@77$=DN131O,;JR6\K/I!L(KV:63^G\_FYT:SC/4
M-YXUOU&-:.@;[S9#%_M!^+GNA'=@4MVGYM8[,2:I @R?U')6JG%.@X:>I'Y-
MU#L?VL<PD*P?.V,PM>?B/U!+ P04    "  A2IQ0W[--6X #  #3#@  &0
M 'AL+W=O<FMS:&5E=',O<VAE970W,BYX;6R55UUOFS 4_2N(]Q5_8ZHD4I-H
MVJ1-JC9M>Z:)DZ "SL!ING\_\U%*[$N5O 1PSKT^/O8]<&=G73W7!Z5,\%KD
M93T/#\8<[Z.HWAQ4D=9W^JA*^\].5T5J[&.UC^ICI=)M&U3D$4%(1$6:E>%B
MUHX]5HN9/ID\*]5C%=2GHDBK?TN5Z_,\Q.';P(]L?S#-0+28'=.]^JG,K^-C
M99^B(<LV*U199[H,*K6;AP_X?DUD$] B?F?J7(_N@V8I3UH_-P]?M_,0-8Q4
MKC:F29':RXM:J3QO,ED>?_NDX3!G$SB^?\O^N5V\7<Q36JN5SO]D6W.8AS(,
MMFJ7GG+S0Y^_J'Y!/ SZU7]3+RJW\(:)G6.C\[K]#3:GVNBBSV*I%.EK=\W*
M]GKN_HG?PN  T@>0(0"+#P-H'T#? ]B' :P/8$Y U"VEU6:=FG0QJ_0YJ+KM
M/:;-*<+WS*J_:09;L=O_K#RU'7U9"(QFT4N3J,<L.PP98?" B&SV80H"3;$D
M7KB@ES.L  B[A*Q]"*84ID'!E=(V 1TE()+#"1B8@+4)V(54V)&JPX@64W8L
M!:44"V?! (Z2).$$)L1!0AP@1!Q"'8:/)OK$$TF2V"$$X)A,$A+#A 1(2 "$
MG*U>"F BSJC+!X!1Q-'$CL<@G1B@XQRK9>S-D\B$2T?&E0^3R.[6Q'9)D(X$
MZ'"'CO3FX8)QMUQ\5,S9J&(NR"0@F<0C$TN'2^+-@A$3B#J<5SY.2I9( =/!
M"/8A!*@C7"-"/B4F$74V=07A")(N;MWCQ 7UA$ZX&YYP4.PQYVCB8&#0(1\P
MN=Z;,.QNF%[A3CUHK(L]7+%K&BL(QW 23U&"_1)#ACGA)QAV.,QO$ ;V) R9
MDB>,;S>8$>*>= AF74E.$()="4.V-)4"=A(L;Y %KG_L&P @"V0!,;,FX KC
M V/)93QA203V .)[ $?)1 JX& F^7AD"%R,A5RC3@\8+%@QC]RT&P^@4(;BT
MB5_:?/2-=ID"+D7";I %+D4"?6UXLOB?$8)R[*H"H#":6A%<U@0JZZFS A<B
MB6\0!2Y$ KW3/5&D]Y8AB/FJ^# LI;?1T>C+OE#5ONV:ZF"C3Z5IOH]'HT-G
M]D":SL 97]J.K>NOWM-T[=[WM-IG91T\:6/[CK8[V&EME&6)[NRN'6R'.3SD
M:F>:V]C>5UV;U3T8?>Q;R&CH8Q?_ 5!+ P04    "  A2IQ0JUW^')X"  #7
M"   &0   'AL+W=O<FMS:&5E=',O<VAE970W,RYX;6R-5FUOFS 0_BN([ROX
M!0-5$JDAFC9IDZI.W3Z[B9.@ F:VDW3_?K8AE!K3]@O8QW///7>'?%Y<N'B6
M1\94\%)7C5R&1Z7:VRB2VR.KJ;SA+6OTEST7-55Z*PZ1; 6C.^M45Q&,8Q+5
MM&S"U<+:[L5JP4^J*AMV+P)YJFLJ_JU9Q2_+$(17PT-Y."ICB%:+EA[8+Z8>
MVWNA=]' LBMKULB2-X%@^V5X!VXW !D'B_A=LHL<K0.3RA/GSV;S?;<,8Z.(
M56RK# 75KS,K6%49)JWC;T\:#C&-XWA]9?]JD]?)/%')"E[]*7?JN RS,-BQ
M/3U5ZH%?OK$^H20,^NQ_L#.K--PHT3&VO)+V&6Q/4O&Z9]%2:OK2O<O&OB_=
M%W)U\SO W@$.#H"\ZX!Z!_3J@-]UP+T#=ARB+A5;FPU5=+40_!*(KKTM-7\1
MN,6Z^EMCM,6VWW1YI+:>5P3&B^ALB'K,NL/ $08,B$BS#R&@+\0:3MP)>ANA
M\$#P6\AF"@$(^64@;Z;($J 1 4IF\L!> FP)\%@D@$ZI.@RQF,9BOD"(H ,K
M/#! ($S]<A*OG&0B)\T=-1TD&85)8)ZDCA@/"F=YYM="O%J(IS3$$4,F80#.
M8N3TN?# 8)RYL V95##+<C33S]0K.IV(1LG,'Y5Y";+/_U&YER#_N(7YI!QI
MC+&#*J8H0@B>T0)B_TD0?Z*)/>A-).2*+CPHE"8.UZ9'C7N8D&RF V#F^ )3
MT7 N;^_Q= ?@Y]L(_$<+0!\WLL>,L\49BMW*>5 XPXZ::'2ZUTP<[.24P9:?
M&F7.R)%UF,YWT$P'Q[XV4]M.C5>:;N3_I.)0-C)XXDK/'CLA]IPKID7&-[JQ
M1WW+&#85VRNS3/5:=*.VVRC>]M>(:+C+K/X#4$L#!!0    ( "%*G%!+H!\4
M0P,  $ -   9    >&PO=V]R:W-H965T<R]S:&5E=#<T+GAM;(U776^;,!3]
M*XCW%NXU-E ED9I$TR9M4M5IVS--G 05< 9.T_W[F8_2Q+Y4?0G8G'O/N?XX
ML6=G53\W!RFU]UH653/W#UH?[X*@V1QDF36WZB@K\V6GZC+3IEGO@^98RVS;
M!95%@&$H@C++*W\QZ_H>ZL5,G7215_*A]II366;UOZ4LU'GN@__6\9CO#[KM
M"!:S8[:7/Z7^=7RH32L8LVSS4E9-KBJOEKNY?P]W:V1M0(?XG<MS<_'NM:4\
M*?7<-KYMYW[8*I*%W.@V168>+W(EBZ+-9'3\'9+Z(V<;>/G^EOU+5[PIYBEK
MY$H5?_*M/LS]Q/>V<I>="OVHSE_E4!#WO:'Z[_)%%@;>*C$<&U4TW:^W.35:
ME4,6(Z7,7OMG7G7/<_^%)T,8'8!# (X!(#X,8$, >P^(/@R(AH#("@CZ4KJQ
M66<Z6\QJ=?;J?GJ/6;N*X"XRH[]I.[O![KZ9X6E,[\M"(,Z"ES;1@%GV&+S
MP(@(3/:1 BF*)3KA@ETSK A(= U9NQ!@C);!R$I9EX!=), DI1-$9(*H2Q!=
M#955R++'B Y3=1B6"F:7ZZ(P03XQJ)P4PPDQUI M>PR_H+D!D436]*XH&&-1
M0LL1I!Q!R.&6'.'P(,8I6&I<%$1I.#'3,2DF)L0(2TSLT' &H:7%!45"6)G6
ML3.9D> 3"RLA]2;.RA08TPE2,D%*%)Q8!:=N+5$8TBP0TEX1$CRI;1:A0\3$
M)-&$*8%+Q$*;"%PBF"0BK>D>D" "FPC=A<LGB6CS 480.3[+'*(4)XEHDP+7
MI3CPB12TM0#_O%,";0= ^8'ME4!M=7O=K@@4,C$EAS8$H!S!=DMP=_N-T<-M
M/22,3[@ET#L>DD_XY0"Z6N"V&!>2PL3_"-#> 81Y3/VQ(NT+&'Y^P2"]XY'8
M\<Z"06+')QC:,T3 D"<)3@BBG0$)9W"6#+K.< ,\@MA61.$@22>V-M(>@H2'
M.(MF %V=+3!.[%U%P("EJ3U&P<4QLI3UOCNB-]Y&G2K='L8N>L=KP#VVQU"K
M?VFN!_UA_CU-?[?XD=7[O&J\)Z7-(;<[BNZ4TM*H#&_-B!W,=69L%'*GV]?8
MO-?]F;YO:'4<[BO!>&E:_ =02P,$%     @ (4J<4!+&L@A* @  )P<  !D
M  !X;"]W;W)K<VAE971S+W-H965T-S4N>&ULC57K;ML@%'X5RP]0?+]$CJ4F
M[;1)FQ1UVO:;.">Q56P\($GW]@-,/,>A6?,C!OQ=S@%\3G&F[)77 ,)Y:TG'
MEVXM1+] B%<UM)@_T!XZ^69/68N%G+(#XCT#O-.DEJ# \Q+4XJ9SRT*O;5A9
MT*,@30<;YO!CVV+V9P6$GI>N[UX67II#+=0"*HL>'^ [B!_]ALD9&E5V30L=
M;VCG,-@OW4=_\>Q[BJ 1/QLX\\G84:EL*7U5DR^[I>NIB(! )90$EH\3K($0
MI23C^&U$W=%3$:?CB_HGG;Q,9HLYK"GYU>Q$O70SU]G!'A^)>*'GSV 2BEW'
M9/\53D D7$4B/2I*N/YWJB,7M#4J,I06OPW/IM//L]&_T.R$P!""D1 &=PFA
M(80C(?#O$B)#B#Y*B TAGA'0D+O>S"<L<%DP>G;8<!]ZK*Z=OXCE<55J49^.
M?B?WD\O54YF$48%.2LA@5@,FF&#\$8&D^F@1V"Q6P0T]">-KB[4-DUQCGFR8
M]!KS;,-D]F!#ZWZ$6B"\$LCM I%5(-("T50@\F;9#IA$8SJ-B=+(4S^[4VQU
MBF^<\FQF%-\8!7[ZOD]B]4DL&;US 5*K0/KQ/<VL IDE@F!V20=,/$W5;I%;
M+?+_']MJP&03BS2;'=MP"_.;;<^3[,[YRDIK_38]2U#A[*LPH*E9F.>>S0U-
MBD(+[* K-'<J>NQT>YBLCEW@4=<Y] \^M)!OF!V:CCM;*F1IT@5D3ZD &9'W
M( ^AEEUKG!#8"S5,Y9@-I7N8"-J;MH3&WEC^!5!+ P04    "  A2IQ0DU.;
M;-L"  !>#   &0   'AL+W=O<FMS:&5E=',O<VAE970W-BYX;6R55]N.VR 0
M_17+'[ V8^/+*HG4356U4BNMMFK[S"8DL=8VJ4V2[=\7,$E]&2KG)3;XS.',
MP &RN(CFK3UP+KWWJJS;I7^0\O@8!.WFP"O6/H@CK]67G6@J)E6SV0?ML>%L
M:X*J,H P3(**%;6_6IB^YV:U$"=9%C5_;KSV5%6L^?/$2W%9^L2_=KP4^X/4
M'<%J<61[_IW+'\?G1K6"&\NVJ'C=%J+V&KY;^A_(XQHR'6 0/PM^:7OOGD[E
M58@WW?BR7?JA5L1+OI&:@JG'F:]Y66HFI>.W)?5O8^K _ON5_9-)7B7SREJ^
M%N6O8BL/2S_SO2W?L5,I7\3E,[<)4=^SV7_E9UXJN%:BQMB(LC6_WN;42E%9
M%B6E8N_=LZC-\V+YKV%X -@ N 60^+\!D0V(1@%!I\RD^I%)MEHTXN(UW6P=
MF5X4Y#%2Q=SH3E,[\TUEVZK>\RJ)XT5PUD06\]1AH(^)AI U OG'$B@%-QF
MR@ 3'PWB*4X0H021(8@'!,DHCPZ3&$QM,)3&Z2B3*2C-TQ27$J-28D3*:)2G
M#D-[HQ"( $9:$%24Y!DNAJ)B*"+&09"@!,G\F4E1@G3&S*231&F8CV=F"HI)
MDN!2,E1*ADC)<8(<)<CG%X.$N-_"&>6PH$&J-!Q;;@HB#BD.ZY.IE-XH0PK<
MMN0.WQ+<N&2&<]<6-%@@N6.#(;@K"6)+ZBH8[B5"[\@6=Q-)YF2;3+*-@#A6
M.L%=1Q#;47!0X&XAV1WIXGXA^8R]T((&"SDD,+8_!HOBS+%@ ;<?(/:CD8,"
MMPV0^64!QVD',\IB0?U\@8YJ8C']TPJ(8WL'W'^ ^(^ZSF[<6A#?41'<6H"=
M4Y.*4,07COT;</\!XC_JDHH["]([LL6=!=A!-,DVF\PMR>+QCA7T+GKZYOV-
M-?NB;KU7(=6=T=SL=D)(KAC#!U6Y@[KLWQHEWTG]FJKWIKOQ=@TICO8V']S^
M4JS^ E!+ P04    "  A2IQ0-T( )9D"  !7"0  &0   'AL+W=O<FMS:&5E
M=',O<VAE970W-RYX;6R55MN.FS 0_17$>Q=LP(2(1,I%52NU4K35ML].X@2T
M@*GM)-N_KVT("V329E]B>SAS/'/B\3B]</$J,\:4\U86E9RYF5+UU//D+F,E
ME4^\9I7^<N"BI$HOQ=&3M6!T;YW*PL.^3[R2YI4[3ZUM(^8I/ZDBK]A&./)4
MEE3\6;*"7V8N<J^&Y_R8*6/PYFE-C^P'4R_U1NB5U['L\Y)5,N>5(]AAYB[0
M=(V(<;"(GSF[R-[<,:EL.7\UBZ_[F>N;B%C!=LI04#V<V8H5A6'2<?QN2=UN
M3^/8GU_9/]OD=3);*MF*%[_RO<IF[L1U]NQ 3X5ZYI<OK$TH<ITV^V_LS H-
M-Y'H/7:\D/;7V9VDXF7+HD,IZ5LSYI4=+RW_U0UVP*T#[AP:<>XZ!*U#\.X0
M_M,A;!W"D8/7I&*U65-%YZG@%T<T?V]-S2E"TU"KOS-&*[;]IN61VGJ>DXBD
MWMD0M9AE@\$]#.H0GF;OML#0%DM\XTZ"X0XK !(.(>M;" H".(P S#2P!,$@
MTQ@F"$&"T!*$ X+)2*H&0RRFLIA/&&,T@JT &$IPX(]RAMAB#,<<@3%'0,P)
M3$!  O*X:C%($#^@6H.)!GGZ.$Q&J@$P1$(T/BD0&PDF<- 3,.C);=#$APD2
MD"!Y7#;DPX7I/R!<"QI*XF,\$@Z":8'OE ^Z<U,@0)0[%P$";X(%PA^0!:YB
M%/Q?EG4+ZN<;HWNAPL6.@&HG=TH/P;6'H@]D"U<?(H\< G)[321A/#X# "I.
M@K%RMRA$HF@4M-?K+B431]NYI;/CITJ9.[IG[5X'"VRZT\B^-*\&V[7>:9HG
MQW<JCGDEG2U7NO?9#G7@7#$=I/^DA<WT*Z=;%.R@S#36<]&T^F:A>-T^8[SN
M+37_"U!+ P04    "  A2IQ0OC) >2H"  #Z!0  &0   'AL+W=O<FMS:&5E
M=',O<VAE970W."YX;6Q]5-N.FS 0_17$!ZPQ%^<B@K0DJEJIE:*MNGUVR"2@
M-9C:3MC^?7UA61;HOL3V^)PS9R9XTHZ+%UD"*.^U9HW<^:52[18A69104_G
M6VCTS86+FBI]%%<D6P'T;$DU0V$0$%33JO&SU,:.(DOY3;&J@:/PY*VNJ?B;
M ^/=SL?^6^"INI;*!%"6MO0*/T']:H]"G]"@<JYJ:&3%&T_ 9><_XNV!&+P%
M/%?0R='>,Y6<.'\QAV_GG1\80\"@4$:!ZN4.>V#,"&D;?WI-?TAIB./]F_H7
M6[NNY40E[#G[79U5N?/7OG>&"[TQ]<2[K]#7D_A>7_QWN /3<.-$YR@XD_;7
M*VY2\;I7T59J^NK6JK%KYVY624];)H0](1P(F'Q*B'I"]$Z(/R7$/2&>$) K
MQ?;F0!7-4L$[3[A_MZ7F(\+;6'>_,$';;'NGVR-U])X1$J7H;H1Z3.XPX0B#
M!P32ZD.*<"E%'L[HTPS[!4C\$7*80W 4+=N(%BN-K$ T$@@W_ZDC7A2(K4#\
MH543E[G#$(MI7!*\)F12[AP5!1NRGE0\1V%,0K)L.5FTG"Q83B:6'289I2%X
M$Z]6$\]S6+2)"(Z7[9!%.V1F9S-I34YF10<3(W,$#E=Q$$R,H-$+J$%<[721
M7L%OC3+?T2@Z#+#'T+R@23S7@\W-H7<9-Q5_4'&M&NF=N-+OT[ZB"^<*M,O@
M07>JU(-X.#"X*+/5@\,3;ARY@^)M/VG1,.ZS?U!+ P04    "  A2IQ0BM#B
MJ, "  "V"0  &0   'AL+W=O<FMS:&5E=',O<VAE970W.2YX;6R-5MN.FS 0
M_17$!RR^8? JB=105:W42JNMVCX[B9.@!4S!2;9_7]NPB-BFW1>PS9DS9^R9
MP:N;[%[ZLQ J>JVKIE_'9Z7:QR3I]V=1\_Y!MJ+17XZRJ[G2T^Z4]&TG^,$:
MU56" *!)S<LFWJSLVE.W6<F+JLI&/'51?ZEKWOW9BDK>UC&,WQ:>R]-9F85D
MLVKY27P7ZD?[U.E9,K$<REHT?2F;J!/'=?P!/A8P-086\;,4MWXVCDPH.RE?
MS.3+81T#HTA48J\,!=>OJRA$51DFK>/W2!I//HWA?/S&_LD&KX/9\5X4LOI5
M'M1Y'>=Q=!!'?JG4L[Q]%F- :1R-T7\55U%IN%&B?>QEU=MGM+_T2M8CBY92
M\]?A73;V?1N^4#2:A0W0:( F TC^:8!' ^P8)(,R&^I'KOAFU<E;U VGU7*3
M%/ 1Z\W<FT6[=_:;CK;7J]<-I7257 W1B-D.&#3'X'M($8"0"9)H!9,,%)2!
MK#V>V2.&PP0X2( M 9D1Y+D3Q@"A%M)82$IHAD#FQ.+C2,X03?.P'A+40SP]
ME#J.M@,FG3EB&$,$'#T^# *4,92%]:1!/:FG!P+BZ$D#CB#+, L[HD%'U'<$
MG8BVU'-$ $&0,"=R'X<I9#E<R(PL*"@+G,3"4>9!@OS]N<F"!,Q3D*7.CC!_
MZ_7&NY58!&!Y2LA".!"$2QX$=H2Y-0\\5XCJO'/K/@"#.:8+@A9Z$/Q_\8Z8
M.T<($YJ[@@(XD*%\H1O!<#N"Z!WE.X+N3@.S#'B2?!R#%"P("K<WZ/<WKWZ+
M$70GR"A:2%88[ES0;UT(NQ4,_:9$:>IF41& I8QD2^D1;ETPT+N\EC*"Z-VY
M4Y2YS3V @SFBP.UQR>P':FXTWWAW*IL^VDFE_\7VCWF44@G-"1XTYUE?HJ9)
M)8[*##,][H:;Q#!1LAUO2<ET5=O\!5!+ P04    "  A2IQ0<Z&><\D"  #L
M"P  &0   'AL+W=O<FMS:&5E=',O<VAE970X,"YX;6R55FUOFS 0_BN('U#\
M @:J)-*::=JD3:HZ;?OL)DZ""I@9)^G^_6Q#4<!'DWX)MGGNR7-WW/D69ZE>
MVH,0.GBMRKI=A@>MF_LH:C<'4?'V3C:B-F]V4E5<FZW:1VVC!-\ZHZJ,"$(L
MJGA1AZN%.WM4JX4\ZK*HQ:,*VF-5<?7O093RO QQ^';P5.P/VAY$JT7#]^*G
MT+^:1V5VT<"R+2I1MX6L R5VR_ 3OE^3V!HXQ.]"G-N+=6!=>9;RQ6Z^;9<A
MLHI$*3;:4G#S.(FU*$O+9'3\[4G#X3^MX>7ZC?V+<]XX\\Q;L9;EGV*K#\LP
M"X.MV/%CJ9_D^:OH'4K"H/?^NSB)TL"M$O,?&UFV[C?8'%LMJY[%2*GX:_<L
M:O<\=V\8[LU@ ](;D,$ Q^\:T-Z 3@RB3IES]3/7?+50\ARH+EL-MQ\%OJ<F
MF!M[Z&+GWAEO6W-Z6K$4+:*3)>HQ#QV&7&+H&+(&(/$ B8R"008!91!G3T<R
M,$Q 00+J".(+@FRB\:&#, >I'00G)"/9Q!4 1AC*$UA-#*J)/34L)3!! A(D
MM\>#@03L>CR8YVA&$8TGX?!1C*0LA;6DH)84B,94#(292GD?,Q*2@4(R@& F
MKSE(D-^>%HS@>D/7$]-C1I]@CAF9UIP/(S3/T8R>F?K'-R0'!+&IG/=!8S%P
M%\ $H)CYU##<!S#]0(K@XL5^]?HIBOT4,92@:4P 6$S9G!ZX%^#DEA1!H&EK
MNP(:BX'["O8;"TOS&0JX'>#T RF""QG[E>RG*/-B3^,D\ZK(AY$XG_WJX+Z
M<S\JV4PA$K@Q$'1[5 A<R^266H9 &9X$!03-7&!DYD8':ODB1V,*N);)!VJ9
MP+5,H)O8"PD$FEX^5T"=F.AB[+)S\ ^N]D7=!L]2FPG.S5D[*;4PA.C.%./!
MC-[#IA0[;9>I6:MN_NPV6C;];!T- _[J/U!+ P04    "  A2IQ0?*#$V<,"
M   $"P  &0   'AL+W=O<FMS:&5E=',O<VAE970X,2YX;6R55NV.VC 0?)4H
M#W")G6\4D Z.JI5:Z735M;]]8""Z)$YM ]>WK^V$ ,Z&<G^([<S.SBX>V/S(
M^+O842J=CZJLQ=3=2=E,/$^L=K0BXH$UM%9O-HQ71*HMWWJBX92L35!5>MCW
M8Z\B1>W.<G/VS&<YV\NRJ.DS=\2^J@C_.Z<E.TY=Y)X.7HKM3NH#;Y8W9$M_
M4OG:/'.U\WJ6=5'16A2L=CC=3-U'-%EB$V 0OPIZ%!=K1Y?RQMB[WGQ;3UU?
M*Z(E74E-0=3C0!>T+#63TO&G(W7[G#KP<GUB_V**5\6\$4$7K/Q=K.5NZJ:N
MLZ8;LB_E"SM^I5U!D>MTU7^G!UHJN%:B<JQ8*<RGL]H+R:J.14FIR$?[+&KS
M/';\IS X '<!N ]0N6\%!%U < X(;P:$74!X#HAO!D1=0&1E\-K:33.?B"2S
MG+.CP]O[T!!][= D4E_72A^:;\>\4_T4ZO0PB],P]PZ:J,/,6PR^P& _N<8\
M#3&H1WA*02\#0S+F>! >6RH6 "2-+!4 )KB&+&]FNE(:@ T+3'QP)2.&"4*0
M(#0$X64W46K5T6)B@ZG;;F;8 BV'H#!!/H:U1*"6:* E3A.8( 8)XON[D8 $
M":# [@:$R> D*9@D'1)D/DR0@039_64B'_:9?T>A$"@9N9UHQ,\(J!79AD:#
MJQ/Y_DA'$.C81X0!K2.7#\%60I_P$H+-A(9NBI/ +A<"A7;O[P M_P.Z5@Q;
M#@&>R\;Z!IL.?<)U"+8= CR567U;@*"Q:F'G(<AZD9TG'?Z2W;B/L$51!F0:
M:0J&/8K]^_N*8?MAP'[V?5Q H$%?O8M_\(KRK1FGA+-B^UIJC1>G_<CVB/4$
M8)W/T62!@/,G->*U ]F9OIT/?Q"^+6KAO#&IY@XS'6P8DU1I]Q_4]=VID;3?
ME'0C]3)1:][.9>U&LJ:;.;U^\)W] U!+ P04    "  A2IQ09KNR@],"  !I
M"P  &0   'AL+W=O<FMS:&5E=',O<VAE970X,BYX;6R55F%OFS 0_2N('U"P
MP0:B)-*:-MJD38HZ;?OL)DZ""IB!DW3_?C:X+-A'E'T!V[Q[]^[L.SR_B.:M
M/7(NO?>RJ-J%?Y2RG@5!NSWRDK4/HN:5^K(73<FDFC:'H*T;SG:=45D$. QI
M4+*\\I?S;FW3+.?B)(N\XIO&:T]ER9H_C[P0EX6/_(^%E_QPE'HA6,YK=N#?
MN?Q1;QHU"P:675[RJLU%Y35\O_ _H=D:9=J@0_S,^:6]&GLZE%<AWO3DRV[A
MAUH1+_A6:@JF7F>^XD6AF92.WX;4'WQJP^OQ!_NZ"UX%\\I:OA+%KWPGCPL_
M];T=W[-3(5_$Y3,W 1'?,]%_Y6=>*+A6HGQL1=%V3V][:J4H#8N24K+W_IU7
MW?O2?TF0,8,-L#' @P$F-PTB8Q#],[CM(38&\;T&Q!B0>PVH,:"60= GJ\O^
M$Y-L.6_$Q6OZ U0S?4[1C*K]W>K%;CN[;VH#6K5Z7M(LF0=G360PCST&CS#I
M&+.",-D8\P1@(CK&/$,82\_:Q21A.& "%>\0- :#QAU!=.TD03!!!!)$'4$\
M4H"L:'L,[3!5CZ%I;(7K@A *[:2L752&,TQ@Q3&H.'84(V+E]:G'D"LW.,UB
M:Z>?713)0@NT=D%9C"923$#!Q!&,L9UBXN0EM,2Z"))$ME@7%-&4PF(I*)8Z
M8FF2P 0)2)#<?R)3D" %%$16NB",O;NW,2,A&2@D TH#6PTE<T['1*PHA)M6
M"#B)[*X5N@=UPLM$:T2 E]CV@MP*CE(ZT8X0W(\0!CP1VY,+FMP:!+<MY/8M
MFDPE!>XC*+[_I"*XLI%;VNY9!4'.S^(V:"P&KESDEFX23E' M8O^HW@17+WH
MCO)= 2"2Q!-^X.)$;G4Z775E0*,_E_-_#:XN&/H2^HTUA[QJO5<AU5VENU'L
MA9!<$88/:IN.ZMX[3 J^EWJ8J''37_[ZB12UN=@&P^UZ^1=02P,$%     @
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
M) V*I &"_4HD@(FCE0A9'")W1Y^9NK2=1F=I['GTIZ:6TH#EB^ZLZ\8^"W/
MH39NNK-S-5Z.,3"RG^X]F1^?X@M02P,$%     @ (4J<4!AZ WB2 @  .0D
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
MT-Z6FG,%6C%XT"DW^OU< @:U,E-]WSTQO2)3H/@P/Y!H>:6+/U!+ P04
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
MW'T]S';#0VO/X]R:W(;GU4]02P,$%     @ (4J<4)F/LTSP 0  ]@0  !D
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
M^K5N#^/FN.R_?O4G=;$S7_:"X^?%^6]02P,$%     @ (4J<4"_?(92X 0
MU@,  !D   !X;"]W;W)K<VAE971S+W-H965T.3<N>&UL?5/MCILP$'P5Y <X
M@\UQEPB0&JJJE5HINJK7WPXL 9T_J.V$Z]O7-@31%/4/WEW/C&<7.Q^5?C,=
M@(W>!9>F0)VUPQYC4W<@F'E0 TBWTRHMF'6I/F,S:&!-( F.21QG6+!>HC(/
MM:,N<W6QO)=PU)&Y",'T[P-P-18H0;?"2W_NK"_@,A_8&;Z#_3$<M<OPHM+T
M J3IE8PTM 7ZD.PKZO$!\-K#:%9QY#LY*?7FDR]-@6)O"#C4UBLPMURA LZ]
MD+/Q:]9$RY&>N(YOZI]"[ZZ7$S-0*?ZS;VQ7H&<4-="R"[<O:OP,<S^/*)J;
M_PI7X [NG;@S:L5-^$;UQ5@E9A5G1;#W:>UE6,=I)[O1M@ED)I"%D*3_)="9
M0.\(>'(66OW(+"MSK<9(3S]K8/Y.)'OJAEG[8IA=V'/=&E>]EL\DR?'5"\V8
MPX0A*TQ&_X94&Y!T@6#G8+%!-FV0P*<K/HV3;0&Z*4"#0+H2V-UY/$R0+$!D
M@#RFZ6YWUVWU+XQFNR="[MS@U83]C?_&]+F7)CHIZWY6&&FKE 4G&3^X:]2Y
M1[8D'%KKPR<7Z^FJ38E5P_R*\/*4RS]02P,$%     @ (4J<4!Z@4;IV @
MK@<  !D   !X;"]W;W)K<VAE971S+W-H965T.3@N>&UL?571;ILP%/T5Q'L+
MMK$A41*I$$V;M$E5IVW/3N($5,#,=I+N[V<;2HEQ^A+LRSGGGGMC?%=7+EYE
MR9@*WIJZE>NP5*I;1I'<EZRA\I%WK-5OCEPT5.FM.$6R$XP>+*FI(QC')&IH
MU8:;E8T]B\V*GU5=M>Q9!/+<-%3\RUG-K^L0A.^!E^I4*A.(-JN.GMA/IGYU
MST+OHE'E4#6LE15O \&.Z_ )++>9P5O [XI=Y60=F$IVG+^:S;?#.HR-(5:S
MO3(*5#\NK&!U;82TC;^#9CBF-,3I^EW]BZU=U[*CDA6\_E,=5+D.LS XL",]
MU^J%7[^RH1X<!D/QW]F%U1ING.@<>UY+^QOLSU+Q9E#15AKZUC^KUCZO_1N<
M#30_ 0X$.!( ^92 !@+Z("2?$I*!D#B$J"_%]F9+%=VL!+\&HO]W.VH.$5@F
MNOM[$[3-MN]T>Z2.7C89A*OH8H0&3-YCX 0#1D2DU<<4T)<BAS,Z0;<9"@\D
MN85LYQ" D-\&\E:*K ":"*#XCD#B%4BL0'+3*J>0O,<0BVDM!L<DQDZY'A0F
M>.%4/$<1 -#";QE[+6./9:>Q>8_!DS0PBQ,'5<Q1 ($L<RQ[4(MT<:?+Q&N9
M>"P[_<O)+,T#1#!SSFWA@0&2(@>V]:D1C*'?=>IUG<Y<XX73G#R=Y<$ .);G
MF > 0>PXGJ, 3.\<C,SK-_-TF3A^,\\IS5*GJL*#FI_XK4]K>N)[R]'DUFJ8
M.-F)((,]/[?*?/N3Z#ATGJ"Y]9QXKH=1/SL^9/I)]H.*4]7*8,>5OE/MS7?D
M7#%M,G[4'2WU\!PW-3LJLTSU6O0CI-\HW@W3,1I'].8_4$L#!!0    ( "%*
MG%#J$PAKL0$  ,(#   9    >&PO=V]R:W-H965T<R]S:&5E=#DY+GAM;&U3
MVXZ;,!#]%<L?$!-#+AL!4K/5JI5:*=JJ[;,#0[#6%]9VPO;O:QN":,H+]HS/
MG'-FL/->FS?; CCT(86R!6Z=ZPZ$V*H%R>Q*=Z#\2:.-9,Z'YD)L9X#5L4@*
M0I-D2R3C"I=YS)U,F>NK$US!R2![E9*9/T<0NB_P&M\3K_S2NI @9=ZQ"_P
M][,[&1^1B:7F$I3E6B$#38$_K0_'+. CX!>'WL[V*'1RUOHM!%_K B?!$ BH
M7&!@?KG!,P@1B+R-]Y$33Y*A<+Z_L[_$WGTO9V;A68O?O'9M@?<8U="PJW"O
MNO\"8S\;C,;FO\$-A(<')UZCTL+&+ZJNUFDYLG@KDGT,*U=Q[4?^>]ER 1T+
MZ%1 AUX&H>C\,W.LS(WND1EFW['PB]<'ZF=3A60<13SSYJW/WLH]W>7D%HA&
MS'' T!EFFVXG#/'\DPA=%*&1()T1I,EFF2!=)$@C0?:/R_V#R_\QFUVV+)(M
MBF0+(D\/(@-FG420BJ#L:;>B#SID-OYPN[\S<^'*HK-V_D_&>3=:._"4R<I?
MF=8_J"D0T+BPW?F]&:[5$#C=C2^&3,^V_ M02P,$%     @ (4J<4+"D2"%5
M P  Z X  !H   !X;"]W;W)K<VAE971S+W-H965T,3 P+GAM;)57[6Z;,!1]
M%<0#%/L:\U$ED=:TT29M4M5IVV^:. DJX R<I'O[&7 R8E_2C!\!DW/ON<=P
M#_;D*.NW9BN$\M[+HFJF_E:IW7T0-,NM*+/F3NY$I?]9R[K,E![6FZ#9U2);
M=4%E$0 A45!F>>7/)MV]YWHVD7M5Y)5XKKUF7Y99_>=!%/(X]:E_NO&2;[:J
MO1',)KML([X+]6/W7.M1<,ZRRDM1-;FLO%JLI_XG>K^ N WH$#]S<6P&UUXK
MY57*MW;P937U25N1*,12M2DR?3J(N2B*-I.NX[=)ZI\YV\#A]2G[HA.OQ;QF
MC9C+XE>^4MNIG_C>2JRS?:%>Y/&S,(*X[QGU7\5!%!K>5J(YEK)HNE]ON6^4
M+$T674J9O??GO.K.1Y/_%(8'@ F <P#0JP',!+!; T(3$)X#6'0U@)L ?BM#
M9 (B*R#H)ZN;_<=,9;-)+8]>W;] NZQ]3^E]I)_OLKW9/<[N/_T &GWW,$L8
MF02'-I'!//08N,#02\P<P\ EYA'#L$O,DXN)6'R)6;B8F/RK.=!ZSZ(!%0U=
M C9(P$B,)V!H M8E" <)TL@2VT.B#E)U$&M:GUP$A3@D[8'7$J*UA$XM"0LM
MJA[#+2I(1JDX2L41*F[IYI@J?D55A%)%"%6$)XC1!/'MSSA!$R1(!=:;^)"X
M8ADA5\2F*%6*4"46%89)<1)*\%8G;HK0Z77B2(*KBNB(KU"$C-J&@(%@A =O
M90I("F;S]"!*AZK@#O0Q0H:W/77[/@E#FPSIZZL3B+<U1?HZM)O-@(9< \PE
M#=[2%.GIT/8R%#323!3O9XHT=)C8/)'C4S V:WC7TQBA26V:V*%A8S2X-U#$
M'#BQ:5Q0E(8C/+@Q4*SKG1<N_?!38R#_\0$ W$, \1!NMS6X'F(79"##@F*X
MUB6 VPP@#L+M=0<*8B,\(RL&Q&:X_2 ,:*@[I@EQM(.C/>6,V+@%DBXE\?@,
MX9X%KF=1IR/ ]:R4N"4]&=RP=![2=+PFW-L 6[-8WC8'U]L^6$D ;G& N!<?
M<4G W0NBVU<3@#L3(,[$(WM^8^SKBW1I,%C?MWO ;UF]R:O&>Y5*;Q6Z!?U:
M2B5T4G*G]6_UMO,\*,1:M9>QOJ[[O5<_4')G]I7!>7,[^PM02P,$%     @
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
M=',O<VAE970Q,#(N>&ULE5A=C^(V%/TK4=Z[B>TX'R- FB%4K=1*HUVU?<Z
M@6B3F"9FV/[[YFM88A\/X65(/.=>'U]\CB]>7&3]O3D*H9P?95$U2_>HU.G)
M\YKM4919\T6>1-7^9R_K,E/M:WWPFE,MLET?5!8>]?W0*[.\<E>+?NRU7BWD
M615Y)5YKISF795;_]R(*>5FZQ/T8^)H?CJH;\%:+4W80WX3ZZ_1:MV_>-<LN
M+T75Y+)R:K%?NL_D:1/T 3WB[UQ<FIMGIUO*FY3?NY??=TO7[QB)0FQ5ER)K
M/][%6A1%EZGE\>^8U+W.V07>/G]D_[5??+N8MZP1:UG\D^_4<>G&KK,3^^Q<
MJ*_R\IL8%\1=9US]'^)=%"V\8]+.L95%T_]UMN=&R7+,TE(ILQ_#9U[UGY<Q
M_T<8#J!C +T&4/YI !L#V,\ \FE , 8$<P/X&,"U &]8>U_,-%/9:E'+BU,/
M^^&4==N.//'VZ]IV@_VWT_^OK6?3CKZOXC!<>.]=HA'S,F#H#89<$5Z;_3H%
M15.\4",\#J/I%&L3$S(-DYJ8R/>GF W*$V.R#-:#]0G8A*PE00 3!'V"8)(@
MT0H*,)&VDO4,3/HY9D*60[(<)" :V0$3]IBJQP11PC6V ,022]U"2"4T"Q]1
MG""""2)S+91I:QDP_(8FX1'32V^B0A)K94DC8\4\C -,.(:$8U!\G7!L$M:(
MK$U($ON:A%.0AT4A9IM M@E@&VAL$V.67WA$]5T+4,1/+*4C/K8MWZ##;_;;
MZ%N^,1-G>F4 B!)N(6/Q4'*?S'H$399->629"#KI,Z%@CQMN38V=27S.=<=%
M,%,+*8"98M@ E%T-!#LO8< Y+0Y L/>28+Y[$^R(!%BBX=\(%.F6. >4W@%-
M&6/C)"%(89$VP=9)H@?JALV, #<SZX8LS]B8,T#I'="4,38T@AS-LFB*78CZ
M\^M&L7=0TSOB2*\; L7ZJ05!^JD%01:146Q"%)A0S"PIL-3I UT6Q5*GJ/<Q
MZ@9 <:#7#8%TG4*01604.PL%4H\M6Y9BJ5/0)%GKAJ5.09MDU@V 8OU @Z!$
MK]OGH"EC["P42#VQ=+D42YTF\^O&L-29V7"8=4.@1._7YH#2.Z I8^PL#$@]
ML4B=8:DS^D#=++^GP*FNUVT#0#RR= \,^P$# DWT;AJ";/-@%3.@XL1R8#.L
M8O: BAE6,9NAX@T <5MCP+#V&-*>WG R\\>%;9MA>3)P$B<69PRP/(,'3N(
MZR68<Q(CD-'JSP&E=T #8^_F&J<4]:&_4VN<K3Q7JKOFN!F]WML]T^X:2!M_
M(4^;X7KH9YKA,O#/K#[D5>.\2:5DV5\%[:54HN7H?VF_TZ/(=M>70NQ5]QBU
MS_5P"3>\*'D:+QB]ZRWGZG]02P,$%     @ (4J<4#!.,K<W!    A0  !H
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
MI5!("@B()@1@#"&(1YL&&<)8;(#XV/%\0!'JE@= QKN!0'JG,IB.611;/)H
MBDA7C$"QKAB 3,6(*;$HAI9_1RB@2'7%)HC%^IOT$5"&TC'+%"9X=2!@>6 6
M$R-X?2!@@6"ZC0$0BRT>1;"U$^"W+-#S#*"H!]7#DDI9ZG=_EFS8FPDP56:\
M+I&1S98%&R\!;LB,?8@)2E);[;!GD@0,LV470+#;$6!!3-\'C*#S@L0JT7GQ
MQ_EM @,_20U@!H T8?;AI-C]*+ CIJ\:(R@^'\X;8FS:$,K7!BU[#W4I&AL@
M!8[$=#L90>^)1BA3]#NH2]'8 REPKL2RP%-L2O03ID2Q*5%@2I&OERXT)R$)
MKG@%Q<Y$@3-%^DX @*QO,<6>1$U/8HEEA:+8<&C\B=)B+Z%@XV26-@$^'%TK
M+78="ES'+*T),A<7[^QH6/%FVQ^[6V<E#K7L#EAGK=/1_HYV1TNM?:F._,,!
M_8UF^%[P(V^V1=TZ3T*J@VM_O-P((;G2Z-^HX=_Q?#T]E'PCN]M8W3?#.7UX
MD&(_?H/PI@\AB_]02P,$%     @ (4J<4.>YQKV% @  =@@  !H   !X;"]W
M;W)K<VAE971S+W-H965T,3 U+GAM;)5646^;,!#^*XCW%FS 0$202J)IDS:I
MZK3MV2%.0 7,;"=T_WZV(92 TV4O8!_????=8>Y(.LI>>4&(L-[JJN%KNQ"B
M73D.SPM28_Y(6]+()P?*:BSDEAT=WC*"]]JIKASHNLBI<=G8::)MSRQ-Z$E4
M94.>F<5/=8W9GXQ4M%O;P+X87LIC(93!29,6'\EW(GZTSTSNG)%E7]:DX25M
M+$8.:_L)K+9 .VC$SY)T?+*V5"H[2E_5YLM^;;M*$:E(+A0%EK<SV9"J4DQ2
MQ^^!U!YC*L?I^L+^22<OD]EA3C:T^E7N1;&V(]O:DP,^5>*%=I_)D%!@6T/V
M7\F95!*NE,@8.:VXOEKYB0M:#RQ22HW?^GO9Z'LW\%_<S YP<("C T ?.GB#
M@_?NX'_HX \._LS!Z5/1M=EB@=.$T<YB_>MML3I%8.7+ZN?*J(NMG\GR<&D]
MIS&"B7-61 ,FZS%P@@$CPI'L8PAH"I'!A3ORKB-L#!#_&K)=0H#GF65XQDP]
M3>!-"(+X!H%O)/ U@7]%,%.9]1BD,8W&A"B T!PF,(8)%F'B>;VR'A-,P[@(
MAK.J!O\C!AG%H*48Z)L)0B-!>'_5(R-!=$?5HV4YKA+MR[%$H<"+X]DYBY9%
M SZ*S9)CH^38\ ;GDN.%F <$ C23O$0!X 9@)MG %7CHQC<*7',?< UUCN:-
MP%U$@FBF9F, A;-7L35@'D+W1I'!C<X%[OA0!A#ZQY=B@BU/T-8 NSY"O6YG
MTGQKPHYZL'$KIZ=&J!8VL8[#\PFJYCVS9VJHZJ;^3M-/Y&^8'<N&6SLJY&C0
M#?Q J2!2I?LHRUK(GX!Q4Y&#4,M0KED_"?N-H.TPY9WQ5R/]"U!+ P04
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
M!@  &@   'AL+W=O<FMS:&5E=',O<VAE970Q,#@N>&ULE97;CILP$(9?!?$
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
M1.UY/[#[@V3M<!GQQAM1]@]02P,$%     @ (4J<4#3:!S1V P  9P\  !H
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
M5-9O#VZOQS<]!E9UT[B2^3\C_PM02P,$%     @ (4J<4+?KS>0N!@  6"$
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
M]K53]ZZ.\:'O;E\_K/N[<7J;ZOO=\5G_\<,X/)Y^Q[!X_3'%U7]02P,$%
M  @ (4J<4'A4F_Y* @  )@@  !H   !X;"]W;W)K<VAE971S+W-H965T,3(P
M+GAM;)66;Z^;(!3&OXKQ UP%_-M8D]5EV9(M:>ZRN]>TI=5<%0>TWGW[ 5)C
M+6W<FPKXG(??D9-#LYZR=UX2(IR/IF[YVBV%Z%:>Q_<E:3!_H1UIY9LC90T6
M<LI.'N\8P0<=U-0>]/W(:W#5NGFFU[8LS^A9U%5+MLSAYZ;![.^&U+1?N\"]
M+KQ6IU*H!2_/.GPB/XGXU6V9G'FCRZ%J2,LKVCJ,'-?N)[ J %0!6O%6D9Y/
MQHY*94?INYI\.ZQ=7Q&1FNR%LL#R<2$%J6OE)#G^&%-WW%,%3L=7]R\Z>9G,
M#G-2T/IW=1#EVDU<YT".^%R+5]I_)2:AT'5,]M_)A=12KDCD'GM:<_WK[,]<
MT,:X2)0&?PS/JM7/WOA?P^P!T 3 ,0 $3P.0"4"S &\@TZE^Q@+G&:.]PX;3
MZK J"K!"\F/NU:+^=OJ=S);+U4L.0 PR[Z*<C&@SB.!$%*%;26&1!*/$DP@C
M![1R0!V/;CF@W0%9'9!V"*8.,)PE,F@BK6FU!J9A,%,5]RH$8X3L,($5)K#
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
M4K%N9")$I&M6@"LYUM0?*!S%'&M3%NN0@ VSFBL5K F"=LQTV2O &HASNA9
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
M'(N9< L+X5(LKD-H+%\$Y$NK^IR WGB7HSIR"X2C(D4?36@OI]10 L("1D#
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
M+34\$;OL%S/E%E5U;7ERQ\S@38E&\*><&Z%THI]5(=G&PE +%6%!KTXO*W3
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
MZH/% H!Z$G<3@6D \F32_Q;YZ0&(_GAR<?5K''U\/ST#P#U[$YW\QZ?3CQ^
MHL71V<F5]T;T9;GXH095-/_W[R@ZH'K(O_OSD$!_QTC;"_O&2IOYET(14ZJV
MWT< '43]02\>)6E;Q=H$P68< <5*TX%5?'8$4#P>]1%Z@:;VA]T]BM . 4D
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
M6ES*L9TW$ RJ=>-(U3:<0D6F!U?M!,)RV)#;ED69.;RF?!SBIL.U_=[!6 D
M7\<JA2L6T=J,L8$692JEA3H&<24*R[+$:>6]'E(>52!KQ+7T,7@M>\B*!7>A
MQ98/5?;(?@0*L9J#++Z:>P&#+8GHGCN&[3YSTENN"XF7#2YND&"-W^&6#8=A
M&-\==>&NX>;#%]P"KHD!5SJ<,1#M+F>*AX>110Z!BG+E!G3]LXM@1RE2;H_K
MQ=B1]V*2QDFW9PIGZ], P0'^0^,QZ>D+"GRO<S87R76BK-%KA,^+6P1%WVX<
M[,5!+X,L.X&'_#A3^K$WPCJ0"7><=X^.@N #521IT0!0P\F @]<C__Q N\4(
M"J7[^I%18;O+I"E#G*^BOV2K#896&MCP'"$<NOO7SE\[;E1&IJS7> \ZG)3N
MYT/Q]\U=&;W.5I_)[10#V&.XZDILU]%?/OZJ[9'XZEQ*.F$G-^SE(A6"#.Q@
M,S6V4-P71(?UU,V"$F,,46,+)A-M.\#<.L2-<=N:]>=8Q@G6PZ-@XD=+?0BJ
M0X&&)@.YIF*[Y56WH87?-)/I+G!VDTOC$YB5,!Z9O:FC+$,F5VZR+@[D8G5Q
MEZ= GA<+$!Q_A2'N\M7MH15"M/OV&O=T\>%US%>:D04<R76P7$W[;9H[/,[N
M\R_NS;U*4JSTW268 )"[K3<8E/E0Z&Y9P;L+7QUE"H @F?3"]V8Z>XN7">G!
MDW+ZD&3)ALDT;;WB-AI";=K@.N"V<GY2'=>E$PD-5_1-@> #EE9"(3J,NQ\5
MG]P3?5L0E0% E]EZ)@0\&Y]?]4$- -$?V>=ED^L[#>=PC;BNET$+ZA#CY&70
MX@')9J7 )  +W_+6C6+K2/F.P1P!XRD:VX3A!9?_Z?*-7/XQBQF7FP(XU[>\
M:6"KW>Y^-PT#+>:/,,W+KEIF>AEA:*4'PO&;5WYY,C6QC2*)$!CL)8,N<VKH
M(Y$NM"J=3AX $N8'FU4>9 ;_O3E 'U3U;N_;,0!LGC$>O^R>^UOH_C:A])]%
M_?G*-9J?;'"5T?$BA_6?K/+J%@%O6A?9/Y7^N[EB&O/CR7CRCR#QV'WA6Z-]
M0) /4/S?$=5!SDT&+4S_@Q,1<7!UA^KH:LZBX$OI@.$%]1,</H5%A L7OE@4
M3)A"PV1JR2^[\4E" >W?G *T2W[?D#K\;C!CHJ6&:L@+6,%/2&Z/2XK!_BJP
MN'PQ6"S+^8;:#F#+YX9^T*,T)J03--T+B8 ,\RT$O7VX_^][E2IV,4G<F_R0
M__WOT6LZ#OB5@NR_ZDJ%Y#^7WF^[SZ&1][[B.H=?(<O]M[W-M(V>_XLJ<9,>
MM83Z_3F\3/0M6/P_3(G#<3PC7M!0:NJ#<$.%:S+OZ;R1<(%A\3=V.Y/!]WB'
MXTXZ_AXSQ6%]J\VRT[#X;U$EW[*GZAYD"8QC7Y@3U/4]@PM_:0*P$W/0[W;C
M=.B%%:08+Y>.W,B!=#2,AP $3H2 &09^FWC! -R?+^#OMQSSW=[8JWH(WP%4
MC7H3\?;=M!Z/$Y;V+"?4@6S[4'FI]=O^DZ\:OAT=WJC#]J820&. QH,5[(OP
M]?>VK_/P^1FI87]?OP.W]SW\,\88G^>XUBQ?1;\S3.#M7F<X:!NDUTEZ\-N@
MT^]9L41V/*Y0/RE%)T?++<AURI-[QAKEUZKX=^XVPBIOPMXN;IBX1=3$C*2%
M5?&!"@YE<VY*P'D*:W8.@ 3KUH^V5NNY$_[;5./=57GO19UZ-<;8]ZA\L![\
M)+TXQ3:%V(\OQ:*8&$JR:X MUY60[3N)DS'&+@S3;@-_0<;#(JS8-!@;^:71
M&'L4#DW_('Y:7UW22^-T,(B2%,8;#:-)/Q[U-4%M-+G[Z?SBZNCJY.)#=':.
M^5$?I[]B 9M&1 &H16W/-GMZ2 <#*09C%9RYSE:?)0A?:J_S-T5=;U2Y'\FW
M\TM- ".=4PX)\W--S("!4A=.3@Q$V.;\2Z'!U ]&DB\LO[)?R:H3_<SC1\OL
M2269T$N\*.I4*D.2U'5-GBT.\E6H@M_15M07^&[,_79TS:HUS:_K5>'ZN!B-
ME$+#-%* $A/;J)OF@$:?6T74U01N;@#@NQG(+C4VSRG!I.'?-$5!5 :JV@%O
MT>0,;+"[RM]YM&*YS.<%N]N(X9D#(">WOEJY/[BC]7JAHY_UP7:B=W"'*[_(
M$(<%./!3U%MNN+82,JT29*Y3WZH\QS4%57F6NK6*&0G]6MJQ0%:5GG .H= =
M!632/]3MQVV:_\K-U'8.\#*7XS<@*$LR(J=.XY*1#7O1((-C[).!UK9_,:@.
M)]0$F^,<^OUX,DEV) A-CX\O/IV\B7Z97EQ,SZY^C8[/+YLMHS$%./QDL#'-
M(U?\?%(E09Z^+LS_*YG.-^L/K_)NAA@'.L&^T</!!"/,AMV!JG+ZQ&H85HS"
M A*C20]9$9JYTW'<[??-<Y[<<9 .X\$@Y6JNHQ[^D0(/&Z>!:JY2SM](NNG(
M:7XW2*PV=H,D41%_:@/NR@?8T7?<QGBP.-K%Z?$5W#QVH0RW%$^&G2CX(!61
M6A?WTC10L [D[?P!>>PB>V0$J_+;S4(J+F7W]XMBIA*L*9M+0Y9JT6-E 1(C
M ])=NW1$O_+QXMAU[W ?)D-PJ<P7!2; **K% 2+FRJIX4W.:X)*$059P[:XG
MK%1@QKW%'68S-.3IQ!)<B"IW@G]CW4CZB.5.UB4%"^F*!K1]Z5NM>:FDJNAB
MG/)[;)T!2B/9JN9D&^:W%+NRSFYNHL=\<4.2'WQS7:XHW8Z>8=;$U3Z..+,U
M>&Q,S;8?G4K#W[8D9*/AU[RM-2[K.N>$46"]N!A,E\/(LA6E>)J2#C? 0%E7
MQ#H.H=M3-\!;#R3AZC=J)0_L/D%_]87IRE?>W*"8+UHHEB)6U2(;)PV23<S<
MV4FYO4?15N-0O2YGGS&[%7L>2BW&X ERTS86>'G"'5O1J]:%0P L5/4+>4G5
MVUO>+\JG7'^VMR&]6;:!06%ZB9@?92C_5)1\8O4AX;*J4N&2#H"/6AFYX'65
MX$_ ]@#?^10HVZSO2DXI41V[%-99?-N#55W80)1#G?UK05D@5%SY$H#J.5&%
M+;#_0G+&*JO9L98Q,$-V0>_?8F;^BJBGEGE-+17*IWFB3-R:#9A<"D+#T-3N
M.'9=BBS4Q.<&+HM V#9R6]71X);=5%U+>K,J4[#@*/4W7O4G(ZOI:%M'(9^U
M'9^?_7QR<47MF$F;:O"^42=J/(36XK?Y=45A7Q+STW?E7%*E,"FSQR9R+!;<
M**EZ@&]\AR]'9_C%=X>N%G%+5D_514L5-JA 3JBI8G34ZQ[-LR=5_QVMQ/*K
M9$5E!@SAU5>IF.MO;^&24",SYC)7H3%+$DLP3X!B*.;R/^G:+Q)NUUB:Z!XD
M0<,*>10L7>OTOS/3T*7/\WH&0,IWKHT7'VP=S72*HR[U<)XUY>I?Y'.@5IRW
MWR)GQY:@370O6!.WO>XM=8Y6%6]#A<*5_!6P?]NM?;$2:K[F4@*JLLN<X$7L
M3U(["BTB!LJL=>MJ-KIT%)8=P9Q@K,YK*D0YYGM9&QJT\A42A<9& ^7XCL\_
MG$17T_\,H 5U,C>_8Y$&E*2H)IBR>%XQMQ9YF5U-ZBE.#L:]5 1&OW])OM]'
M?Y!]7^<HN[K[>^X"R=N410<]3&KI'Z)9:X"Q_D.,C0.1WREY8!2"7@\;E%LE
M]9*X9QFBQW$/-H-$UEA)?L)0YK^6DEIYE16/F9UZ 0/:A?)&8Z>@7=KMQ\->
M*BY)DP 1)T.KHN8(U!V3MI5.XEYO(/GCPSCM]3#M<-PGO2E-S(-)OQ=/>GT@
M;/VXW\5$PW$\3)/H6 S%"%\O/-=>?XC:T[@_/,1D[7[:?J0#F'R<VKTN^O%H
M/+2^Z,?C;N_P.<=Z,(I[8ZM_1HHE2,W&09W'&'SW4#&QP;J)0=Q+K:.":THG
M<J8'<$?=\2%V2I^,HA%<V,B"$#CC87*(G*HW HUP& ]AYC>YM"+\BC,]&,;]
M(8)J&B> / >HY([;CG6()-1* $SCX<1\/$CC?I(^ZT@Q(VU@N9Y [>U9EP@@
M!^?MGBA<7'\RL2ZR![=BY?7 *B:#GJIT<##"2S[H3Q(\V6'/G.EH F";1@"M
MV&L,X6.83 ZU-=BGA5]QO@FV&0%2D(Z2Z& 23T:MYXMIOGW+L3:*)TG7AC]
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
M>P&FR&H\5]8MYX2%M.EU8U\1T5:ET]8DKU'&#^PDG!,KG#8+\@PJ"<TTCQ)
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
M/>TDZB=]* 9@B:8C-P<HR_34.FY\E=\NBEL4'&&INON#)%.>>KS=5;OD(@-
M;B]%($#WW:HI[DW.63W$=X?A;:O2B2*4O%7$8$$:M-KJ*'GUY?P!O9!-(<)&
M?I^,!S'5P(P0TG;FX*Y=XQVVMRU:)LGX"1$M;C$[1^*P[3UC]'ZI11=3=7!B
MSPY@C]U[S>Q29';[[#JE &F#X5:\+'R'$=^#)F^'?*CZC+TC9+K#V&\*$RIB
M:>8D0<4*_N/$I0UKF0(T!D%: )N0C3IM2!73E>H+T!,604T8L ^?J$6L:&75
M[49E/>]'3 I5-A.&[NB4Z/76@V#=;?X;C"7.M8<")$B5N-EX;Y[/.,\7RVSD
M^6<4$_A",,X!$%BI-0H#*4P317'3SD)EP"F$D[6P5$X"CP@(K0).VWZHS0RM
M0T_BM6Y/^];0S6%VP9]6SV2=LG='32":Y+@H^]XM&&>F/CWBT'AV=\7R6T,@
M ;OA6>B':A!2(5.=%VJ^IPY@#_S]JG2:ETMRWX+7-@Z]C0J0,X2U*HQYDB4(
M(<>7I%)I#NQ@;O6?IFOS_=/]O2_RAIFQ=S&[KC=V[G<+K[39TPV5],1?I?,3
M"%M/#59EID9^KG2>W8QJ%Q8IG<.!AX(<P$0/*"\,#^HV5]R1PLZH-P^P9O+2
M8QJ 0S"MVK=IUU70KE%.><B#7+]@<;;<K'EBO3HK+8!%7_)RK8% WI:@S-=H
M4V7#6X+PK[O0B_;.@1LRB:>S&QM)CK$"*I#^F%WY.=E /EV^.3\V^AD][I:=
MO:(9\"76'N6UTRMXS<X60!<V#D^+_:6L%O-H^HZS>XLOXL>C!U'H1GO/;+8A
MB5J%&+#').>0_5GU!#>#A!Y@N8![QAYH=^6Z?"@7 ((S $6J)XDH>/GQ9_51
MY3?#UYADX57*Q:9U)5XEOHBM;C0C*2R'S4'1R:G4J!J6Q%=^SQI1WD27.3YT
MR.,WM9',;E0'VE7%'85HZ;I:%47#WT@P$B6#F_)5'!'(GIW<LMVI<PMT,:,C
M!G+P.;>NU6K\1;UAJ8VK53.+*:%;-FN^4;'_,ML1S'2+#@U].BX.4'UB3*S%
MS$-.[>/ZR-G_S]Z;-[>-9/FB7P51415-WH T)+AWQWT1LDJNUK2W:\E5T^\_
M2(0DEBE"39"RU9_^G37S9 (@*=G5L[P[,=4R22RYG#S[^1V3WZDC+[XJ-$NP
M]\2_I$KAML0B6UU8G,9]OOY<;,*W@I%1<MV^!EWF?+%I&$>J-LY:.63P!I?L
MDA\GK_'?YJ!EA/\N/A)))Z!SHVV\T"A:BCG)Y?=:<9_[FD'K0J-RRKTK_R2H
M-(M;;3VWVGLNW(E(GW\D_!IXA@!3JAC??W&#Z2"FT.>1:L91C^-*'*$$^4 '
M;/&5,EBYP'_5=G\E."0>U09A5JG9)5#:_6)^Q+SVE4-2Z$^BN!YO!WY'G D?
M@(>9]N:Q>*&ZP6PW"_P.$M48I);/G</+T'N HA*Y^W7.^7_.,%S!(H6<VO%G
M-W#^A(/?PQE%!M,)5+:$*;]"2Q$W\UP)S\-WY#-HO=HIT1ED3X)XEKA?S.X)
M,(/%8>E4<![,MEJG<8R.VC !NBIHD341C@P.KLB/&)=$EO2Y!)#F[665M*2Y
M5;;EW%7Y6'P#J_,KX)F>?V%V +]#&D9 :WD@K9Y/D/5%7?I$G@+=U4<?"A99
M4>Z(O>_>(3"S648EFXR5C"6:3(98]J6O[13'MR <W=9VXVUD#JN\Q<W"("<$
M3(W 1QJ9B@(LJ$J19&X-/&'] :N ??%@6_&]C:L1O?R;9KYCJB2$K,^)-/PE
MP1U';.]0*<3(48X[A^P=%>Y6_OQ=Y)<8XO&N18?*(,U$J%B[)) Z!(5*>=?Y
MR;I&@8!A=\BF./3!?M.%,U2E1KUBT4/ 9JZX5P01K@A*(LZTK;8K3$'3U6U$
MZ&$I2*(H8!3R_G(5T; 7WC06'G"T F8PB&@%ZS$G394'DGIT"28EI16W<"[*
MI)8/SQB?[";L@6IT)NCMQEV5MX>OUAX=P9+(2'+O!\(\="(?1.Q#<L>Q5 _B
M=0Z&X^S#X)$\!([W\V,>T*V,AP.Q6N0]!L7>VF979:F:M$/#0#YO3@"1>]LQ
M\+AU <C.CZ/,8YZE6 $+O'[!:Q@ <Q@< ?6)L[04#%J+?6+2<9+M P?3&'U"
M2+GEB"OL%%JHUJQKMAV/-92*J\5^X:=$DLTFJ:EG(DWC8<-B\:'8+'ROFPNP
M&!]SK93P04OD<>OD]W(A_2FL0<G:567+*X0&5\!G-E3SE,.JW!28_#R/&%#S
M0:/*85(80#=&P(!">3FM67C,D.PP O2/+>Z^YI1S"DM.VM,F%X^\^EVJ@I$!
M%JO?M^LGEWF 2=/LBE@7Y4VJ7&Y>WN.(K[$R"Y7*)WDW88\M/E,LA?N4$W>Y
MYS5]+ P_#5V1F6Z*7RS3J9H4M7"*.8&6D1NB+M$"TU87PZ_;BY>E=?HO]16:
MW(MLD!K+[0,<$%+;]$!$<R*[.*0B@0S"$Q83AC.!T5$4WZ!4+;D;OLE0:5KW
M3ES_8?1G%55=/7';0,>&XJ;(9+A#B%1-6^^<E((Y]1Y>PDDCC@?P:6+/SOOU
M;;X2Q"S+U;T)E:,-AA03"44_7W9T+E8N8HWA6>33[,Q"QSDL<KEFCD F^"+H
M7HP<_,3Y[K&J8>'B^/0P<=H1:ESEMNX]N6?=1B*_XDE]-#Y)6._.IXO+CUU[
M!+ '?,[[+ /B,)3#GUJ75V008<BXO,>Z4:G/7H5TZJC &#%&H>2<=3G)J%*6
M\\7-D[ZED<0B[2B(*I<2?.D/I)2+W:S*;1&4Z^H*=XDKA+972W25(=/& BI2
M,[&!W^5'%ZPG:4PH;<J7FP=&A=4++![!Q (VHD C6KHNS10<+Y>8+A!=)V?D
MO?=>SC0UD(9BV5%)$@_+>%A*N[&EYO@XW\Q4R^((X9ZJ$#_"WR^X<U7RY@U1
M\8;AC_%53C?0EU"4TBC)2F>GYY?:@:+:YG/G@4:O-"*FK% \M3^2J^9@#Z\+
M!":DK :$ZZ)\/=I2>U!H$>QQ6^,<"H2\Q9#"$0SDR.TA/I,3?OC0A2M6V,UL
MVS$0WJ%F#;/U 7Y!\E--+'RF TC1-6/#%[5A_$M: &T*'NBS+:;(8H9/9"K@
MYZ,+\C0\2?LVY^,*A-=8 [V&Q(G>.#5H6<YO64<X^P1\O02-(J4S,#^Z*XT$
M57U*TF/@8N,\2?WI_9+?$%ZELP85E<7-Q+O!G0E!1\BJ@J'.@:ZL@HJP\;VQ
M^%"G![[]<_%D^V"(&]K;ES2ZJINP(T/+8=1I:0/DTT.7C8\Z0H%R\>@S9GM4
MR?ZUV'C\6*N3.&-V;%-W9%$JSJ"BUSSN=4L+4ZJ:)/)W6%*4I5@B>[M2H>L7
M61(@K%+5M%X>0.CN\-G@B>U/!4[N/V%N_N#UQ_LFF-_[^2GF]7/GZCR!03P
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
M_9]/&"$Z^Q4KGFI&QAC847P1:G1>"Y < E9"L@@X?%WXMC<&NCA,R;47"5M
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
MUU/AG@%_X,ULQ+-OV=_^GK':_3VEEAB';&GCRG%'C99QR!DX8"#A4G4^80^
M8%W@F\-.0-O24",")OS]L'O1>!@^Y&_'?_/C"1%%7CXBQB7O[0=_C(9TX5!Y
M@V42N)%GL3 ></NI:!EX=NC '7_[0*_]95UN'PS!=5",%9AFO,KOB_F_?5Z5
M7RAS[8?XS@[U9V#"^*&[@U(;F \EC:[S9D:$./B3E^W#V=NSD^27^ZN_N@L4
M+NV;:$,/T NIH^.@;, " "'X9G%/F7;^\3'2S8N$G>..W-C@ %D7)\K9I.YX
MD'\%TROY6VDV[$5+*6F]HY<-\3V]Z&W2$63\[@'GC>^\R=?W.X"BI;RU8;A/
MJ,,>-MB+[3_ORBVLR.JI$B$CX"Y>F7C:P]QGL^/)8*><\9 QK0)G\K+59=3
MLQP>@7AO0*O%<3C2"UB[_ $#C-]$!*8IUNQ;ABH AQTX5%T<J']!$_[A-X@%
M;OB:/7>4@NNG'7Y3=.]CN3,EGE-7&'RU,%7N_!@L=X0+>("NZ50G7X2N/2*D
MF:,"R!-P@P*1Q/-P>G-_^+*9GP9([:1 8.O('?K#MY[2C$_I\+DC_: @2'L5
MBF>RX^<-"NQ$A)/ZY?1-LX+Z=VP5=U<<H%(WY:,0FGX3I'\5Z8ZI@>V/0*)L
M:DOC7&<OVX!/?PN)/@(,?:&4^:;Q.)K8-;!O(@[5* X>H]@G($ANMV0%JFQI
M%BU(%CRPLU]/7*?2Z\_Y+<&F+);8>+@Y;RE5@W6A)?-,*.U,/'OV))8+ZGQH
M1QLN)[!=YAU7Y5>%E5A179T;=]HVZ!UC=L'Q;'S@F#\6&MP2LYL5YCW6T#.I
MP775SJ2UUW-'E>[AKL]F7=20LW_@:#Y<'M=UR7FY*BJCTM:_&4^>:4][\W]\
MX,AV&OT*TUI7R&( U^>;_JPVC%XV3*&T#Q1"+&J:.(/9?I-6@_RQ]])%O+BH
M6S2@>[5:CO@<K,(+'^.-GKX^XC@Q=F2;4?0RTZTW^*:M\+XVKK$ZU#@206)R
M.%(?ODF=";R7G RO/91%-$_$*_"'*_<_6\&/2DKR_@L\#8MC_<BYOSI+S7@H
MKK?X['L<VX[BS++'.)A"#8(6S*D9_%\&TSAU;7S%CC(2HU7_%07NV4.^@///
M*]YAJ_ P]_9S6 R9IDP-SW;IF>&]RLO-=QA>VN!R;3F+W,W\^8-^NYC/8=O(
M/OWY[:F1=[N0N[_%2S&-.G.T#O3BW'JYWOJ&$+#[_^_!NV\>87I*\)&3U!K[
M?1-/'QTX8G%5_)*7UW=;T,I S)C0@CWQ>]P5S""X@9CIW16VZA*?IH[<1T9V
M:T4H0X7"#]L#/N)H*UVSJ;1[\/KW?S42=K,OG4[=<^CBK9!8Y^?\]7/&U#RH
MG<Q@?.BP=MGJ#9)]GTC^X,#N#N_>UF;*D_>W-SQX@<%:4]'&J SA=/"]7-E!
M'__]PJ_TY7:-_=[#J00W8Y804^B2X.P$<(\F:G"1KYZ2[6:Q7/R3FP6NBB\4
M:W7^%NX=V"84![V7$-._+_+_6.RGIN=+%2?Y!L\8UF_([RGH]_?\6P9U[41T
MBP3Q<GGR,EH/58G+?/$E,$2_SQHZ*_-@=ASKQHBT G266Y&@.F@P4']EH\[V
M; -T$+4?:QTPF?+;!(EPFWRX QWBL5QN\L7U'L=$^PI_DZ-BA\W/LEP<S0?,
M+-R*QH#[O\0(J/>*5WS5J"?@@3.)9O$'6 (7:@E\:+,$N*6UV##/C[)>G"&D
M. 5Y#HK\,/Z_!F=-=]3D8E,V8XZ5C\I;7CB\3W\+0Q$[O8;G'UKS,1P3$6UC
M_W#^%RH-=;RMMV]//OZ=JE(^GK\[/?^ 1>:GI^\_O;L\?_=+\N']F_-3+'SM
M?! LBF[\B%=YM:@X99;0/DB4QA<A7DKCA8J9L0=3)$( #2!&&$4#$XJOK\NU
MX-H@["*5J7CT)_BY8*!A@[#!.4@D-'&ALMY?Z*Y?3DX^T.?^7[HU<!LW$3_N
MIBE?F2D'5QXX9VYB4VC'^+V+0BUHX.L@0WBQ4AQ ;BJ>,X)DR06O%J)$4K-*
M+ $!!HTZBON24!479I%^/3_3;MQ= Q(3 8+GTB]7$;:O,2T,<03WC $QJYX>
M$-Z;@'NE)?:<.S+G#LH&ST9%_=9_+PF;21;DL60E3 M#7-TH :[B5' 02WFA
M/LWU#9#L@U657VM?]LT7I+6]B^W)LI#.C$R8P>Z'H$Z&#*H$5Y4G&2TD@SXU
M+"7=04CWND,$][($$0E#PU;8"ZHUYJ5P\$)$5(NUS1#&$T.=K7UAOB&Z[0.%
M([D^F.HIM.:"]AXAG.4= KJ9)D1LM^@.3WD\B(-I>V,$&9/7=SG"FH)J0"!J
M?R9P8D:13@B01OZM)1J$"O>Y\(VY_T+(PN754C'.$-+FJBK75Q[_$@N$"K@2
M'MBY[G+K)HL.ZBXD##%$XA7(;%GH>_1/7!4*N@47_@/AHA8;!R:WHJ^6_IN@
MIWO+-AJH3@9)TB[M3*N\I7AX<4T8$@VU-7RT+(K?1H)\@L'R3?=87V]P]1Q*
M'#V&YN30Y2Q\N (U$RI@TY+R2NHVNO<QV)E#;%L2@K+%]1-@+;Q!X*9JF^ @
M\QU@\4L>+TCQ]<4.&A5P=P(]@.YEA._JB-_OAP#/$Q0J7@?OY#-?KI9/1-^-
MNWNUW1":-&)3T>6-?#%9(.HBG2L$:4)W#@$] 6=#A1G[L,._KU!^78&=<YS\
MAHS"X+\!XZ"3>1CO<)3"03PB;0*CI0+Q>%68$D,H32$8/.:&YN%I^?*I6E2Z
M92N$XUOS.+B7O"$;?B(P2LEE6Y#< UOAT3L&B*7'(@F8+>80@W$=L*/CY/R&
M7ZP+4ZX8. ^SKI=;JN-EH#4^<[S<3-5-LH0GCJ*.DK0C5I)PP#'@%2FOAV,+
M?D'@_V7-F/3V,H;C!#OF':RB&3#FUV5 !W^*4-3PY(>;B>S%P[6!S,(R&,IM
MDC-5?-VPYY'--[[; [@M-@VO$!* 4T('! ZK@HUQ.5R"2%%X=@V3<4PE?EKJ
MB,&6\K6^VBLEUW#2%P2Y.B_]&<3RX2U"70JNY:T"?,B4MANDV[;!-.@/OKGO
M<_2'^L /4R)B;?,3UPEI-^*JIHV"O(NO$1:)"K1M>K-7+<6+D(KQF'A%&U5F
MY:Q!-SLGJ_V+J6*ZJK;WBCV/=,)(K,)NB[DK'$%&U5ABF\9E+$3_MZ;4-+I!
MJVP4 ?\@(#U'=DT#\VV]5J92UH G&^%!D(K'6.S W((1&UFF<:-E%7FD3NEB
M 0<P$L[8+GXY@6DOF2TM BIS;.MP8T,FI"#A1!9XE*)LH##Y)TUV=7+3,0MP
M.L.'YM0/2>JN%ZL'%)$$3)CNQ:4SY=&,QM-0S9PFGOU+D?P*6( "F#@T4Q'U
MZ_O$U?$A;O!B(QB*X86&P)2J0"8N?%$^E6K&/2'EA4%O4>*HKG,X<$6<X9+J
M@9N>D3I9X:8D#S>=LHRBIF;:R<?W:J7Q82&$1XZ *2L6.&(+.D0U=L%!@\5?
M(]425\W7"&O\9 Z&IY4RZ'OD=3@/:.UN=YV;4HL\H*N"3[*F(?K=+:F2QL./
MLJ7I8#?R&OH2ZW#T+77=EF < ;(4F=<A_%)J2_7$19; \02)5: U<7?\,470
M?87V-1=[OD)=!8Z()X4(#*V8_]*AA(%?N03^AC'C<2-I>VL"8D?I(>/'6F3)
MFO3 :/IS'K#K:FQUO\D%O1ZY@.O8YKN#568ICG<\C-1+QA"CWPA@=3477G3/
M?VB3@[YPV%K!C5?401!D\S6L+&-\P>E@A8/U>[!2%F@2WZ.FZC0/;DMX#USA
MCE3!)>XQ.RFNV<(XKF%VFJZ$*D=4D[W*5Y^#8=;!;)N8NVHN/&1$BA6H:D)R
MK1#1F#N,+$'I0DT<%XMTHM067'/=L^(OX-1Q/*:2^CCYA+TQ9 F<AMSPU'5+
M37?X"AA=](94C 3>L(1Q]8D;N=YX= <-KB# EW!YS%)$S?1,0Y.7J=2U(U%T
MFQ [L-L<L$V$Y]_]JZ4#W]6%V(M4EK,@=L8_J82F=\=BI:(/5QF?JCJ'YFV'
MGJ8M87BTB5U%U*&'NY<3^]XIVYG:ETO:J$?44)HT"&?$>N467NL;*"V"1JJJ
M".B3I!/3L^;NP;=9S1+%")^QUGA*@T;A-PA1YJ^#AC'&*-<WNGFQ4E-MT=R0
MO4R]>Z-21P-:PLS"F7PKQJI1CUN*7EI\=A7,11CL]1*H _1 T:X=)6DK4(_A
M7(>0.4Y>R9 #3/-',CB?S)C15Q%VK.* ]Q8%8+Z&I\\%$]Y9#").@_C]_0)X
MX08S.NO0\,WJG1]QW7:YZ;;A"IF[ F*_*F[!ZA2E Z?MVT0235-QFA99<*SJ
ME)A7<NXN/#65RYT?+A8K,C1^Z"85]N#C4B_2"F4!Q!1MW0-"#5K/V7,G/1?P
M!C ;V(1!32''<W;%\$[A^95RC8HZT@6KT?Y&AA9GS\("_9/>XJ8>"615&-6%
MPK%@HM@WD+\,3PV1FNE-OUQ\!@OUKF2-Y[I<H@U"JK(J?>YECI+7L"_KN<I)
MTMCHT"CX^**RK6!US8^Q/3T^$%1#/I)P%A;W>/4]3A,63B^-N[W@P)'MQ1V%
M]?JPXYIQ -,P@&L^Z&\LK1UXOD[-+52X6W?YW"_;CM<O)(1U$- 2(G+WQ]K=
M=?S<-K]L+F%3%^Y<.F=^H#%R&(HC/QE+[?!V;MO@H^SDT=JO>%Y/#J]-CXF_
MA8+RM/NB"+' ET7S/#YZ4Q,"OO+ Z@YY]''+&*-&6)R64W"7.GSJEV+YZ/0Y
M7EOJ)1@\G;T'P5#ATFBG5+<GX[]<M;Z9^Q)&+UX3?3.OIX<W@&@=L BUO;MC
M""8UA.V_0Z6<3C=9^'2P.2K(7<P1P(/(6%7SDN-U)DHGBE>MJ1BSF&,'^FN-
M<M'CV7+CH(:O8X3%1'&.C=)\-^!4KP/MCTSSBNQJ"2K21]D%:L0*8[@K\KG\
M($J5ZB*N 3,> 73=N'8J9HC,!A9K=9-R*VM-''!2_#C *0S(!*T,5!A ?'W1
M[>.E**]@%XM-(6ZD:VX#$[_;> R:-L-S9]"G\,9KL670HW^-:;%L$7U_57C1
M=5DL0I[11S73O"0B@\T!PLBVD#$K-G-CD1GL#T8"RFV%U'JKEK[72Q^HT:TL
ME^M@B\XKQ[B;GHNJ$ZJA:\:2>])&7#PL]8TI![,FO]#=DFE B8[_Q<X#EVD5
M)CGB%\%@N&W4<9!%P\^YYK:_-(8E"%#0$Z6-+B=2XL';\+^]Z*@6H(/E<C".
MP\S%^F.+KV TJD8';&<9YF.FY( !4>?<3U(TJHAH:93S9ET3[J)C#P#C%I;/
M'74B [%C'*>!.OE GCD27V!J.(>,A[J2I6<0SF*^[T'(2;"#EB5!$0*AI^Y8
MDG<B>L$' !M@_SS1<\BPPX> JK[4;E8VWD+T2<-"0Y^B(C [N.J>*5C)D>-:
M*XVF5*SD2"^MJUA8U&FJ4HTM$!#'MLEK<(;NZ!6-!X56+G#G-N3=1#Y!))X%
M-? 25Z.+[&'R!% 'Q97,3_#U!H[,-9WNDXO39#;I'26#<2^5/D)/+"/%H&*^
MC<_:T!B0+R*K9.?YY9T>8['!B!;:9Q?T+&H$5W3]<:+OFT2R\[ ',%M8#G'C
M)V):>$:$@X[W^G;&S4]_NUM(Q]/66<G8&K;9C<);?/N4CU0)>D&B'T.=B.-$
M4]!F0\1RB4#+:[A;3Q?&R+E=[0DZ^X!=PVTKZ64FBCV]^SJW[N1F85!)F[C8
M,+E>K*^W]TP-1/LM2ES+X79S<$%TDB.5.Z'17-35@.Z!,&0OY,N46]/JPKW6
M-7[!H##EACG_ W=\M]W?;2HZ:WG4@6\?R_AF)2%JJ/FX*+[4^"+Q#Q\]05]2
M@1UIT>_#U&\ZGX6[B@E!UYR=( MSG:_7[)%G0TTS+L1SA$HHJ$KU["O.3LC=
MV*1O).>7/"[456F>@8>W@?1)LZ]P+\@HUXX5)1G1='FQ(-%\L^6\-CJ+2+;Z
ME6-/<1/'8)PH$?+:$_S7YBG/G!29N69*E?3%X![5,($[4.G)89>OPC4/VI,[
M6-Y(E-H9%5]SM!9P0KX#/*;>E]RPV>=&R+CT82KTS-#9YJ=<)]APGMN-YE2)
M@F.28]:B ."Z>O(J5H^+=;EB?,04TZ(0V^T:_VT5+&G'CBM"7D1R:6#SF7+]
MY(T .:\FUTJ&#V>)?(3R7@[^7N?HK]XX056&,\8$A94 7VJ/OF!CZM<K4":E
MPWC27G!_/",X:ZOHV L=2]>U3Z1-?( Y_HKF3M5$#S6SQ=(;']/4J@RBTEJ>
MX(PG9;JN.<EQ;&3DE 6 #>\IH((Z :<VB-;L<R1]A$62<5SO0_3J8$LB3O32
MA BGL=ME5EE8SWQ=%S?2=MR7-YN#"-? ("0NNR,;M'8+/LYG@6F.3D:9>I(3
M1MH.(?RB1TG6GR2XR;BU&;$"G("REC8BQ%*^OFL8!;9XMJZ/O XY^_0<92A<
M@GE9,)7.%6*_:%AV]%$^N0"!"KLY.]>:["J=:.%6Y78-*^3ZGP;*Y#4Y1RE)
M@U] =!ZHO3D[%4W1#]._MR?\PD6VH)A"-Y%$8Y[@LYR"CKD$,8LC=R*^MB2.
MB WQFI(T:9#@?;-B$QO](&UZJN&W7F>(['/5&6J)\AKWAE=?2>["09"KG=^[
M2=/-C5]&7A;?3G-O:)X<2VR]P,>E+(#&;EN3B +7WT:\0A2O%NG W"]*-C*C
M8>H5/T_XD[B$'B6/,TP(.&!TJ4F/4!>_)DX"?1'"M7*N17B.;\MRCKL=L:2[
M?'U;!*D+3L ;9YJ&JU$-<0+)=40G,14&P)R.NKNGEC7XU%T0>F=\I8 KF/#)
M=YQG!Z?V=IU;?PV[G2MUIWB:L"X45.!@AR09OD!KLA;,DDWPBU-SCGWN)O6K
M.'DW2 B\ELPY?K?*JM3I9>89M/TQ56(Z'7H^2B?CX0E;]"FZ_!.F;[L\/O!J
M^-I*PM AQ7HA:P*QH=UE<CF\-2F[4M7>'2@[M3?R1JQ*;K"%R178W4-(5MYN
M_"KA00&)Q_C@/.A;("G"&@E)D)/N3*(Y7RZ)%;%!X;PHM<;=9?E9$X]C*N<W
MB]XE,A%U#B<!.ZPHTKD-?@VGD 9[K0<AQ76)REPJZ=;830.?"@S![968(<X!
MK0$N(BU3=U"V\B#I^R%1 ?[8=;0I-$"F'(;H**%\"98R4$/QR,W9B?5N[K8P
M,_H=G6G IYYDT-Y44Q>YU)+8;% ]"ES84Z,@(NXE>>F]U$>[\9'SM>/'E.O&
M V5)?+$6'_5CL"R4':%Z"VYYLEYP9K'CJ3%;^+"KOT2-ARS)P;ZC(<7N7P-&
MSQH)YRKEIG7FW+0T"I=^=R\,:N"U0%Z-P>R(YW,NUI/$:C $:?'&A1D;B17Z
MAZTZ93RZG$EKV 82-Q"'%)+@,+Z4Z\^",S'W7=)=Q(8<#YO*1PBV51';IR*
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
ML"A$9QHG/4<LOM(<9Y^-CTX,PAQ2A+::\*S8:7W-XADFX9#@> S!<5H0Y*P
M;CC0-_7A*L^+SC3FM<CQ]>5;$5V%U(+EM_>.WN)9UX26EWA2]E>R0X6,1T7L
M+*S0#]']K*:+6AT.]'Y[;TZG10_0<G&Q5)Z<><IAL.(KEGA69$9BX75$7KZF
M @O?%E]=HG:#E;<_937B'R0G'62GH2Y:'N<DH:-DLR3<H)PY9J$;1&!RQ7AH
M)PC9^7(']KH1^I!T&'+(W+S7MZ#) 3\NN(3?7D4 C:C=HQ]ZE:^<*L!M$9A,
M^9S9+-F;I)_%Z(^ZL4Z3V:MVL,X:RCBQ%>U"!5[Y,%Y:'I31VV"(U82#:#=!
M"E3;EAF5RVTB<5=NY<=V]0U"J=U1TJ3H<X*4T%P8&.5$11XV?;'!2XB7S?O_
MD1(>FR5"&JT?GKWX'<\;8BV@9UAY%&3_!U#A!E?= ?B[6O>V@'LM"MA<VA[9
M:!+E9YZ.91I8I](0"X@'>*71I$7%PMYXK.*@1BW Y,M@&BO#'?6&(?SZ7-B)
MS(79KDPN='-YSTP]T$L;6T71$8YH^/"1_\F%>G=L.==/UF%U%1(:>R/5/ C4
MV=-<D+PQ>L^-I@A>!Y<$>A3AW%$S%1<5PU*@C2@9U"F,\)E1MP36M=PL F-(
MVPL&QA4'&-FMO2ZO&"^0BOB,!N2#QM9/MO&9+N(.,]+([8V6G6NC#L]LH_D^
MJ=K@QB%IZN:I#W#+@LB;X&S#2\/Q"!VY<1!A,/\-<R^:@;PWY2U'LI7I6T<@
M:T9P#P4(94R2*'+CX;F5=GV?!*1VAJG'A7E#E>CUM.NX#KN1,)P,GX>IL-\)
MQ^N<2X0W^=<&4GZDEFKN]^1GU2\7]MM(3285V 5AN=Z.:QQL3P3$U;[23EEM
MP7HF/BK BF#XM7"N =8^)<:'S^?U1*9T!(/R^-D,65R9/%HX16R$PUV,E&[!
M^PCWF[AB_E7J:FGZ@4$0!1L" '%_PC1M@9!!0GQ ;H\Q9W@)S0W_N8Y#+NN-
M4*+D-<Z;4,SM>:=:.P+N?.+P,^GL>/8KG(7"%8K'0,B^ 0"=X]".;^L03T5A
MJ]&$@)?NA(Q:YE\JXR)FXQD>0=)\"Y;4>J')O?IT(ZZER!3SK(+QRA7UNE0#
MP*P2DC,,="_KT[8E@JYAF%58R27TL-Q6!EV$BRKJV/*:]25+UC#6:(3&]8_(
M]8*BC9@ ZR3&%\WCA7N2!"[*'K,NLOWO5? 1M2OU$V[CO0+/.HVL!5^?A\7E
M(WI(N,!WXZB=*(%AW+4$@Y9>2@9C;QGUE#'2GMB(-H\Z8$0FW.J^H]AITQF!
M5;\J<$&K;87/0DWH@93A7+LRL"(?/C!MV#GMC5"K"C)SD<H72C2J-KL>H(>:
M1GJSN-E08Z9K%FTTA[:ADP6P% G'>^ PVW$2S>O6G%0<ZAZFQ*XA';9M/Z0[
MH?@MO<YE2;0!TIQX/QRJH\T=U8 :0'-%%;YQD&WW2O+*]S$EEZTT$_5WU5R-
M47\#6JZONBO:GA\)Q @VA*%]ZLS,,Q/25AB9.J<J6UZ!;>5[Z#7,G=Q'!OH\
M%_GJ);!WA-6"ERWBBNM<0&N^A]&P<Z4V<@:N9W$DM@'^'-B334' 2G"1XE$V
M 0X^;-?8TL"5K<LP/+B,X,S&&LS'>LY$3<GYTDT:+JM1O!Q2S<)0^8K=.2K"
M9\^#;GK&=XIQ62W 8@A0H+5[LH]O"4A[[5J?1UD]$2H<4E 5:)I5XR76) X@
M.E-G(33=Q-]*[=GG1>U5AKTV/8"V+:@TVY ]L%BQ0Q'SGUPVA ,'+Z^0*[#:
MNRZ=^N%'Y=LD.B\C<3+L,,RL"Y.3, Z.VB:E9E((P;E@N,D"N=6.=:=M5R-^
MDS0["GRPZV)Q?X7]PC3SPU86Z PJ*7E8/#C 5^Q&XA&)81OYT=Z#Z*>B/BPQ
ME!F%_@@;VL@+4(?6(4KK&R0VM(,:W& /V.C!KXQQ3*\D]UK+!=;*85RW(Z2
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
M.T',\<2U 8NYE$"/XVKP0!LF:4 WLE'DRH S.P<S_@N9Z*9;I_20J!FQSG^
M*O%P;/15&_PS'::FO5X:1-';<S5)ZOMJ64G?$9\A'?6U\7'F*-]N"Y>2P<4O
MS@9U$"EN[KE$SY^D#)6LS] [$DZ35,BFZ7<P%.]+]\RZ=7EI9NEDABDE_4':
MGVI7K6G:&PYKJ0ZU#D)_0,;!:Q B8,N*27$M^#7+QLX\WVIF=/*K;K+KA42
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
M;^!?"1^#:]C\#R,SD/IM^"LO.K>D2; ],'9]9[IP4-]NDOUT8E8)/O8'?I5
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
M>3EF'.N(T-SD?CO0*".&;#W"_ A]=?@4'I-_BT:S8&\8Q5F1F"*\)J(\G<A
M253HB),%- #1 V-=<P*,"EGX(%Z9F!Q8'26?GL+@F"/0^DH$_2AZ'6(HS@@F
MBA618$W@%O1[K^?Z%^./5U/O^//LYNIB,FUF*9PC!+7 J]>P?B4L8K_W@X#=
M78N 8#;,[W52:T]HX:36<W+[B56POV-V#-"@$_9S:8+1$5VA1^_&LPG::"^N
M)Y>S&C.A07ADC=/9Y^^6L9471!E+)T2YP67NE%"?O,>8TZ,3,T @/SO:88%_
MMJKK^YF*O@G0TH_)<H=W@[(BX@'W*2P_YQ+]+BP?#04>&?:B0LJ 'Z.3^D?1
MWT$TBCKQP,@'\0==4"-.5^O[E"[% Q^S/^*XT*+G%X;$39M8&G)49%V#;L"#
MYYM"-Q]I0"OA.UKM;K<(,FP@>GD')^(D'D+SS[,3[^"/AT"[S/ K,SR<///7
M.*_/JP6PK'3#JEFU&&TEQHD>**LPH !I6/R %>&YW$IA2C.NE@/5?/,N1.&#
M<A,'K'/AR>07VY.^XZ6U"#CL704(G'I?Q\8]&T=C^P0"%Z1U\^4^8W(YSO3:
M(<D[EY_C-K!L5[/.G("89ZXOAN/@))-/$V_4@9UTYZ69.=]D:6CO<>#83:T6
MPU$ALV/"&]G5.D); *:RS53AN-M%)O'!V[.7BMY>,;\2YO2>8[/TPAC>986
M8LAVY:\^+^]6"_R:0D:F=DSU5T[XR#MAZ.VJW3[$J((%_X8:2=M'A(A=\93&
M":_KWVQI[_;5Q#RV@(<7(KE;D[0$ULV.1B5F=[O6<,%H4''G.,[=Z4\.;.[*
M?IW(W,U&DR<!UK>H[- "0$^3N&7AY"9$?$4JF.RP QM%53"\3M=4XA-[N<HY
M6,>;_/(,AQS>>(,.+8(DG<%7FWM1U[&#!I4U2(<H#?]C_$NV^>__I*B"HYX/
M_]5./*.X%OF*[0JF9,R227)T%\IHC28=B?2-5QRDV6/V_*QRI1[A!R5.4:84
M$F\#M]C=(]-?VQ^DPGL^R/>\8MQ7;BSW/4:W%]8Y%WN;@Y&7GV5@Z*\@3:':
MQ1[$N$B^2A6HQ^K<C7</7:4?L;W_<;>$+WOV)[_HRB1W:TQDH/AS*GE53*G+
MC5\;O(]T_6OMYF4"8+?78S'G-UA$AR)-%?U)(_HJ[J$7$,\?2?4VO@?Q)ML]
M>2_ CO%T)4)*Y<?K\S+_JERGO_1&T2,K\V'F:LF+P$VN^3]W0@XL-SE9O2PI
M<U WT<6-38.]'2*P5!3E $^.#M#5?1X62A+?E3SNY5[CW@_0#+@5IJJ0YG*7
M/"<V^2KN=8=\V8#9+N<XJ<)F8,=EEY!=(.7;AO3J5(2'PG@U@C&=75!OEFE*
MR-'S=),]+#N$TY(L%CJ;U4209%J67:[7A6@$ ^>;6:2Y"+NMPA6?IW? !65"
M&"@H6^"_PL9V7Z*AM),3PH>#G&\XA&#/(4BMJ71HU2NR9=ZC*EOH[%E:&^W$
M]GNV\_[&+W>ITX'UY?9=2_JAV'Y$_9?5^E\@?R N0+F#R#%5QWYSOF^$>3_-
MSM]HV!VTF,DH;-JQ_5Q3=]?TH,3P8/=G!B(7K1"]5 @=JQUJ7P\(?"(_+S\6
MNLQ%=AW>H;&WTCUP@RV^>MEF@XGIIM%MO5JNL!:&T-O;W[T?$[A">]+^R,P/
MY<*R['8^/[_Z,KX\GGBG5U/OY.KSNYO3S_DT9OO( D:B:IYJQEKIK$]IS[8:
M9$# ,B1Y-O:\=^#9<U!_UY08FLX/O?F.&+;JV(IRG.M66.Q@FRZ/5O?W.9=S
MC]R16\IN[,L?)Y<W5U,*NVZOER<O^AYB?!N8PE&V/)(HTVR L(LWC[#+'E8K
MWG.QQ@-,V\,J#TRKF%Y]G!S?2)3AO0S,A:)[1PR=OO8!#D3/Y#5R)A5C"]@6
M*E:K9%(\AY:WD*(6.GX?\E3%3E#$MV6_6M&GV0KGMKZ6;]6%=^[L>.;68^3
M/F>BIUGM0*9P6;D5 Y]WFN9MME;&I)UXZ>WUT:)M/74@B'-&8,?L;OU^$7*:
M P8)X+VJ36+:S.UGQXY=7&E[=RQ=;A))+(T;X8^C@<3R&5,9L8"NY3/FT::Z
MN3(37A;+K37X,U;J@&,VUHXCR_&=?Y<KP-'[=]>(I.1'X5\.0:G;9MN=;7G,
M9T9R>U2UB1NTB1QM3C7>G8$<DU=5@M]!8M,@<:LB9AB(_\!(UOFS9!4V(?1
M0T*E%9BLN,HW&;>EK) &*/):]_0)J5VTI4'#AYOM09AO-%CF-X&,@V@R]#U;
M2.VPOL_QH#)-?NRA8C5D<(4<9<--8ML:A9T#LY8:9=74FG('G;/_G8# 5<$6
M#8=(&Z*^F=/BRXOC'.5VY6\-<#)?V5\9_[)==TW./7_>M+&T[,,\=&]&I\:=
MMB"6J\]7S+8MV9Q'T@$.ZP9]W>.>GGPO:-_VB*6UNDOM7FF]$12R*]<[]EZT
M7.014VR_(H;W6Y5O0X--*U-]:1#*BUZ#'U %Z;J'0\124IZ],0&=$:6LG. 3
MNL#M;CR[*%8!U-EZT.(]!G@G4W6=@)-_4)__@<DL&BU3&^_*;?HCF]VM(?(D
M,ZLAIB0W4=5B3#*KG6U,(N[3_FE%$,O UE=@=6WHONRV+/>*'WDW6$87CL7V
MJPE>MX^IRI1&6;*:XS7<)H1VO3&(FRC1T190E4%LT0UI]KPU\$!RT$'TV8GR
M'F(NINN([;:!E:9B).\:C43$.[ZL5\#[;/:61H< Q=P6L\\9P 8UZNH9^CVK
MD?H:=?ET+N,#T.M&9G_^\M?-IQD-J_8HXS+&[JQAJNESU^O%8D_*;9Q9"@I0
M.^&I;*1M#1UM2%'!ZS^;*Q&#L#P-\UA!\6*&TQ7>UY)>IO[PS;,-6XCCMX6'
M["V;#\RUZ#^NMH6JS8_U^^YR]2* ?IDMAR!PCR3JE[(CM&<Y%NS:2O.&'<+6
M>;1L$+:,]Y:@(FVF3+K:O1)ZK7TMW=^77Z1J\U;3Q-5*K8#6K)L>J8:PLBV>
M*V.&VF=4^T;&I=X*4_:U'=?-3ZV%*H)91!]VQ]4R9%,KOBN[#$11\;[W!$+^
MXP8K]<V3KUS2=W1>FDSYL5#XWK!.>:->*R%<V4W=C0-VB]5V63-BQ'9EG:HE
M*1TZU%8O<FS7O4)I\H<Y#*W-:-IG;,)I[VR ,UA^Q%4GIP4YA-W:J+G9GH^(
MOE3):-T5=R#8X!#9I=,$$=$UP=,B-/*;KG;UL72.H(+ >UV330@MQV)<2:^F
MA://-YB=HV>5;-I85,SU;_8"90JHNK);B B%J%II^&KUS'*U=#PF1E2!5EXM
M+3096<43=>-R/LK$8 .2M+U-XFZK/2>LY_'E)T]W[UQJAH188:XY26^W';']
MN%YQ1UX3*XJGJ[$=F?'83MFJA^JM7-6EZ,G[@ZFIA!.,V0\8M,"!22FL?J_W
M9S)>(?<U?=>WN6H0?/\WXT6USNY$7<C-XV_PQH3G%OP&;U4FGM]@*0L!)2[D
MD+<>R#L-PDD*"+HN$!!9^?64QY%+ F28TST[@^6$X]^;KY.790ZW? <G'(NZ
M)W?*:_(@TF 9H0H->><(A$);04<GL[ZY%@]SS%0Y?=MH*MCWD6<HO^UY>:$G
M9,[[=J1RG0LPLZ3@VP!6J\T:<3>(F<;0ZXX&[,-3-Q)O!4PQ?)CP+?3FV+X.
M::8,[-MP29;H&1+NT*6!5<YM.Q@>,?A+8;$Z36YTOSI>XN-NT<7B"=5MEEV$
M1*0V'Z]_$K$:@[]4-W1UAI&9*HBCLC-L&%2/K""S.-J0C=+O5[89/Z^[7F]0
MV>8B6=?:.JE-$%6V.85M6C0)TIFJ,;9W^R$[)HAGS#ZT@O8>U00$NA\RQ9Q.
MM3/0@=Q;;O89]C7)7MRB$'.+ F)#<P^3%-YNOS:\T#CE(LYU$$&:LR(I>R</
MZS2UYJD[KRCOFSRT;-?NMAL,#Z^(XGV'%X;!VKXANOTFFV<)C_"SM-7TT9&M
M2!J+=%/?FW/!*E^\W\*\09?5M&HHB+Q9)^;HW96\'E0>#K4\QDA.:/ F(ZC=
MP+,/5].;HYO)],*[O$+'T?7X)_+.[R$M.-"WV\LOY7Q59KUDB-7.%D6LZG*S
M2>4QQ."$Z=GQ#<P)PU-9X#?-XB);+*S"JS631D(A4=5J-$<2-HM(0TV>D>&N
M,Q/14N35H+Q"XC@;H%:0,._,$>Y]=?GC9'I#T;9BB9VV\=/TMHL@:GB!]5T7
M&+:IN>5MH9KH7SOYH_=G6:6^7EEA  1\]KE8>.^MZKDJ3@HC#'E/19^NRL_!
MQ!0C6[IZ,-=YOIB,!B)'H>&;D)VQNZAG-?D71V3II]&@SEK(&/UNP"_%8WH#
M02IA%S5?Z\PF74K'&KUJ/ =-T7Z98<X%P;MH, )TAKLWS(SR7<7C!A+$%MWK
MR:9T[.[*+\35 7Z0/HG% GU7U]43"\@\0*$U'$!'T6[7">T^7$ZA0F\?8=SD
M\35&@^ UN+!BI'HT<) ?'D1/U0-S^*KU!D2'-5P\I%;8!I4: RN/^VFW01UU
ML?!>LNUCMFP]M!-^2O,G:+(;OCKFV2UO'9 ]=QN1[8S>*KP\EW21YI+F_0KS
MDBAMZDXH:W)'&%#*2LO#=%O.(<U,Y/Q\T<7![@N*8Q3!BVV.UHB+MF47^[WV
MU]K>K)D7$%F$=@#WH^(7K&=)+)>OY^SR^.IBXMV,_Z;*4UF1^?9R6)PY$?@8
M#Y!Z-7S)KP\-"NE2,\IHYOP^P=*<?*6-XI[L!$V/N18*^[N&?B<P$I"Y[G(P
M/ALX85-_BNOF=-"9*,L<CZ?-4 &K-VTPM+&[L9&?;P,BST^J85?9E7'Z)-PB
MWQ(4 +#)X;P92GHFHU0=..ELL'LAAUL8V)LBAS-"1[8,8EE:]EL98@M^2N'>
M%B(46.,?BR5M69<'GV?C0VMW9^UV3-"-1SSXLF^+/PACF[I=,U")F6"F31ZO
M. V&UF$,NJ%U&)9/14%A]GKQ\:?N)_;*T.\.N9TB#+H]WKDJ<\]G=S$9>^^?
M;C^P?D+;HJI:W*R?BV2YPZH[(MU7-5/1M];=G<X9<Z"-3; _<$3@W[C61&6K
M'J)*.-<,\D U/'1'"6M!2X3[P2^ZN!M=]ME]=D<;1QW3]!<E>=A%I@]HA_V$
M/[YY'S[-SIC(9SV99?9O03!^?<4L&]P]MY:4H>OY^>7@]0YKNP6_GH_INP+6
MN\28[XA8WX#JC6'KV7ZMQ:KGW*\E5KU3W=,WCUU\<F//,RY3#ZF]%^Y\)>5-
M./G*3=ABUSE?R#'B.5DMH/ 5BW?Z-\)];T"GJB(4!E![@VUJVWV6);&<L3PU
M>FG9L&W;>YO=+1EIX;!HD2<' J?[!)<EZ(4LR&3LY&)%ACLM@HQ;>"N_X_Y_
MPY*WA0.OOLEKT,&K'SZ@M!#+QZ[/8^OGKX49KQZD59XZ&-:,Q 0EKR%"WS[9
MP/IQ!8QYS6M":W]]:V).)>AY]7NLBN!!5$,N#I/.EL&:C*8*_E>K&M8A#:Q#
M&HNCU5+[C:W:K[;#8KPT\+P=+Y#P)=L^/HK\'O92NK-^SN8I@DOEZ5:"RZ@[
M/U/%U%.\SD&W1+Y:/=K/2[.O_'"@H**<2)ED-KH"<I[8DA?"S,_[XBM<=6H<
M%M.TP3)?[+,U)LJ?3\6)1M9D/MYP:<9E '=A@%#0NKKX'EDZ]:'ERHD%#-XP
M1+,77Y??<211G^W6ZP:/*R#>9AT4&$53.>)+>P*7[ENS>!62U,I VF>$+^=5
M9:[428.=/Z4*5HG%73493R\II.8:*]D@>H1C(,J'@"-"&T-M[,QQ$3!9+#-5
M4I,K]F#DG3O1DUL"IUNV$_>L[0D"_^JAR8ES4;0.4?VH.7ZW)(!USOMAH]>0
MKRGT>=VL;>CEK>;MH*X3A[P9PZ@ (&_6@1U^FZLJ;PM"WA&0.$R*GYR/T15_
M/9[>_.2]&Y]CB3Z!Z'TS'5_.QL<(%C.K"YJS?CAM%5E7,-*;06QH9+)[*UUV
M_0:MCR];O^#OXRGPS8:MX_8SB%O-(&X_@V'[,0U;C6FX!U7-1QK/M_$@V-DS
MDJM=B=,J['DG[;7*//:<K'D8\\T:"T(:@>TBM$#)@UQI%L7D"VGNTNXEZ]^R
M1RS,02$/(<,1-$:WOIW:*@V^_/F%)1/>6[V@QELMR5S#U)Z!3V^\R_1E"WQ'
M>A".5VM6:D7D].Z$%[J:-'UK),#DQG#.%'!J?>^:+\?4 "NJ?MUUT5F>E_D0
M 42T-$9U"+?=O(!^AQ:RC2B#X(PGN)-2WPY%)N]YMP:=;F,)GV]6/@3>(S!0
M0,> N9@(;O:M*OW;9.QMM$M)<1:Q#!:4N/V'?>410)]WX<WLXVW>E0, I<58
MK!7[L0*=PQ$NZ[%DLVR!)=M5*>4-' +F[^AW(QY2?"W7O0&+D>_Z].MJF7J3
MW.!/4$:KQ8I.GMT-%5HU^FNY U#&TOX#M1$9:UUW$5CM9>G]=8>DMLE_Q28J
MU!+$_2?8[JB08@BJ*R7UJPC:9^D?CG24C<Q'L7E=WB>KN\==LGS@6SJVEQU1
MJT"EXU4\8X,U.=^MOL)[O(_92X)L4!?3MBR+]P_!:_^;;="KBXLS66@$):[C
M*RKH/+F4U9R1@EG+,B/YE/3#B".B"J[F687&]]X_SK$.^1E>V'R,>@SMAT^5
MI]/E7<:#-5P1GF$$NC%5 R!(Q:J;OF>M+B(*UX@JL>?)RV:';/8T6XB""+A6
M/ZW6[#8T&/KN]GF5PO7F;K)0W=YG%BB=8^XV2TB8%WXU])YEI#6C)<@!5J7C
MSC:[I8"X^CE+7RPYLVO8N.,YII8C$B\I"U-J2V QQ/A8%5,=;Z*MHJJD-88'
M,@XT>4\5TLXN3Z^F%Q(^\A6Q-YOTP>8]T@0NY!2MUD*+OE48)O)QC&5P]#15
MT*04"$YYW=(C94/U=71R7 ,GH?.B90=VF"E;,SO&U 0]C$M[/(MM"1"A2]GQ
M#8CJQ>HNV;=PUI2C'Q?QKU7G!2S6/WF/:3+_]PXXI:L6!$."8Y/?H:.1[52%
M+\U8O0CX8&0R)$3VW;/%?WB9XM6_L-%"QLU\@J6;KSB?^148O<WZ.0:*P-MY
M_/UT_/>S<RZ%_Y+=,9EAO.$S)CA[9E5$I'HV\.ZX.RE_*$-6^(A%C$BS_3:Q
M@V"_S49C,-N,5K,9IG^T@*&NZL% G[8W,\&G[2W*$-..5AQ+FMMM28/Z9H5_
M=C:N  C,VS1">F;C+F,T[\'KXXHXRXODG[!YCA7[<-\#&NT971HB2Y5B3+:F
MRBTS$USUQ@R,191.99=HCT153#K3U]GF7_BM@EEF)]*2PPZJE^538S3YNT!R
MY[<+>WU-Y3RKQ]"WBOB6<;WMA+8OG&>]KL/'=<IKO5]<GU_]-)EX[R:7D].S
M&P)&V"?W:?+TO%A]3==_VHAZLK(<8QW%K34T3])["@LP.P*9Y.X1E.^-2U\L
M6ALP] &N"*3%!FA!;L2\.W'E4ET^.6K2U'!J9$396>9G]ZOJO'ISSK;.GT#Q
MNA.5RF50CHHF[A1?C)"0XLD\Z$QRWSQ(PQ6'_'H2N$?Y]N\J3-/UFIXMDO'U
M[VY*T5YWQ%\?V\846.&47,CP6%Q+[.KMRI-'QQEOV=H+:)I@&0Z#ROS5+F3M
MWI'O$5YU@6_$MOQR20$_>@E CUA3B1_$*0;9<+4F1Z_L2U8^N"<M"D-0L&X(
M2B#P;]#K#0DN,);!5;V1C$F7X>U4NPZ7&/;(G/8)9:=A$.)&KB%!EF7$Z%$Q
MD_D\=COMFXT=CDB*.%EB@+FGZ(V'>VE?%UD,1)I1=;0:X\CXC3;]%!R-7(-2
MB;?Y9K0WP=CD]5UFL::RRGRJI<YURUULLHN&WKP\0Q]45O0KYIF6RL%G[9!7
M79"MC:RM/>:PXKTTG ;K?)V#T^9HK[A8FZK74+(&CWRPT,9X4'5611V]V:[L
M6V12(+)TB32@L2=S]U(=."$Q"BOZR6FE*KFHMWO7:XL=>])R1[4>9HO552/6
MT,,Y*#""DCJ/7I.Q,(:6\W"] Z@\]?Y'J,45AH9J]_U%W[[N&A/-%;_#T%P7
M<Q+S,R%VA;U9$G*>B,PFZLK^K!&BQ+JQ/U%(#Z.I'=VBFXD_SX.;Y&8Y4JQ
MHW::D.8BX$+WY9!\)4JD%ZHBKT-K:K8^X3/K=?-9Q>])HMV68?WJCZW%:<J,
M).(=%2U.5^O[-*MI5![LZ[@+C?N(,+X)0<EZAMK0IYY?F*2J;VU0K;YQD8!-
MXO.:T++I/5T$,)%'WAZ1B;.BW&DK<^L[P$\_OYM-_OH9+6>3'R?[X5J&E0Z0
M0>6WHJ 266 XR!E59!)%)OB73)Y;IT[?M&)HPCXN9#?=G!-E=[M)_[U#D9-2
MQ>N^1SM8J4]RK7/GAT+#R#%UO!GHX830>M;4X60M]\$PR0HX.B)AO@BM8X8$
M+U?03U[?3L2R:1 (;H*U%#0H%FI\HX&U)."1B@?S9A\F^Z%SVLP_6!HAS=.8
M=+@KT6FUN]W>[Q:ZJA(T^6/8Z4<!30Y^#8<C+'8 GQMEHH7)42IJ_JB#Q'L6
M1046;D=R'HA30:/KA/PKRC"(P0:Y1^H<Q)N%@+W!97>Y><\,M CD^Q5O*S4=
MYW'E;-.L"07OJZAX\=J%-4+PSVSEWE\;]PNL:HG"AV5<M@(T-?2%12BN2NOI
MSV[&-Q/AN+XZ]1!V=5P.<VQ<XC=W[[DR/,O!)1C?;(6_E(GA,@#:Q".PL"TC
M3=>6M:AP2D2/:FB']%Z6^E9\L2NC2A94S8Q$(8419DF)*+$AF?=@V_%Y>H,:
MYJ&R>#%-BH^@].I7[@34(::3#Z!&G/V(4%H4LG]P?C6;'>Y=Z[SYR\>S#][I
M^=67O1CM_)\[Q3A %UG+Y+R4V*Q:RA7]155_1527,$ >[#:T0H?&)L6PMY_M
MR:((:K<G+%RAN%1M0+AZ$5R>SZL-%A.O7FSC2-2PV6(AJ*;]YZ$U;=-B3V4
M)&&Y)<*N6O6B IG$$[7WU/@9SLX\^\7SJ3P^.MAFYIF$GHYG9^XJ9?CE<;J@
M$#9'L0!GKVPL9O*#/+1Y&O6'M!:L9V!U:N4]/&(/R2:OXX816DL>>-#K^L,Z
M5+92Q01*Z-L\[NR%.Y!$]-AVO5IF=QNSO2L$+W]&!X8AW5S=8WB2]-U*-"OW
M<E1/14:H.6;2M%9)XV(=K0JJ:*)<DZ?[_7JU>]83]0Y0!$G7BZ_>,GE*YW_^
MUW+ULL05_T/YR0,,-DS$V#EX7Z_;BRQ;X#N]'=V9]8<H''9#'@[:M&I)>>'R
M^)A#C(;VSK%$08-88CA((LX(D00;/7-%'.[".[@"_0048OMVD:&J,Y#)-G)3
MJL!82UPD>WPTZ@YK:2-"?"8)QKUML@3FG7:;G(]"\#@0J]FI>K=.?LT6*I85
MU):S)Q1/B1J37^C7/,[N.EFF,-,&O1:@[,7I.S]G=;)*#UW+4JW6XS<[HUB4
M]\?G=G;P$T@BCVE#?O#Y4Y-)0"LY),><B3GN8.4?=K4QLHZG'^'Q!;[2V6Z:
MJC)3DF^*XVR;9;EIQT;TZYLN3]:;KY:I)20KLH9DO*IRD+TXTS5)5&G#LXIA
M1XPS;.=5C*W80?ZL2+(@NG/N:A^JOK:$PMQPR*TK%P&O&,'_>"FH\K'?+5,Q
ML@/!G2KZK)[1#'XDSZ@:-68Y^MWODM6V\MV2=1HA[*8P<&*$;;E)8HUQUW>2
M8 (D%#C[Z%M#2;"/"QEQ=W"2G*:%/FH+456+56'7MZQB[1M_(QEB%'5C7H6L
M/-]L/D=1%R^EDXMCSLGAE89V<J%S=6!3_KW5IBQ>'?R4\U<#GY:[:":K>1?Z
MP)OLO0C"Q#\_SJRCS]?B8Y;\+:O<0MC\2W*/E 4A]*?J_5:Y<6Z2[*6*]Y?9
MUOH!S:++Q*2U.KTVTJ@K!B>T\ZX?X8C^O%J ?G37\JXJCL,JQ!>XH3LCI"T'
M:MK3;(8EJD7]0['5VSWY^=.A(Y7ESYO-]K_^!U!+ P04    "  A2IQ0;A:O
M?(,"  !2#@  #0   'AL+W-T>6QE<RYX;6S55^MNTS 4?A7+0ZB3T)*T:[NQ
MIA),FH0$:-KZ@W^3FSB))5^"XY1VKS/M17@R[#B7-M 62H?(G_I<?+[S^?C(
M/9ED:D7Q?8*Q DM&>>;#1*GTK>-D08(9RLY$BKGV1$(RI+0J8R=+)49A9H(8
M=?JN.W(8(AQ.)SQG-TQE(! Y5SX<UR9@XZ]%B'WXT'O]-1?JZA6PZ\F;DQ/W
MX?2J;>\5CE,(+,:'T(?>Z!PZOP]ZYF['U;X6]' /]/>G+81KQR\9C_;!/F^#
M?=X%._ZS0NRH0POX8@MP5;6BIKU&:X5?[N%UM^6T=SL..W8-J%.VUW02"=YT
MV0!:@\Z*& 8+1'UXC2B92V*B(L0(75ESWQ@"084$2K>W9N492_9HW9[53.>7
M.(QP(8O<-H/]G9?;6XY*,P0)I37!/K2&Z21%2F');[12;"Z,/[E *<]6J688
M2[3R^D/8!!2+3C(7,L2R3N/!RC2=4!P9.I+$B5F52!WC5$HP+80$Q8*C@D,5
M40H:-L"4WIMGX4NT@;V,@-UCKL2%P+"H1'WJ4FQNS=[9.IK%7H<]/P@7I&0A
MU/M<'X<7NFD<?"MQ1):%OHQJ AH=I2E=O:,DY@S;P^Q-Z!V8<#I!51Z0"$D>
M-9YIE4 ;L(1@@:4BP;KEFT3I#"]5U4[+Z%#._0YR/G:=8\RQ1'2=M.[]_[G*
M_YCQ8/SWE(M7I4WXB!S-GWP'2 Z[0'+4!9*=Z,F++I"\[ #)\1%>S9<F.7CI
M0CKE)+0V;FT,6[45S'-"%>$EVX2$(;9\S+3KP\]FQ*8;(T\S<VEXA>;Z V\#
M7\>&.$(Y5;?FB(73AXW\T1#W1O6N60WAPT;^A$.2LV+:=YJOR.D/4$L#!!0
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
MI2\IZ/E5E*P6N:@>7J[5K]KFYBE))O2<E\ZRJ'J^OL;A<,)/_P)02P,$%
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
M5Y2?TW1XZ1\M#>WM;U!+ 0(4 Q0    ( "!*G% ?(\\#P    !,"   +
M          "  0    !?<F5L<R\N<F5L<U!+ 0(4 Q0    ( "!*G% GZ(<.
M@@   +$    0              "  >D   !D;V-0<F]P<R]A<' N>&UL4$L!
M A0#%     @ ($J<4!?!R%#O    *P(  !$              ( !F0$  &1O
M8U!R;W!S+V-O<F4N>&UL4$L! A0#%     @ ($J<4)E<G",0!@  G"<  !,
M             ( !MP(  'AL+W1H96UE+W1H96UE,2YX;6Q02P$"% ,4
M"  @2IQ0?YW8>(\#  "4$@  &               @ 'X"   >&PO=V]R:W-H
M965T<R]S:&5E=#$N>&UL4$L! A0#%     @ (4J<4-S'7?&X!@  0"0  !@
M             ( !O0P  'AL+W=O<FMS:&5E=',O<VAE970R+GAM;%!+ 0(4
M Q0    ( "%*G%!L&@4D.0(  "('   8              "  :L3  !X;"]W
M;W)K<VAE971S+W-H965T,RYX;6Q02P$"% ,4    "  A2IQ0AFJ UW,%  #_
M&0  &               @ $:%@  >&PO=V]R:W-H965T<R]S:&5E=#0N>&UL
M4$L! A0#%     @ (4J<4&GV:"S# @  J0D  !@              ( !PQL
M 'AL+W=O<FMS:&5E=',O<VAE970U+GAM;%!+ 0(4 Q0    ( "%*G%"TG6RT
M$@8  +,@   8              "  ;P>  !X;"]W;W)K<VAE971S+W-H965T
M-BYX;6Q02P$"% ,4    "  A2IQ0XYT^.M0!  ! !   &
M@ $$)0  >&PO=V]R:W-H965T<R]S:&5E=#<N>&UL4$L! A0#%     @ (4J<
M4-L"H#1]"0  $#4  !@              ( !#B<  'AL+W=O<FMS:&5E=',O
M<VAE970X+GAM;%!+ 0(4 Q0    ( "%*G% G/SB.,P(  'L&   8
M      "  <$P  !X;"]W;W)K<VAE971S+W-H965T.2YX;6Q02P$"% ,4
M"  A2IQ0VL!D?;8!  #3 P  &0              @ $J,P  >&PO=V]R:W-H
M965T<R]S:&5E=#$P+GAM;%!+ 0(4 Q0    ( "%*G% <-]Q2M0$  -,#   9
M              "  1<U  !X;"]W;W)K<VAE971S+W-H965T,3$N>&UL4$L!
M A0#%     @ (4J<4&_.&HBV 0  TP,  !D              ( ! S<  'AL
M+W=O<FMS:&5E=',O<VAE970Q,BYX;6Q02P$"% ,4    "  A2IQ0P9SPJ+0!
M  #3 P  &0              @ 'P.   >&PO=V]R:W-H965T<R]S:&5E=#$S
M+GAM;%!+ 0(4 Q0    ( "%*G% &!9.)M0$  -,#   9              "
M =LZ  !X;"]W;W)K<VAE971S+W-H965T,30N>&UL4$L! A0#%     @ (4J<
M4'R_\!NV 0  TP,  !D              ( !QSP  'AL+W=O<FMS:&5E=',O
M<VAE970Q-2YX;6Q02P$"% ,4    "  A2IQ0^KB7&;8!  #3 P  &0
M        @ &T/@  >&PO=V]R:W-H965T<R]S:&5E=#$V+GAM;%!+ 0(4 Q0
M   ( "%*G% 2(P5CM@$  -,#   9              "  :%   !X;"]W;W)K
M<VAE971S+W-H965T,3<N>&UL4$L! A0#%     @ (4J<4,PBBJFU 0  TP,
M !D              ( !CD(  'AL+W=O<FMS:&5E=',O<VAE970Q."YX;6Q0
M2P$"% ,4    "  A2IQ05PZ)J[4!  #3 P  &0              @ %Z1
M>&PO=V]R:W-H965T<R]S:&5E=#$Y+GAM;%!+ 0(4 Q0    ( "%*G%!5<6%D
MM@$  -,#   9              "  69&  !X;"]W;W)K<VAE971S+W-H965T
M,C N>&UL4$L! A0#%     @ (4J<4,)&=O:U 0  T@,  !D
M ( !4T@  'AL+W=O<FMS:&5E=',O<VAE970R,2YX;6Q02P$"% ,4    "  A
M2IQ0>B]Y@[<!  #3 P  &0              @ $_2@  >&PO=V]R:W-H965T
M<R]S:&5E=#(R+GAM;%!+ 0(4 Q0    ( "%*G% CS3<\M0$  -,#   9
M          "  2U,  !X;"]W;W)K<VAE971S+W-H965T,C,N>&UL4$L! A0#
M%     @ (4J<4-#'BP.U 0  TP,  !D              ( !&4X  'AL+W=O
M<FMS:&5E=',O<VAE970R-"YX;6Q02P$"% ,4    "  A2IQ0TKACS+4!  #3
M P  &0              @ $%4   >&PO=V]R:W-H965T<R]S:&5E=#(U+GAM
M;%!+ 0(4 Q0    ( "%*G%#05A-&M0$  -,#   9              "  ?%1
M  !X;"]W;W)K<VAE971S+W-H965T,C8N>&UL4$L! A0#%     @ (4J<4'R+
MW*^U 0  TP,  !D              ( !W5,  'AL+W=O<FMS:&5E=',O<VAE
M970R-RYX;6Q02P$"% ,4    "  A2IQ0:C40KK0!  #3 P  &0
M    @ ')50  >&PO=V]R:W-H965T<R]S:&5E=#(X+GAM;%!+ 0(4 Q0    (
M "%*G% +V$R8M $  -,#   9              "  ;17  !X;"]W;W)K<VAE
M971S+W-H965T,CDN>&UL4$L! A0#%     @ (4J<4,_E+:VT 0  TP,  !D
M             ( !GUD  'AL+W=O<FMS:&5E=',O<VAE970S,"YX;6Q02P$"
M% ,4    "  A2IQ02>)*K[0!  #3 P  &0              @ &*6P  >&PO
M=V]R:W-H965T<R]S:&5E=#,Q+GAM;%!+ 0(4 Q0    ( "%*G% DIL:ZM@$
M -,#   9              "  75=  !X;"]W;W)K<VAE971S+W-H965T,S(N
M>&UL4$L! A0#%     @ (4J<4#T'0("T 0  TP,  !D              ( !
M8E\  'AL+W=O<FMS:&5E=',O<VAE970S,RYX;6Q02P$"% ,4    "  A2IQ0
MS@W\O[4!  #3 P  &0              @ %-80  >&PO=V]R:W-H965T<R]S
M:&5E=#,T+GAM;%!+ 0(4 Q0    ( "%*G%#6VFB?M0$  -,#   9
M      "  3EC  !X;"]W;W)K<VAE971S+W-H965T,S4N>&UL4$L! A0#%
M  @ (4J<4/:I,(JV 0  TP,  !D              ( !)64  'AL+W=O<FMS
M:&5E=',O<VAE970S-BYX;6Q02P$"% ,4    "  A2IQ0=$$2C[@!  #3 P
M&0              @ $29P  >&PO=V]R:W-H965T<R]S:&5E=#,W+GAM;%!+
M 0(4 Q0    ( "%*G% 1LJ[FD ,  /@1   9              "  0%I  !X
M;"]W;W)K<VAE971S+W-H965T,S@N>&UL4$L! A0#%     @ (4J<4"23JDKM
M 0  9P4  !D              ( !R&P  'AL+W=O<FMS:&5E=',O<VAE970S
M.2YX;6Q02P$"% ,4    "  A2IQ03L_X"/P!  #H!0  &0
M@ 'L;@  >&PO=V]R:W-H965T<R]S:&5E=#0P+GAM;%!+ 0(4 Q0    ( "%*
MG%#'SLT$N0$  -,#   9              "  1]Q  !X;"]W;W)K<VAE971S
M+W-H965T-#$N>&UL4$L! A0#%     @ (4J<4*081VBY 0  TP,  !D
M         ( !#W,  'AL+W=O<FMS:&5E=',O<VAE970T,BYX;6Q02P$"% ,4
M    "  A2IQ0E;0Y_;@!  #3 P  &0              @ '_=   >&PO=V]R
M:W-H965T<R]S:&5E=#0S+GAM;%!+ 0(4 Q0    ( "%*G% ]:?=BN0$  -,#
M   9              "  >YV  !X;"]W;W)K<VAE971S+W-H965T-#0N>&UL
M4$L! A0#%     @ (4J<4'V$CS.Y 0  TP,  !D              ( !WG@
M 'AL+W=O<FMS:&5E=',O<VAE970T-2YX;6Q02P$"% ,4    "  A2IQ0SZ(=
M \,!   X!   &0              @ '.>@  >&PO=V]R:W-H965T<R]S:&5E
M=#0V+GAM;%!+ 0(4 Q0    ( "%*G%"K34K%M0$  -,#   9
M  "  <A\  !X;"]W;W)K<VAE971S+W-H965T-#<N>&UL4$L! A0#%     @
M(4J<4(3-&]BZ 0  TP,  !D              ( !M'X  'AL+W=O<FMS:&5E
M=',O<VAE970T."YX;6Q02P$"% ,4    "  A2IQ0,C"\RN !   "!0  &0
M            @ &E@   >&PO=V]R:W-H965T<R]S:&5E=#0Y+GAM;%!+ 0(4
M Q0    ( "%*G%"OX)!MXP$   (%   9              "  ;R"  !X;"]W
M;W)K<VAE971S+W-H965T-3 N>&UL4$L! A0#%     @ (4J<4,*\X\ZZ 0
MTP,  !D              ( !UH0  'AL+W=O<FMS:&5E=',O<VAE970U,2YX
M;6Q02P$"% ,4    "  A2IQ0,C[:X_<!  #,!0  &0              @ ''
MA@  >&PO=V]R:W-H965T<R]S:&5E=#4R+GAM;%!+ 0(4 Q0    ( "%*G%#]
MH:Z[PP$  #@$   9              "  ?6(  !X;"]W;W)K<VAE971S+W-H
M965T-3,N>&UL4$L! A0#%     @ (4J<4-^8MOK- 0  >00  !D
M     ( ![XH  'AL+W=O<FMS:&5E=',O<VAE970U-"YX;6Q02P$"% ,4
M"  A2IQ0H44G4MX!   "!0  &0              @ 'SC   >&PO=V]R:W-H
M965T<R]S:&5E=#4U+GAM;%!+ 0(4 Q0    ( "%*G%#>T?O=M0$  -,#   9
M              "  0B/  !X;"]W;W)K<VAE971S+W-H965T-38N>&UL4$L!
M A0#%     @ (4J<4$B<U :Y 0  TP,  !D              ( !])   'AL
M+W=O<FMS:&5E=',O<VAE970U-RYX;6Q02P$"% ,4    "  A2IQ0,L,6XML!
M  #@!   &0              @ 'DD@  >&PO=V]R:W-H965T<R]S:&5E=#4X
M+GAM;%!+ 0(4 Q0    ( "%*G% 4"S^^9@(  * )   9              "
M ?:4  !X;"]W;W)K<VAE971S+W-H965T-3DN>&UL4$L! A0#%     @ (4J<
M4 A>QZ(S @  Q <  !D              ( !DY<  'AL+W=O<FMS:&5E=',O
M<VAE970V,"YX;6Q02P$"% ,4    "  A2IQ0Y7QQ(2H"   6!@  &0
M        @ ']F0  >&PO=V]R:W-H965T<R]S:&5E=#8Q+GAM;%!+ 0(4 Q0
M   ( "%*G%#C%,I[:@(  +P'   9              "  5Z<  !X;"]W;W)K
M<VAE971S+W-H965T-C(N>&UL4$L! A0#%     @ (4J<4"=EX?^] @  W@D
M !D              ( !_YX  'AL+W=O<FMS:&5E=',O<VAE970V,RYX;6Q0
M2P$"% ,4    "  A2IQ0];P/M;4"  "@"0  &0              @ 'SH0
M>&PO=V]R:W-H965T<R]S:&5E=#8T+GAM;%!+ 0(4 Q0    ( "%*G%!?LA,Z
M-P(  $L&   9              "  =^D  !X;"]W;W)K<VAE971S+W-H965T
M-C4N>&UL4$L! A0#%     @ (4J<4!!ZT&][ @  [P<  !D
M ( !3:<  'AL+W=O<FMS:&5E=',O<VAE970V-BYX;6Q02P$"% ,4    "  A
M2IQ0.PQ@QJ<#  "M$@  &0              @ '_J0  >&PO=V]R:W-H965T
M<R]S:&5E=#8W+GAM;%!+ 0(4 Q0    ( "%*G%#-8K]NR@$  #P$   9
M          "  =VM  !X;"]W;W)K<VAE971S+W-H965T-C@N>&UL4$L! A0#
M%     @ (4J<4%/"DBBC P  3!   !D              ( !WJ\  'AL+W=O
M<FMS:&5E=',O<VAE970V.2YX;6Q02P$"% ,4    "  A2IQ0P17;/& "   9
M!P  &0              @ &XLP  >&PO=V]R:W-H965T<R]S:&5E=#<P+GAM
M;%!+ 0(4 Q0    ( "%*G%#WB,6^=@(  *H'   9              "  4^V
M  !X;"]W;W)K<VAE971S+W-H965T-S$N>&UL4$L! A0#%     @ (4J<4-^S
M35N  P  TPX  !D              ( !_+@  'AL+W=O<FMS:&5E=',O<VAE
M970W,BYX;6Q02P$"% ,4    "  A2IQ0JUW^')X"  #7"   &0
M    @ &SO   >&PO=V]R:W-H965T<R]S:&5E=#<S+GAM;%!+ 0(4 Q0    (
M "%*G%!+H!\40P,  $ -   9              "  8B_  !X;"]W;W)K<VAE
M971S+W-H965T-S0N>&UL4$L! A0#%     @ (4J<4!+&L@A* @  )P<  !D
M             ( ! L,  'AL+W=O<FMS:&5E=',O<VAE970W-2YX;6Q02P$"
M% ,4    "  A2IQ0DU.;;-L"  !>#   &0              @ &#Q0  >&PO
M=V]R:W-H965T<R]S:&5E=#<V+GAM;%!+ 0(4 Q0    ( "%*G% W0@ EF0(
M %<)   9              "  97(  !X;"]W;W)K<VAE971S+W-H965T-S<N
M>&UL4$L! A0#%     @ (4J<4+XR0'DJ @  ^@4  !D              ( !
M9<L  'AL+W=O<FMS:&5E=',O<VAE970W."YX;6Q02P$"% ,4    "  A2IQ0
MBM#BJ, "  "V"0  &0              @ '&S0  >&PO=V]R:W-H965T<R]S
M:&5E=#<Y+GAM;%!+ 0(4 Q0    ( "%*G%!SH9YSR0(  .P+   9
M      "  ;W0  !X;"]W;W)K<VAE971S+W-H965T.# N>&UL4$L! A0#%
M  @ (4J<4'R@Q-G# @  ! L  !D              ( !O=,  'AL+W=O<FMS
M:&5E=',O<VAE970X,2YX;6Q02P$"% ,4    "  A2IQ09KNR@],"  !I"P
M&0              @ &WU@  >&PO=V]R:W-H965T<R]S:&5E=#@R+GAM;%!+
M 0(4 Q0    ( "%*G%#!_UN;7@(  $\'   9              "  <'9  !X
M;"]W;W)K<VAE971S+W-H965T.#,N>&UL4$L! A0#%     @ (4J<4&9A!5X'
M @  < 4  !D              ( !5MP  'AL+W=O<FMS:&5E=',O<VAE970X
M-"YX;6Q02P$"% ,4    "  A2IQ07J]6?\(!  "(!   &0
M@ &4W@  >&PO=V]R:W-H965T<R]S:&5E=#@U+GAM;%!+ 0(4 Q0    ( "%*
MG% 8>@-XD@(  #D)   9              "  8W@  !X;"]W;W)K<VAE971S
M+W-H965T.#8N>&UL4$L! A0#%     @ (4J<4/3J:N+% 0  *00  !D
M         ( !5N,  'AL+W=O<FMS:&5E=',O<VAE970X-RYX;6Q02P$"% ,4
M    "  A2IQ0K%U>(40"   M!P  &0              @ %2Y0  >&PO=V]R
M:W-H965T<R]S:&5E=#@X+GAM;%!+ 0(4 Q0    ( "%*G%! +6!<_P$  + %
M   9              "  <WG  !X;"]W;W)K<VAE971S+W-H965T.#DN>&UL
M4$L! A0#%     @ (4J<4#-E/@B3 @  ^ @  !D              ( ! ^H
M 'AL+W=O<FMS:&5E=',O<VAE970Y,"YX;6Q02P$"% ,4    "  A2IQ07RK/
M,@0"  "Q!0  &0              @ '-[   >&PO=V]R:W-H965T<R]S:&5E
M=#DQ+GAM;%!+ 0(4 Q0    ( "%*G%#&1J_M+ (  )L&   9
M  "  0CO  !X;"]W;W)K<VAE971S+W-H965T.3(N>&UL4$L! A0#%     @
M(4J<4&<PDF*F P  2 \  !D              ( !:_$  'AL+W=O<FMS:&5E
M=',O<VAE970Y,RYX;6Q02P$"% ,4    "  A2IQ0F8^S3/ !  #V!   &0
M            @ %(]0  >&PO=V]R:W-H965T<R]S:&5E=#DT+GAM;%!+ 0(4
M Q0    ( "%*G% $QQPUV@(  #@*   9              "  6_W  !X;"]W
M;W)K<VAE971S+W-H965T.34N>&UL4$L! A0#%     @ (4J<4&+M"N$C!0
M:AP  !D              ( !@/H  'AL+W=O<FMS:&5E=',O<VAE970Y-BYX
M;6Q02P$"% ,4    "  A2IQ0+]\AE+@!  #6 P  &0              @ ':
M_P  >&PO=V]R:W-H965T<R]S:&5E=#DW+GAM;%!+ 0(4 Q0    ( "%*G% >
MH%&Z=@(  *X'   9              "  <D! 0!X;"]W;W)K<VAE971S+W-H
M965T.3@N>&UL4$L! A0#%     @ (4J<4.H3"&NQ 0  P@,  !D
M     ( !=@0! 'AL+W=O<FMS:&5E=',O<VAE970Y.2YX;6Q02P$"% ,4
M"  A2IQ0L*1((54#  #H#@  &@              @ %>!@$ >&PO=V]R:W-H
M965T<R]S:&5E=#$P,"YX;6Q02P$"% ,4    "  A2IQ0)EN"H'8%  "N'
M&@              @ 'K"0$ >&PO=V]R:W-H965T<R]S:&5E=#$P,2YX;6Q0
M2P$"% ,4    "  A2IQ0^8]:/0T$  #Q%   &@              @ &9#P$
M>&PO=V]R:W-H965T<R]S:&5E=#$P,BYX;6Q02P$"% ,4    "  A2IQ0,$XR
MMS<$   "%   &@              @ '>$P$ >&PO=V]R:W-H965T<R]S:&5E
M=#$P,RYX;6Q02P$"% ,4    "  A2IQ0\AS0^Y8#   4$0  &@
M    @ %-& $ >&PO=V]R:W-H965T<R]S:&5E=#$P-"YX;6Q02P$"% ,4
M"  A2IQ0Y[G&O84"  !V"   &@              @ $;' $ >&PO=V]R:W-H
M965T<R]S:&5E=#$P-2YX;6Q02P$"% ,4    "  A2IQ0W"3UG24#  #?"P
M&@              @ '8'@$ >&PO=V]R:W-H965T<R]S:&5E=#$P-BYX;6Q0
M2P$"% ,4    "  A2IQ0#/8C9LD'  !V,   &@              @ $U(@$
M>&PO=V]R:W-H965T<R]S:&5E=#$P-RYX;6Q02P$"% ,4    "  A2IQ0-F[$
MY"@"  #X!@  &@              @ $V*@$ >&PO=V]R:W-H965T<R]S:&5E
M=#$P."YX;6Q02P$"% ,4    "  A2IQ0S8UO_C("  #1!@  &@
M    @ &6+ $ >&PO=V]R:W-H965T<R]S:&5E=#$P.2YX;6Q02P$"% ,4
M"  A2IQ0U_)MNB8$   A$@  &@              @ $ +P$ >&PO=V]R:W-H
M965T<R]S:&5E=#$Q,"YX;6Q02P$"% ,4    "  A2IQ03YP6)J8&  #6)@
M&@              @ %>,P$ >&PO=V]R:W-H965T<R]S:&5E=#$Q,2YX;6Q0
M2P$"% ,4    "  A2IQ0TR"6 V8#  # #@  &@              @ $\.@$
M>&PO=V]R:W-H965T<R]S:&5E=#$Q,BYX;6Q02P$"% ,4    "  A2IQ0PKB@
M[8$"   D"0  &@              @ ':/0$ >&PO=V]R:W-H965T<R]S:&5E
M=#$Q,RYX;6Q02P$"% ,4    "  A2IQ03Z)F"HD"   ="0  &@
M    @ &30 $ >&PO=V]R:W-H965T<R]S:&5E=#$Q-"YX;6Q02P$"% ,4
M"  A2IQ0--H'-'8#  !G#P  &@              @ %40P$ >&PO=V]R:W-H
M965T<R]S:&5E=#$Q-2YX;6Q02P$"% ,4    "  A2IQ0XB$0B'T#   7#P
M&@              @ $"1P$ >&PO=V]R:W-H965T<R]S:&5E=#$Q-BYX;6Q0
M2P$"% ,4    "  A2IQ0; ,'L%0"  !_!P  &@              @ &W2@$
M>&PO=V]R:W-H965T<R]S:&5E=#$Q-RYX;6Q02P$"% ,4    "  A2IQ08Y!B
M$= !   _!   &@              @ %#30$ >&PO=V]R:W-H965T<R]S:&5E
M=#$Q."YX;6Q02P$"% ,4    "  A2IQ0M^O-Y"X&  !8(0  &@
M    @ %+3P$ >&PO=V]R:W-H965T<R]S:&5E=#$Q.2YX;6Q02P$"% ,4
M"  A2IQ0>%2;_DH"   F"   &@              @ &Q50$ >&PO=V]R:W-H
M965T<R]S:&5E=#$R,"YX;6Q02P$"% ,4    "  A2IQ0XOB[Y'4&  !4(0
M&@              @ $S6 $ >&PO=V]R:W-H965T<R]S:&5E=#$R,2YX;6Q0
M2P$"% ,4    "  A2IQ0K.+5![("  "$"0  &@              @ '@7@$
M>&PO=V]R:W-H965T<R]S:&5E=#$R,BYX;6Q02P$"% ,4    "  A2IQ0((])
M8V<)  "4-0  &@              @ '*80$ >&PO=V]R:W-H965T<R]S:&5E
M=#$R,RYX;6Q02P$"% ,4    "  A2IQ0+Z+V$C4'  !?.0  &@
M    @ %I:P$ >&PO=V]R:W-H965T<R]S:&5E=#$R-"YX;6Q02P$"% ,4
M"  A2IQ0U<H3V+D2 0#5700 %               @ '6<@$ >&PO<VAA<F5D
M4W1R:6YG<RYX;6Q02P$"% ,4    "  A2IQ0;A:O?(,"  !2#@  #0
M        @ '!A0( >&PO<W1Y;&5S+GAM;%!+ 0(4 Q0    ( "%*G%"1#RXL
MR0@  "!1   /              "  6^( @!X;"]W;W)K8F]O:RYX;6Q02P$"
M% ,4    "  A2IQ0DLLR.W\#  !.20  &@              @ %ED0( >&PO
M7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"% ,4    "  A2IQ09\48B*T"
M   [1@  $P              @ $<E0( 6T-O;G1E;G1?5'EP97-=+GAM;%!+
4!08     A0"% *XD  #ZEP(    !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>116
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6841926464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SOLAR POWER SYSTEMS, NET (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_SolarPowerSystemsAbstract', window );"><strong>SOLAR POWER SYSTEMS, 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="top.Show.showAR( this, 'defref_csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock', window );">Schedule of solar power systems, net</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Solar power systems in operation</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,641</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 70,449</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Solar power systems under construction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,484</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,830</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accumulated depreciation</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (16,227)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (22,322)</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Solar power systems, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 54,898</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 52,957</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of solar power systems.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_SolarPowerSystemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SolarPowerSystemsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance 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>117
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6827632144">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ALLOWANCE FOR DOUBTFUL ACCOUNTS (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember', window );">Allowances for accounts receivable, trade</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="top.Show.showAR( this, 'defref_srt_ValuationAndQualifyingAccountsDisclosureLineItems', window );"><strong>ALLOWANCE FOR DOUBTFUL ACCOUNTS</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="top.Show.showAR( this, 'defref_us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock', window );">Schedule of allowances</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Beginning of the year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,119</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,941</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,733</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Allowances made (reversed) during the year, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,345</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 869</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,386)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accounts written-off against allowances</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (174)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (297)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (309)</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,651</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (780)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,493)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Closing balance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,941</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,733</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,545</p></td></tr></table><span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForAdvancesToSuppliersMember', window );">Allowances for advances to suppliers</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="top.Show.showAR( this, 'defref_srt_ValuationAndQualifyingAccountsDisclosureLineItems', window );"><strong>ALLOWANCE FOR DOUBTFUL ACCOUNTS</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="top.Show.showAR( this, 'defref_us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock', window );">Schedule of allowances</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Beginning of the year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,527</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,762</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,926</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Allowances made (reversed) during the year, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (833)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,287</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 738</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accounts written-off against allowances</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,452)</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (123)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Closing balance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,762</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,926</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,281</p></td></tr></table><span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForOtherReceivablesMember', window );">Allowances for other receivables</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="top.Show.showAR( this, 'defref_srt_ValuationAndQualifyingAccountsDisclosureLineItems', window );"><strong>ALLOWANCE FOR DOUBTFUL ACCOUNTS</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="top.Show.showAR( this, 'defref_us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock', window );">Schedule of allowances</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:31.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Beginning of the year</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,251</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,349</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,704</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Allowances made (reversed) during the year, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 549</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (175)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,919</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 549</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (470)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (192)</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Closing balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,349</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,704</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,431</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ValuationAndQualifyingAccountsDisclosureLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_ValuationAndQualifyingAccountsDisclosureLineItems</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:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11B<br> -URI http://asc.fasb.org/extlink&amp;oid=118936363&amp;loc=SL6953423-111524<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=119407570&amp;loc=SL82919249-210447<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ValuationAllowancesAndReservesTypeAxis=us-gaap_AllowanceForCreditLossMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForAdvancesToSuppliersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForAdvancesToSuppliersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForOtherReceivablesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ValuationAllowancesAndReservesTypeAxis=csiq_AllowanceForOtherReceivablesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6852907696">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Disaggregation of Revenue (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, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue recognition:</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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">$ 3,200,583<span></span>
</td>
<td class="nump">$ 3,744,512<span></span>
</td>
<td class="nump">$ 3,390,393<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember', window );">Recognized at a point in time | MSS</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="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue recognition:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">2,238,310<span></span>
</td>
<td class="nump">2,095,743<span></span>
</td>
<td class="nump">2,705,985<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember', window );">Recognized at a point in time | Energy</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="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue recognition:</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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">668,476<span></span>
</td>
<td class="nump">1,542,906<span></span>
</td>
<td class="nump">633,195<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember', window );">Recognized over time | MSS</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="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue recognition:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">242,828<span></span>
</td>
<td class="nump">73,175<span></span>
</td>
<td class="nump">6,938<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember', window );">Recognized over time | Energy</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="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Revenue recognition:</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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">$ 50,969<span></span>
</td>
<td class="nump">$ 32,688<span></span>
</td>
<td class="nump">$ 44,275<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130545-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130543-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=csiq_ModuleSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_ModuleSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_EnergySegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_EnergySegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>119
<FILENAME>R93.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6849539616">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BORROWINGS (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Oct. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</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="top.Show.showAR( this, 'defref_us-gaap_OtherShortTermBorrowings', window );">Short-term</a></td>
<td class="nump">$ 819,031<span></span>
</td>
<td class="nump">$ 856,876<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermDebtCurrent', window );">Long-term, current portion</a></td>
<td class="nump">114,089<span></span>
</td>
<td class="nump">171,051<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShortTermBorrowings', window );">Short-term Debt, Total</a></td>
<td class="nump">933,120<span></span>
</td>
<td class="nump">1,027,927<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="top.Show.showAR( this, 'defref_csiq_LongTermBorrowingsOnProjectAssetsCurrent', window );">Long-term borrowings on project assets - current</a></td>
<td class="nump">286,173<span></span>
</td>
<td class="nump">265,770<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermNotesAndLoans', window );">Long-term borrowings</a></td>
<td class="nump">619,477<span></span>
</td>
<td class="nump">393,614<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtLongtermAndShorttermCombinedAmount', window );">Total</a></td>
<td class="nump">1,838,770<span></span>
</td>
<td class="nump">$ 1,687,311<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="top.Show.showAR( this, 'defref_csiq_SecuredShortTermDebt', window );">Secured short-term borrowings</a></td>
<td class="nump">708,787<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="top.Show.showAR( this, 'defref_us-gaap_SecuredDebtCurrent', window );">Secured long-term borrowings, Current</a></td>
<td class="nump">283,409<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="top.Show.showAR( this, 'defref_us-gaap_SecuredLongTermDebt', window );">Secured long-term borrowings</a></td>
<td class="nump">513,622<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="top.Show.showAR( this, 'defref_csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment', window );">Carrying value of property, plant and equipment that serve as collateral for short-term and long-term borrowings</a></td>
<td class="nump">192,103<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="top.Show.showAR( this, 'defref_csiq_PledgedAssetsNotSeparatelyReportedInventory', window );">Carrying value of inventories that serve as collateral for short-term and long-term borrowings</a></td>
<td class="nump">55,955<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="top.Show.showAR( this, 'defref_csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight', window );">Carrying value of prepaid land use rights that serve as collateral for short-term and long-term borrowings</a></td>
<td class="nump">28,763<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="top.Show.showAR( this, 'defref_csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash', window );">Carrying value of restricted cash that serve as collateral for short-term and long-term borrowings</a></td>
<td class="nump">138,950<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="top.Show.showAR( this, 'defref_csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable', window );">Carrying value of accounts receivable that serve as collateral for short-term and long-term borrowings</a></td>
<td class="nump">226,938<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="top.Show.showAR( this, 'defref_csiq_PledgedEquityNotSeparatelyReported', window );">Carrying value of equity that serve as collateral for short-term and long-term borrowings</a></td>
<td class="nump">373,751<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="top.Show.showAR( this, 'defref_csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems', window );">Carrying value of project assets and solar power systems that serve as collateral for short-term and long-term borrowings</a></td>
<td class="nump">579,695<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="top.Show.showAR( this, 'defref_srt_CounterpartyNameAxis=csiq_BorrowingsFromNonBankingInstitutionsMember', window );">Borrowings from non-banking institutions</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="top.Show.showAR( this, 'defref_us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</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="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 93,975<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCredit', window );">Amount drawn of bank credit facilities granted</a></td>
<td class="nump">93,975<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="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_LineOfCreditMember', window );">Credit facility</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="top.Show.showAR( this, 'defref_us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</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="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="nump">2,331,226<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="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity', window );">Available amount of credit facilities</a></td>
<td class="nump">579,545<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="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=csiq_NonBindingLineOfCreditMember', window );">Non-binding bank credit facilities</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="top.Show.showAR( this, 'defref_us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract', window );"><strong>BANK BORROWINGS</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="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="nump">$ 513,566<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_csiq_LongTermBorrowingsOnProjectAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount represents long-borrowings associated with certain solar power projects that are expected to be sold within one year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LongTermBorrowingsOnProjectAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying amount as of the date of the latest financial statement presented of accounts receivable which is transferred to serve as collateral for debt obligations, and for which the transferee does not have the right by contract or custom to sell or re-pledge them to an unrelated party.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_PledgedAssetsNotSeparatelyReportedInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying amount, as of the date of the latest financial statement presented, of inventory, which are owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PledgedAssetsNotSeparatelyReportedInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying amount, as of the date of the latest financial statement presented, of prepaid land use right, which are owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PledgedAssetsNotSeparatelyReportedPrepaidLandUseRight</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying amount, as of the date of the latest financial statement presented, of property, plant and equipment, which are owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying amount, as of the date of the latest financial statement presented, of restricted cash owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement, and for which the transferee is not permitted to sell or re-pledge them to an unrelated party.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying amount, as of the date of the latest financial statement presented, of project assets and solar power systems, which are owned but transferred to serve as collateral for the payment of the related debt obligation, primarily a secured borrowing or repurchase agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PledgedAssetsProjectAssetsAndSolarPowerSystems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_PledgedEquityNotSeparatelyReported">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying amount as of the date of the latest financial statement presented of equity which is transferred to serve as collateral for debt obligations, and for which the transferee does not have the right by contract or custom to sell or re-pledge them to an unrelated party.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PledgedEquityNotSeparatelyReported</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_SecuredShortTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the carrying amount of short-term borrowings secured by assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SecuredShortTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DebtLongtermAndShorttermCombinedAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the aggregate of total long-term debt, including current maturities and short-term debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtLongtermAndShorttermCombinedAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DebtLongtermAndShorttermCombinedAmountAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract</td>
</tr>
<tr>
<td style="padding-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_LineOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(16))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermNotesAndLoans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of all notes and loans payable (with maturities initially due after one year or beyond the operating cycle if longer), excluding current portion.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermNotesAndLoans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherShortTermBorrowings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of borrowings classified as other, maturing within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a)(7))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherShortTermBorrowings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_SecuredDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of the portion of long-term, collateralized debt obligations due within one year or the operating cycle, if longer. Such obligations include mortgage loans, chattel loans, and any other borrowings secured by assets of the borrower.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SecuredDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_SecuredLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount of collateralized debt obligations with maturities initially due after one year or beyond the operating cycle, if longer, excluding the current portion. Obligations include, but not limited to, mortgage loans, chattel loans, and other borrowings secured by assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SecuredLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ShortTermBorrowings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermBorrowings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CounterpartyNameAxis=csiq_BorrowingsFromNonBankingInstitutionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_CounterpartyNameAxis=csiq_BorrowingsFromNonBankingInstitutionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_LineOfCreditMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_LineOfCreditMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=csiq_NonBindingLineOfCreditMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=csiq_NonBindingLineOfCreditMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>120
<FILENAME>R97.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6840690224">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SHORT-TERM NOTES PAYABLE (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NotesPayableAbstract', window );"><strong>SHORT-TERM NOTES PAYABLE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_ShortTermNotesPayable', window );">Short-term notes payable</a></td>
<td class="nump">$ 544,991<span></span>
</td>
<td class="nump">$ 369,722<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ShortTermNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of borrowings classified s short term notes payable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ShortTermNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_NotesPayableAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NotesPayableAbstract</td>
</tr>
<tr>
<td style="padding-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>121
<FILENAME>R67.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6854421632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">1 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>May 31, 2009</div></th>
<th class="th"><div>Aug. 31, 2011</div></th>
<th class="th"><div>Jun. 30, 2009</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</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="top.Show.showAR( this, 'defref_csiq_ProductWarrantyAccrualRateForSalesOfSolarModules', window );">Warranty accrual rate for sales of solar modules as a percentage of 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="nump">1.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="top.Show.showAR( this, 'defref_csiq_InsurancePolicyTerm', window );">Term of insurance policy over which the insurance premium will be amortized</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">1 year<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="top.Show.showAR( this, 'defref_csiq_InsurancePremiumUnamortizedAmountNoncurrent', window );">Unamortized carrying amount of insurance premium</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,486<span></span>
</td>
<td class="nump">$ 1,286<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InsuranceSettlementsReceivableNoncurrent', window );">Insurance receivable</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">79,888<span></span>
</td>
<td class="nump">75,617<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease', window );">Warranty adjustment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,446<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="top.Show.showAR( this, 'defref_csiq_OtherNoncurrentAssetsAdjustment', window );">Downward adjustment of other non-current 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="nump">800<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="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyExpense', window );">Warranty costs (net effect of adjustment) included in cost of revenues</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">$ 28,044<span></span>
</td>
<td class="nump">$ 13,188<span></span>
</td>
<td class="nump">$ 19,793<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GuaranteeObligationsByNatureAxis=csiq_EightyPercentInitialPowerCapacityMember', window );">80% initial power capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="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="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</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="top.Show.showAR( this, 'defref_csiq_ProductWarrantyAccrualRateForSalesOfSolarModules', window );">Warranty accrual rate for sales of solar modules as a percentage of 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="nump">80.70%<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="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=csiq_StandardSolarModuleMember', window );">Standard solar modules</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="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</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="top.Show.showAR( this, 'defref_csiq_InsurancePolicyTerm', window );">Term of insurance policy over which the insurance premium will be amortized</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">25 years<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="top.Show.showAR( this, 'defref_csiq_StandardProductWarrantyPeriod', window );">Guarantee of solar modules for defects in materials and engineering design, installation and construction</a></td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity', window );">Warranty period of solar modules and products against decline of more than 10% of initial power generation capacity</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity', window );">Warranty period of solar modules and products against decline of more than 20% of initial power generation capacity</a></td>
<td class="text">25 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty', window );">Minimum percentage of decline in initial minimum power generation capacity for 10 years</a></td>
<td class="nump">10.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>
<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="top.Show.showAR( this, 'defref_csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty', window );">Minimum percentage of decline in initial minimum power generation capacity for 25 years</a></td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="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="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=csiq_StandardSolarModuleMember', window );">Standard solar modules | Material and workmanship</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="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</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="top.Show.showAR( this, 'defref_csiq_InsurancePolicyTerm', window );">Term of insurance policy over which the insurance premium will be amortized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 years<span></span>
</td>
<td class="text">6 years<span></span>
</td>
<td class="text">12 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=csiq_StandardSolarModuleMember', window );">Standard solar modules | 97 % initial power capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="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="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</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="top.Show.showAR( this, 'defref_csiq_ProductWarrantyAccrualRateForSalesOfSolarModules', window );">Warranty accrual rate for sales of solar modules as a percentage of 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="nump">97.50%<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="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=csiq_StandardSolarModuleMember', window );">Standard solar modules | 93% initial power capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="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="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</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="top.Show.showAR( this, 'defref_csiq_ProductWarrantyAccrualRateForSalesOfSolarModules', window );">Warranty accrual rate for sales of solar modules as a percentage of 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="nump">0.70%<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="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=csiq_SolarPowerProjectMember', window );">Solar Power Project</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="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</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="top.Show.showAR( this, 'defref_csiq_StandardProductWarrantyPeriod', window );">Guarantee of solar modules for defects in materials and engineering design, installation and construction</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">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=csiq_BifacialModuleAndDoubleGlassModuleMember', window );">Bifacial module and double glass module</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="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</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="top.Show.showAR( this, 'defref_csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity', window );">Warranty period of solar modules and products against decline of more than 10% of initial power generation capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">30 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</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="top.Show.showAR( this, 'defref_csiq_InsurancePolicyTerm', window );">Term of insurance policy over which the insurance premium will be amortized</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">25 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyLiabilityLineItems', window );"><strong>Warranty cost</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="top.Show.showAR( this, 'defref_csiq_InsurancePolicyTerm', window );">Term of insurance policy over which the insurance premium will be amortized</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">30 years<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_csiq_InsurancePolicyTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the term of the insurance policy over which the insurance premium will be amortized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_InsurancePolicyTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_InsurancePremiumUnamortizedAmountNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the unamortized carrying amount of insurance premium.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_InsurancePremiumUnamortizedAmountNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_OtherNoncurrentAssetsAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the adjustment to the expense charged against earnings for the period pertaining to other non-current assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_OtherNoncurrentAssetsAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProductWarrantyAccrualRateForSalesOfSolarModules">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage of revenue which the entity uses as an estimate of warranty expense for sales of solar modules, which is included in cost of revenues.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProductWarrantyAccrualRateForSalesOfSolarModules</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the minimum percentage of decline in power generation capacity from the time of delivery which the entity warrants for a ten year period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the minimum percentage of decline in power generation capacity from the time of delivery which the entity warrants for a 25 year period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the warranty period of solar modules for decline of more than 10 percent of the initial minimum power generation capacity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the warranty period of solar modules for decline of more than 20 percent of the initial minimum power generation capacity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_StandardProductWarrantyPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the period of time over which the entity guarantees against defects in materials and workmanship.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_StandardProductWarrantyPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_InsuranceSettlementsReceivableNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount due after one year of the balance sheet date (or one operating cycle, if longer) of amount due in settlement of a claim for reimbursement from an insurance company when the Company has suffered a loss covered under an insurance policy.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InsuranceSettlementsReceivableNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProductWarrantyExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The expense charged against earnings for the period pertaining to standard and extended warranties on the entity's goods and services granted to customers.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(3,4))<br> -URI http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProductWarrantyLiabilityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyLiabilityLineItems</td>
</tr>
<tr>
<td style="padding-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_StandardProductWarrantyAccrualPreexistingIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the standard product warranty accrual from changes in estimates attributable to preexisting product warranties. Excludes extended product warranties.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyAccrualPreexistingIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GuaranteeObligationsByNatureAxis=csiq_EightyPercentInitialPowerCapacityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_GuaranteeObligationsByNatureAxis=csiq_EightyPercentInitialPowerCapacityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_StandardSolarModuleMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_StandardSolarModuleMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_GuaranteeObligationsByNatureAxis=csiq_MaterialAndWorkmanShipMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_GuaranteeObligationsByNatureAxis=csiq_MaterialAndWorkmanShipMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_GuaranteeObligationsByNatureAxis=csiq_NinetySevenPercentInitialPowerCapacityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_GuaranteeObligationsByNatureAxis=csiq_NinetySevenPercentInitialPowerCapacityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_GuaranteeObligationsByNatureAxis=csiq_NinetyThreeInitialPowerCapacityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_GuaranteeObligationsByNatureAxis=csiq_NinetyThreeInitialPowerCapacityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_SolarPowerProjectMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_SolarPowerProjectMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_BifacialModuleAndDoubleGlassModuleMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_BifacialModuleAndDoubleGlassModuleMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>122
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6600069984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LEASE<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>LEASE</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="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">LEASE</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">12</b><span style="font-style:italic;font-weight:bold;">.</span><b style="font-weight:bold;"> LEASE</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company leases office space, office equipment, vehicles, spaces for solar power plants construction, and manufacturing facilities in various regions where the Company operates. Leased assets mainly locate in China, United States, Japan, German, and Italy.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The leases considered as ROU assets have various terms of up to twenty years. The Company also has certain leases with terms of 12 months or less, which are not recorded on the balance sheet.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The components of lease expenses were as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year&#160;ended</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Finance lease cost:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Amortization of right-of-use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,900</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest on lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,213</p></td></tr><tr><td style="vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Operating fixed lease cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,619</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Short-term lease cost</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,920</p></td></tr><tr><td style="vertical-align:bottom;width:82.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total lease cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,916</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The operating lease expenses were $20.9 million and $19.8 million for the years ended December 31, 2018, and 2017, respectively. Finance lease expenses were $24.7 million and $19.1 million for the years ended December 31, 2018 and 2017, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">12</b><span style="font-style:italic;font-weight:bold;">.</span><b style="font-weight:bold;"> LEASE </b><b style="font-weight:bold;">(Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Other supplemental information related to leases is summarized below:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year&#160;ended</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cash paid for amounts included in the measurement of lease liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating cash flows from finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (3,213)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Operating cash flows from operating lease</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (15,866)</p></td></tr><tr><td style="vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Financing cash flows from finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (33,614)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Right-of-use assets obtained in exchange of new finance lease liabilities in non-cash transaction</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,300</p></td></tr><tr><td style="vertical-align:bottom;width:82.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Right-of-use assets obtained in exchange of new operating lease liabilities in non-cash transaction</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,222</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:14.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Weighted average of remaining operating lease term - finance leases (in years)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="-sec-ix-hidden:Hidden_M-Q2a2b3OEOOK02jTa1BjQ"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:right;">1.41</span></span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Weighted average of remaining operating lease term - operating leases (in years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="-sec-ix-hidden:Hidden_GCueFfnbSEaf4cRxYJqJlw"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:right;">3.03</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Weighted average of operating lease discount rate - finance lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.82</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:81.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Weighted average of operating lease discount rate - operating lease</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.36</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">As of December 31, 2019, maturities of operating and finance lease liabilities up to five years were as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Operating&#160;Lease&#160;Payment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Finance&#160;Lease&#160;Payment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total&#160;Lease&#160;Payment</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Year Ending December 31:</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,953</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,439</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 46,392</p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,980</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,087</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,066</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2022</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,666</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 604</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,270</p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,541</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,541</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2024</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,077</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,077</p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,504</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,504</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total future minimum lease payments</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,721</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,130</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 82,851</p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Less: imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,236</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,056</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,292</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">NPV for future minimum lease payments</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,485</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,074</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 78,559</p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Analysis as:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Short-term</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,767</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,998</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,765</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Long-term</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,718</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,076</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33,794</p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,485</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,074</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 78,559</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The future minimum lease payments from 2018 Form 20-F as filed in accordance with Leases (Topic 840) were as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Operating&#160;Lease&#160;Payment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Finance&#160;Lease&#160;Payment</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total&#160;Lease&#160;Payment</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Year Ending December 31:</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,287</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40,945</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,232</p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">2020</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,790</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,483</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,273</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,379</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,842</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,221</p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,485</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 556</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,041</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 838</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 838</p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,743</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,743</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">Total future minimum lease payments</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,522</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 76,826</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 127,348</p></td></tr><tr><td style="vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">Less: imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,024</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:41.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt;">NPV for future minimum lease payments</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:19.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 71,802</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 71,802</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -URI http://asc.fasb.org/subtopic&amp;trid=77888251<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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>123
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6842042800">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>RESTRICTED NET ASSETS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract', window );"><strong>RESTRICTED NET ASSETS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestrictedAssetsDisclosureTextBlock', window );">RESTRICTED NET ASSETS</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">16.&#160;RESTRICTED NET ASSETS</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As stipulated by the relevant laws and regulations applicable to China&#8217;s foreign investment enterprise, the Company&#8217;s PRC subsidiaries are required to make appropriations from net income as determined under accounting principles generally accepted in the PRC (&#8220;PRC&#160;GAAP&#8221;) to non-distributable reserves, which include general reserve, enterprise expansion reserve and staff welfare and bonus reserve. The wholly-owned PRC subsidiaries are not required to make appropriations to the enterprise expansion reserve but appropriations to the general reserve are required to be made at not less than 10% of the profit after tax as determined under PRC GAAP. The board of directors determines the staff welfare and bonus&#160;reserve.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The general reserve is used to offset future losses. The PRC subsidiaries may, upon a resolution passed by the stockholder, convert the general reserve into capital. The staff welfare and bonus reserve is used for the collective welfare of the employee of the subsidiaries. The enterprise expansion reserve is for the expansion of the PRC subsidiaries&#8217; operations and can be converted to capital subject to approval by the relevant authorities. These reserves represent appropriations of the retained earnings determined in accordance with Chinese&#160;law.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">In addition to the general reserve, the Company&#8217;s PRC subsidiaries are required to obtain approval from the local PRC government prior to distributing any registered share capital. Accordingly, both the appropriations to general reserve and the registered share capital of the Company&#8217;s PRC subsidiaries are considered as restricted net assets amounting to $497.2 million as of December 31, 2019.</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_RestrictedAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for assets that are restricted in their use, generally by contractual agreements or regulatory requirements. This would include, but not limited to, a description of the restricted assets and the terms of the restriction.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract</td>
</tr>
<tr>
<td style="padding-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>124
<FILENAME>R118.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6832451664">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Financial Statement Schedule I (Details)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2019 </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="top.Show.showAR( this, 'defref_srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract', window );"><strong>Additional Information - Financial Statement Schedule I</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="top.Show.showAR( this, 'defref_us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries', window );">Restricted net assets of the entity's consolidated and unconsolidated subsidiaries not available for distribution</a></td>
<td class="nump">$ 497.2<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="top.Show.showAR( this, 'defref_csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries', window );">Threshold percentage of restricted net assets of the entity's consolidated and unconsolidated subsidiaries</a></td>
<td class="nump">25.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the threshold percentage of restricted net assets of the entity's consolidated and unconsolidated subsidiaries.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract</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:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of restricted net assets of consolidated and unconsolidated subsidiaries as of the end of the most recently completed fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(e)(3)(ii))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>125
<FILENAME>R110.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6832606256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENT INFORMATION (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>USD ($) </div>
<div>segment</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </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="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', 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="top.Show.showAR( this, 'defref_us-gaap_NumberOfReportableSegments', window );">Number of principal reportable business segments | segment</a></td>
<td class="nump">2<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="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationProfitLossAbstract', window );"><strong>Revenues and gross profit generated from each segment</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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">$ 3,200,583<span></span>
</td>
<td class="nump">$ 3,744,512<span></span>
</td>
<td class="nump">$ 3,390,393<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of revenues</a></td>
<td class="nump">2,482,086<span></span>
</td>
<td class="nump">2,969,430<span></span>
</td>
<td class="nump">2,752,795<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">718,497<span></span>
</td>
<td class="nump">775,082<span></span>
</td>
<td class="nump">637,598<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="nump">258,879<span></span>
</td>
<td class="nump">364,657<span></span>
</td>
<td class="nump">269,345<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating segment | MSS</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="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationProfitLossAbstract', window );"><strong>Revenues and gross profit generated from each segment</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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">2,582,635<span></span>
</td>
<td class="nump">2,413,889<span></span>
</td>
<td class="nump">2,850,859<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of revenues</a></td>
<td class="nump">1,934,062<span></span>
</td>
<td class="nump">1,923,131<span></span>
</td>
<td class="nump">2,390,686<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">648,573<span></span>
</td>
<td class="nump">490,758<span></span>
</td>
<td class="nump">460,173<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="nump">279,715<span></span>
</td>
<td class="nump">141,609<span></span>
</td>
<td class="nump">136,419<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating segment | Energy</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="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationProfitLossAbstract', window );"><strong>Revenues and gross profit generated from each segment</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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">719,445<span></span>
</td>
<td class="nump">1,575,594<span></span>
</td>
<td class="nump">677,470<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of revenues</a></td>
<td class="nump">635,716<span></span>
</td>
<td class="nump">1,302,779<span></span>
</td>
<td class="nump">473,453<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">83,729<span></span>
</td>
<td class="nump">272,815<span></span>
</td>
<td class="nump">204,017<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="num">(7,031)<span></span>
</td>
<td class="nump">211,539<span></span>
</td>
<td class="nump">159,518<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_IntersegmentEliminationMember', window );">Eliminations</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="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationProfitLossAbstract', window );"><strong>Revenues and gross profit generated from each segment</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="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="num">(101,497)<span></span>
</td>
<td class="num">(244,971)<span></span>
</td>
<td class="num">(137,936)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of revenues</a></td>
<td class="num">(87,692)<span></span>
</td>
<td class="num">(256,480)<span></span>
</td>
<td class="num">(111,344)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="num">(13,805)<span></span>
</td>
<td class="nump">11,509<span></span>
</td>
<td class="num">(26,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="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="num">$ (13,805)<span></span>
</td>
<td class="nump">$ 11,509<span></span>
</td>
<td class="num">$ (26,592)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_NumberOfReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportableSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130545-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130543-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingInformationProfitLossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingInformationProfitLossAbstract</td>
</tr>
<tr>
<td style="padding-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_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_ModuleSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_ModuleSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_EnergySegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_EnergySegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ConsolidationItemsAxis=us-gaap_IntersegmentEliminationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ConsolidationItemsAxis=us-gaap_IntersegmentEliminationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R114.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6930126128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>EMPLOYEE BENEFIT PLANS (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, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent', window );">Employer's contribution (as a percent)</a></td>
<td class="nump">16.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="top.Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanCostRecognized', window );">Defined contributions schemes expense</a></td>
<td class="nump">$ 11,738<span></span>
</td>
<td class="nump">$ 12,544<span></span>
</td>
<td class="nump">$ 9,412<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds', window );">Percentage of applicable salaries contributed by the employer for housing funds</a></td>
<td class="nump">8.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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_DefinedContributionPlanEmployerContributionAmount', window );">Amount of contribution by the employer for medical insurance benefits, housing funds, unemployment and other statutory benefits</a></td>
<td class="nump">$ 11,409<span></span>
</td>
<td class="nump">$ 11,211<span></span>
</td>
<td class="nump">$ 10,447<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits', window );">Percentage of applicable salaries contributed by the employer for medical insurance benefits</a></td>
<td class="nump">6.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="top.Show.showAR( this, 'defref_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits', window );">Percentage of applicable salaries contributed by the employer for unemployment benefits</a></td>
<td class="nump">0.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits', window );">Percentage of applicable salaries contributed by the employer for other statutory benefits</a></td>
<td class="nump">0.90%<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="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits', window );">Percentage of applicable salaries contributed by the employer for medical insurance benefits</a></td>
<td class="nump">8.50%<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="top.Show.showAR( this, 'defref_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits', window );">Percentage of applicable salaries contributed by the employer for unemployment benefits</a></td>
<td class="nump">0.70%<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="top.Show.showAR( this, 'defref_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits', window );">Percentage of applicable salaries contributed by the employer for other statutory benefits</a></td>
<td class="nump">2.50%<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_csiq_DefinedContributionPlanEmployerContributionAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of contributions made by an employer to the medical insurance benefits, housing funds, unemployment and other statutory benefits of a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DefinedContributionPlanEmployerContributionAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage of employees' applicable salaries for which the employer contributes to the housing funds of a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage of employees' applicable salaries for which the employer contributes to the medical insurance benefits of a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage of employees' applicable salaries for which the employer contributes to the other statutory benefits of a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage of employees' applicable salaries for which the employer contributes to the unemployment benefits of a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_DefinedContributionPlanCostRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cost for defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 70<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=49170846&amp;loc=d3e28014-114942<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanCostRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DefinedContributionPlanEmployerMatchingContributionPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>127
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp7009060160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>RELATED PARTY BALANCES AND TRANSACTIONS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsAbstract', window );"><strong>RELATED PARTY BALANCES AND 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="top.Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsDisclosureTextBlock', window );">RELATED PARTY BALANCES AND TRANSACTIONS</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">20.&#160;RELATED PARTY BALANCES AND TRANSACTIONS</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Related party balances</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The amount due from related parties of $31,232 as of December 31, 2019 consists of (i) trade receivable of $13,930 for development services provided to Roserock, the Company's 49% owned affiliate, (ii) cash funding of $16 to Pilipinas Newton Energy Corp, the Company's 40% owned affiliate, (iii) $17,284 receivable for solar power products sold to ET Solutions South Africa 1 Pty , the Company&#8217;s 49% owned affiliate. (iv) $2 receivable for asset management service provided to Canadian Solar Infrastructure Fund, Inc., the Company's 14.66% owned affiliate. No amount was due as of December 31, 2019.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The amount due to related parties of $10,077 as of December 31, 2019 consists of (i) a trade payable of $7,884 due to Suzhou iSilver Materials Co., Ltd., the Company&#8217;s 15% owned affiliate, for raw materials purchased, (ii) payable for equipment purchase of $2,138 to Suzhou Kzone Equipment Technology Co., Ltd, the Company's 32% owned affiliate obtained in September 2017, and (iii) payable of $55 for material purchased from Luoyang Jiwa New Material Technology Co., Ltd., the Company's 25% owned affiliate.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Related party transactions</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Guarantees and loans</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Dr.&#160;Shawn Qu, fully guaranteed one-year loan facilities from Chinese commercial banks of RMB1,346 million ($206 million), RMB1,270 million ($185 million) and RMB1,420 million ($204 million) in 2017, 2018 and 2019, respectively. Amounts drawn down under the facilities as at December 31, 2017, 2018 and 2019 were $135,225, $155,956 and $82,937 respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company granted 77,289, 83,805 and 26,691 restricted share units to Dr. Shawn Qu in 2017, 2018 and 2019, respectively, on account of his having guaranteed these loan facilities.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;text-decoration:underline;text-decoration-color:#000000;">Sales and purchase contracts with affiliates</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2019, the Company sold three solar power projects to CSIF, the Company&#8217;s 14.66% owned affiliate in Japan, in the amount of JPY 5,889,000 ($53,874) recorded in revenue.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2018, the Company sold 5 solar power projects to CSIF, the Company's 14.66% owned affiliate in Japan, in the amount of JPY12,276,404 ($109,597) recorded in revenue, and JPY89,238 ($836) recorded in other operating income, respectively. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2017, The Company sold 13 solar power projects to CSIF, the Company&#8217;s 14.66% owned affiliate in Japan, in the amount of JPY18,426,754 ($163,155) recorded in revenue and JPY3,148,648 ($27,879) recorded in other operating income, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2017, 2018 and 2019, the Company provided asset management service to CSIF in the amount of JPY303,772 ($2,699), JPY247,341($2,210) and JPY 281,094 ($2,573), respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2017, 2018 and 2019, the Company provided O&amp;M service to CSIF in the amount of JPY32,119 ($285), JPY122,529 ($1,105) and JPY 223,598 ($2,052), respectively. </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">20.&#160;RELATED PARTY BALANCES AND TRANSACTIONS (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2018 and 2019, the Company sold solar power products to ET Solutions South Africa 1 Pty, the Company's 49% owned affiliate in South Africa in the amount of RMB45,407 ($6,859) and ZAR586,832 ($40,970), respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2017, the Company sold solar power products to Gaochuangte in the amount of RMB11,352 ($1,648), before Gaochuangte became the Company&#8217;s 80% owned subsidiary. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2017, 2018 and 2019, the Company purchased raw materials from Suzhou iSilver Materials Co., Ltd , the Company&#8217;s 14.63% owned affiliate in China, in the amount of RMB331,958 ($49,113), RMB512,154 ($74,490) and RMB 350,590 ($50,359), respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2018 and 2019, the Company purchased equipment from Suzhou Kzone Equipment Technology Co., Ltd, the Company&#8217;s 32% owned affiliate in China, in the amount of RMB41,635 ($6,056) and RMB 61,174 ($8,787), respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">In 2017, the Company incurred costs of RMB44,271 ($6,430), to Gaochuangte for EPC services related to the Company's solar power projects, respectively. These amounts were recorded in project assets.</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -URI http://asc.fasb.org/topic&amp;trid=2122745<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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>128
<FILENAME>R122.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6841777072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (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, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_CondensedFinancialStatementsCaptionsLineItems', window );"><strong>Condensed Financial Statements</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="top.Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 166,555<span></span>
</td>
<td class="nump">$ 242,431<span></span>
</td>
<td class="nump">$ 102,983<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract', window );"><strong>Other comprehensive income (loss) (net of tax of nil):</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="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="nump">319<span></span>
</td>
<td class="num">(50,577)<span></span>
</td>
<td class="nump">39,305<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive income attributable to Canadian Solar Inc.</a></td>
<td class="nump">172,127<span></span>
</td>
<td class="nump">180,955<span></span>
</td>
<td class="nump">137,352<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember', window );">Reportable Legal Entities [Member] | Parent Company</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="top.Show.showAR( this, 'defref_srt_CondensedFinancialStatementsCaptionsLineItems', window );"><strong>Condensed Financial Statements</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="top.Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">171,585<span></span>
</td>
<td class="nump">237,070<span></span>
</td>
<td class="nump">99,572<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract', window );"><strong>Other comprehensive income (loss) (net of tax of nil):</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="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="nump">542<span></span>
</td>
<td class="num">(56,115)<span></span>
</td>
<td class="nump">37,780<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive income attributable to Canadian Solar Inc.</a></td>
<td class="nump">$ 172,127<span></span>
</td>
<td class="nump">$ 180,955<span></span>
</td>
<td class="nump">$ 137,352<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CondensedFinancialStatementsCaptionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_CondensedFinancialStatementsCaptionsLineItems</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:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=d3e557-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax, before reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 18<br> -URI http://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32157-110900<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32022-110900<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a-c)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669646-108580<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract</td>
</tr>
<tr>
<td style="padding-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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4591551-111686<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3000-108585<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569616-111683<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4591552-111686<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_srt_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ConsolidationItemsAxis=srt_ReportableLegalEntitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_ParentCompanyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ParentCompanyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>129
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6841807312">
<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, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_InventoryDisclosureTextBlock', window );">INVENTORIES</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">4.&#160;INVENTORIES</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Inventories consist of the following:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Raw materials</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,759</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 75,722</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Work-in-process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 46,817</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 74,105</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Finished goods</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 167,446</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 404,243</p></td></tr><tr><td style="vertical-align:bottom;width:64.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 262,022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 554,070</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">In 2017, 2018 and 2019, inventory was written down by $17,820, $14,646 and $19,447, respectively, to reflect the lower of cost and net realizable value.</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_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI http://asc.fasb.org/topic&amp;trid=2126998<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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>130
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp7009064576">
<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, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNetAbstract', 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="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsDisclosureTextBlock', window );">INTANGIBLE ASSETS, NET</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">8.&#160;INTANGIBLE ASSETS, NET</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s intangible assets:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">At December&#160;31, 2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Technical know-how</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,428</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,425)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3</p></td></tr><tr><td style="vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Computer software </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38,205</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (15,417)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,788</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total intangible assets, net </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,633</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (16,842)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,791</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">At December&#160;31, 2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Technical know-how</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,369</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,458)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 911</p></td></tr><tr><td style="vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Computer software </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,882</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (11,890)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,992</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:62.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total intangible assets, net </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,251</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (13,348)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,903</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Amortization expense for the years ended December 31, 2017, 2018 and 2019 were $4,659, $4,666 and $5,310, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Amortization expenses of the above intangible assets are expected to be approximately $4.4&#160;million, $3.6&#160;million, $3.1&#160;million, $2.5&#160;million and $9.2&#160;million for the years ended December&#160;31, 2020, 2021, 2022, 2023, 2024 and thereafter, 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_FiniteLivedIntangibleAssetsNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -URI http://asc.fasb.org/topic&amp;trid=2144416<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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>131
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6856070192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</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="top.Show.showAR( this, 'defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock', window );">Basis of presentation</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(a)&#160;&#160;&#160;Basis of presentation</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The consolidated financial statements of the Company have been prepared in accordance with U.S.&#160;generally accepted accounting principles (&#8220;U.S.&#160;GAAP&#8221;).</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="top.Show.showAR( this, 'defref_us-gaap_ConsolidationPolicyTextBlock', window );">Basis of consolidation</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(b)&#160;&#160;&#160;Basis of consolidation</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The consolidated financial statements include the financial statements of the Company and its subsidiaries in which it has a controlling financial interest or variable interest entities (&#8220;VIEs&#8221;) for which the Company is a primary beneficiary. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">A controlling financial interest is typically determined when a company holds a majority of the voting equity interest in an entity. All intercompany balances and transactions between the Company and its subsidiaries have been eliminated in consolidation.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company consolidates VIEs when the Company is the primary beneficiary. VIEs are entities that lack sufficient equity to finance their activities without additional financial support from other parties or whose equity holders, as a group, lack one or more of the following characteristics: (a) direct or indirect ability to make decisions; (b) obligation to absorb expected losses; or (c) right to receive expected residual returns. VIEs must be evaluated quantitatively and qualitatively to determine the primary beneficiary, which is the reporting entity that has (a) the power to direct activities of a VIE that most significantly impact the VIEs economic performance and (b) the obligation to absorb losses of the VIE that could potentially be significant to the VIE or the right to receive benefits from the VIE that could potentially be significant to the VIE. The primary beneficiary is required to consolidate the VIE for financial reporting purposes. A VIE can have only one primary beneficiary, but may not have a primary beneficiary if no party meets the criteria described above.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">When evaluating whether the Company is the primary beneficiary of a VIE, and must therefore consolidate the entity, the Company performs a qualitative analysis that considers the design of the VIE, the nature of its involvement and the variable interests held by other parties. If that evaluation is inconclusive as to which party absorbs a majority of the entity&#8217;s expected losses or residual returns, a quantitative analysis is performed to determine the primary beneficiary.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For the Company's consolidated VIEs, the Company has presented in note 10, to the extent material, the assets of its consolidated VIEs that can only be used to settle specific obligations of the consolidated VIE, and the liabilities of its consolidated VIEs for which creditors do not have recourse to its general assets outside of the consolidated VIE. All intercompany accounts and transactions between the Company and its consolidated VIEs have been eliminated in consolidation.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of estimates</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(c)&#160;&#160;&#160;Use of estimates</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The preparation of consolidated financial statements in conformity with U.S. GAAP requires the Company to make estimates and assumptions that affect reported amounts of assets and liabilities, disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates. Significant accounting estimates reflected in the Company&#8217;s consolidated financial statements include revenue recognition for sales of solar power projects, EPC and development services accounted for under a cost-based input method, allowance for doubtful accounts receivable and advances to suppliers, valuation of inventories and provision for firm purchase commitments, provision for contingent liability, impairment of long-lived assets and project assets, the estimated useful lives of long-lived assets, determination of assets retirement obligation (&#8220;ARO&#8221;), discount rates used to measure operating lease liabilities, accrual for warranty and the recognition of the benefit from the purchased warranty insurance, fair value estimate of financial instruments including warrants and other types of derivative, accrual for uncertain tax positions, valuation allowances for deferred tax assets, applying acquisition method of accounting to business acquisitions and the grant-date fair value of share-based compensation awards and related forfeiture rates.</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="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy', window );">Cash and cash equivalents and restricted cash</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(d)&#160;&#160;&#160;Cash and cash equivalents and restricted cash</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Cash and cash equivalents are stated at cost, which approximates fair value. Cash and cash equivalents consist of cash on hand and demand deposits, which are unrestricted as to withdrawal and use, and have original maturities of three months or less when&#160;acquired.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Restricted cash represents amounts held by banks, which are not available for the Company&#8217;s general use, as security for issuance of letters of credit, short-term notes payable and bank borrowings. Upon maturity of the letters of credit, repayment of short-term notes payable or bank borrowings, the deposits are released by the bank and become available for general use by the&#160;Company.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></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="top.Show.showAR( this, 'defref_us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy', window );">Accounts receivable, unbilled</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(e)&#160;&#160;&#160;Accounts receivable, unbilled</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Accounts receivable, unbilled represents a contract asset for revenue that has been recognized in advance of billing the customer. The Company uses a cost-based input method to recognize revenue from EPC and development services when all relevant revenue recognition criteria have been met. Under this accounting method, revenue may be recognized in advance of billing the customer, which results in the recording of accounts receivable, unbilled. Once the Company meets the billing criteria under such contract, the rights to consideration becomes unconditional, it bills the customer and reclassifies the unbilled balance to accounts receivable trade. Billing requirements vary by contract, but are generally structured around completion of certain construction milestones.</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="top.Show.showAR( this, 'defref_csiq_AllowanceForDoubtfulAccountsPolicyTextBlock', window );">Allowance for doubtful receivables</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(f)&#160;&#160;&#160;&#160;Allowance for doubtful receivables</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company began purchasing insurance from China Export&#160;&amp; Credit Insurance Corporation ("Sinosure") since 2009 for certain of its accounts receivable trade in order to reduce its exposure to bad debt loss. The Company provides an allowance for accounts receivable trade using primarily a specific identification methodology. An allowance is recorded based on the likelihood of collection from the specific customer regardless whether such account is covered by Sinosure. At the time the claim is made to Sinosure, the Company records a receivable from Sinosure equal to the expected recovery up to the amount of the specific allowance. The Company had recorded a receivable from Sinosure in prepaid expenses and other current assets of $164 and $166 as of December 31, 2018 and 2019, respectively and a corresponding reduction in bad debt&#160;expense.</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="top.Show.showAR( this, 'defref_csiq_AdvancesToSuppliersPolicyTextBlock', window );">Advances to suppliers</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(g)&#160;&#160;&#160;Advances to suppliers</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company makes prepayments to certain suppliers and such amounts are recorded in advances to suppliers in the consolidated balance sheets. Advances to suppliers expected to be utilized within twelve months as of each balance sheet date are recorded as current assets and the portion expected to be utilized after twelve months are classified as non-current assets in the consolidated balance&#160;sheets.</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="top.Show.showAR( this, 'defref_us-gaap_InventoryPolicyTextBlock', window );">Inventories</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(h)&#160;&#160;&#160;Inventories</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Inventories are stated at the lower of cost or net realizable value. Cost is determined by the weighted-average method. Cost of inventories consists of direct materials and, where applicable, direct labor costs, tolling costs and those overhead costs that have been incurred in bringing the inventories to their present location and condition.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Adjustments are recorded to write down the cost of obsolete and excess inventories to the estimated net realizable value based on historical and forecast demand. </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></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="top.Show.showAR( this, 'defref_csiq_ProjectAssetsPolicyTextBlock', window );">Project assets</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(i)&#160;&#160;&#160;&#160;Project assets</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="white-space:pre-wrap;">Project assets consist primarily of capitalized costs relating to solar power projects in various stages of development prior to the intended sale of the solar power projects to a third party. These costs include certain acquisition costs, land costs and costs for developing and constructing a solar power system. Development costs can include legal, consulting, permitting, and other similar costs. Construction costs can include execution of field construction, installation of solar equipment, solar modules and related equipment. Interest costs incurred on debt during the construction phase and all deferred financing costs amortized during the construction phase are also capitalized within project assets.  </span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="white-space:pre-wrap;">Solar power projects are preliminarily classified as project assets unless the Company has intention not to sell them to third parties. In that case, they will be classified as solar power systems on the balance sheet. During the development phase, solar power projects are accounted for in accordance with the recognition, initial measurement and subsequent measurement subtopics of ASC 970- 360, as they are considered in substance real estates. The costs to construct solar power projects are presented as operating activities or investing activities in the consolidated statement of cash flows, if they are related to project assets or solar power systems, respectively. While the solar power projects are in the development phase, they are generally classified as non-current assets, unless it is anticipated that the sale will occur within one year.  Appropriateness of the classification of the solar power projects is assessed based on the circumstances on each balance sheet date. Solar power projects that the Company intends to sell within one year, which meet the criteria of ASC 360, are classified as project assets-current. Solar power projects that the Company intends to hold and operate to generate electricity are still classified as solar power systems. </span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company reviews project assets for impairment whenever events or changes in circumstances indicate that the carrying amount may not be recoverable. The Company considers a project commercially viable or recoverable if it is anticipated to be sold for a profit once it is either fully developed or fully constructed. The Company considers a partially developed or partially constructed project commercially viable or recoverable if the anticipated selling price is higher than the carrying value of the related project assets. The Company examines a number of factors to determine if the project will be recoverable, the most notable of which include whether there are any changes in environmental, ecological, permitting, market pricing or regulatory conditions that impact the project. Such changes could cause the costs of the project to increase or the selling price of the project to decrease. If a project is not considered recoverable, the Company impairs the respective project assets and adjusts the carrying value to the estimated recoverable amount, with the resulting impairment recorded within operations.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Project assets are often held in separate legal entities which are formed for the special purpose of constructing the project assets, which the Company refers to as &#8220;project companies&#8221;. The Company consolidates project companies as described in note 2 (b) above. The cash paid to the non-controlling interest in connection with disposal of such project companies was recorded as a financing activity in the consolidated statement of cash flows.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">The Company does not depreciate the project assets. Any revenue generated from a solar power system connected to the grid would be considered incidental revenue and accounted for as a reduction of the capitalized project costs for development.  If circumstances change, and the Company will begin to operate the project assets for the purpose of generating income from the sale of electricity, the project assets will be reclassified to solar power systems.</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationsPolicy', window );">Business combination</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(j)&#160;&#160;&#160;&#160;Business combination</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Business combinations are recorded using the acquisition method of accounting and, accordingly, the acquired assets and liabilities are recorded at their fair market value at the date of acquisition. Any excess of acquisition cost over the fair value of the acquired assets and liabilities, including identifiable intangible assets, is recorded as goodwill. The Company charges acquisition related costs that are not part of the purchase price consideration to general and administrative expenses as they are incurred. These costs typically include transaction and integration costs, such as legal, accounting, and other professional fees. </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="top.Show.showAR( this, 'defref_csiq_AssetsAcquisitionPolicyTextBlock', window );">Assets acquisition</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(k)&#160;&#160;&#160;Assets acquisition</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">When the Company acquires other entities, if the assets acquired and liabilities assumed do not constitute a business, the transaction is accounted for as an asset acquisition. Assets are recognized based on the cost, which generally includes the transaction costs of the asset acquisition, and no gain or loss is recognized unless the fair value of noncash assets given as consideration differs from the assets&#8217; carrying amounts on the Company&#8217;s books. If the consideration given is not in the form of cash (that is, in the form of noncash assets, liabilities incurred, or equity interests issued), measurement is based on either the cost to the acquiring entity or the fair value of the assets (or net assets) acquired, whichever is more clearly evident and, thus, more reliably measurable. The cost of a group of assets acquired in an asset acquisition is allocated to the individual assets acquired or liabilities assumed based on their relative fair value and does not give rise to goodwill.</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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property, plant and equipment</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(l)&#160;&#160;Property, plant and equipment</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Property, plant and equipment is recorded at cost less accumulated depreciation. The cost of property, plant and equipment comprises its purchase price and any directly attributable costs, including interest costs capitalized during the period the asset is brought to its working condition and location for its intended use. The Company expenses repair and maintenance costs as&#160;incurred.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Depreciation is computed on a straight-line basis over the following estimated useful&#160;lives:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Buildings</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">20 years</p></td></tr><tr><td style="vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;width:48.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Over the shorter of the lease term or their estimated useful lives</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Machinery</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_wCQYZoz750uAEDFs_tX9Mg"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">5</span></span>-10 years</p></td></tr><tr><td style="vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Furniture, fixtures and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">5 years</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:top;width:48.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Motor vehicles</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">5 years</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Costs incurred in constructing new facilities, including progress payments, capitalized interests and other costs relating to the construction, are capitalized and transferred to property, plant and equipment on completion and depreciation commences from that&#160;time.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For property, plant and equipment that has been placed into service, but is subsequently idled temporarily, the Company continues to record depreciation expense during the idle period. The Company adjusts the estimated useful life of the idled assets if the estimated useful life has&#160;changed.</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="top.Show.showAR( this, 'defref_csiq_SolarPowerSystemsPolicyPolicyTextBlock', window );">Solar power systems</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(m)&#160;&#160;&#160;Solar power systems</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="white-space:pre-wrap;">Solar power systems are comprised of ground-mounted projects and roof top systems that the Company intends to hold for use. The solar power systems are stated at cost less accumulated depreciation.  The cost consists primarily of direct costs incurred in various stages of development prior to the commencement of operations. For a self-developed solar power system, the actual cost capitalized is the amount of the expenditure incurred for the application of the feed-in tariff (&#8216;&#8216;FIT&#8217;&#8217;) or other similar contracts, permits, consents, construction costs, interest costs capitalized, and other costs capitalized. For a solar power system acquired from third parties, the initial costs include the consideration transferred and certain direct acquisition costs.  Expenditures for major additions and improvements are capitalized and minor replacements, maintenance, and repairs are charged to expense as incurred. </span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">When solar power systems is retired, or otherwise disposed of, the cost and accumulated depreciation is removed from the balance sheets and any resulting gain or loss is included in the results of operations for the respective period. Depreciation is recognized using the straight-line method over the estimated useful lives of the solar power systems of <span style="-sec-ix-hidden:Hidden_9fnvDhRg006UIcqPOGt6AQ"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">20</span></span> to 25 years.</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="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy', window );">Intangible assets</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(n)&#160;&#160;&#160;Intangible assets</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Intangible assets primarily represent the technical know-how and computer software purchased from third parties. Intangible assets are recorded at fair value at the time of acquisition less accumulated amortization, if applicable. Amortization is recorded according to the following table on a straight-line basis for all intangible assets:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:79.99%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:49.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:48.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:49.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Technical know-how</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:48.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">10 years</p></td></tr><tr><td style="vertical-align:bottom;width:49.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Computer software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:48.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_DzwZBiVHl02oSzavGfXqEg"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">1</span></span>-10 years</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_PrepaymentForLandUseRightPolicyTextBlock', window );">Prepaid land use rights</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(o)&#160;&#160;&#160;Prepaid land use rights</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Prepaid land use rights, in substance right-of-use assets recorded according to ASC 842 from January 1, 2019, represent amounts paid for the use right of lands located in China (&#8220;PRC&#8221;) and Japan. Amounts are charged to earnings ratably over the lease periods of <span style="-sec-ix-hidden:Hidden_7NBhpV-8hEejJzqz3LlyIw"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">20</span></span> to 50 years.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentsPolicy', window );">Investments in affiliates</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(p)&#160;&#160;&#160;&#160;Investments in affiliates</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company uses the equity method of accounting for the investments. The Company records the equity method investments at historical cost and subsequently adjusts the carrying amount each period for share of the earnings or losses of the investee and other adjustments required by the equity method of accounting. Dividends received from the equity method investments are recorded as reductions in the cost of such investments. The amount associated with the share of earnings are considered as return of investment, and the rest received amount are considered as return on investment.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Investments are evaluated for impairment when facts or circumstances indicate that the fair value of the investment is less than its carrying value. An impairment is recognized when a decline in fair value is determined to be other-than-temporary. The Company reviews several factors to determine whether a loss is other-than-temporary. These factors include, but are not limited to, the: (i)&#160;nature of the investment; (ii)&#160;cause and duration of the impairment; (iii)&#160;extent to which fair value is less than cost; (iv)&#160;financial conditions and near term prospects of the affiliates; and (v)&#160;ability to hold the security for a period of time sufficient to allow for any anticipated recovery in fair value. During the years ended December 31, 2017, 2018 and 2019, the Company recorded $3,686, $5,738 and nil impairment charges on its investments, respectively.</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="top.Show.showAR( this, 'defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock', window );">Impairment of long-lived assets</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(q)&#160;&#160;&#160;&#160;Impairment of long-lived assets</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company assesses the recoverability of the carrying value of long-lived assets when an indicator of impairment has been identified. The Company reviews the long-lived assets each reporting period to assess whether impairment indicators are present. For purposes of recognition and measurement of an impairment loss, a long-lived asset or assets is grouped with other assets and liabilities at the lowest level for which identifiable cash flows are largely independent of the cash flows of other assets and liabilities. For long-lived assets, when impairment indicators are present, the Company compares undiscounted future cash flows, including the eventual disposition of the asset group at market value, to the asset group&#8217;s carrying value to determine if the asset group is recoverable. Assessments also consider changes in asset group utilization, including the temporary idling of capacity and the expected timing of placing this capacity back into production. If the sum of the expected undiscounted cash flows is less than the carrying amount of the assets, the Company will recognize an impairment loss based on the fair value of the assets. The Company recorded impairment charges for long-lived assets of $11,626, $30,968 and $21,866 for the years ended December 31, 2017, 2018 and 2019, 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="top.Show.showAR( this, 'defref_us-gaap_InterestCapitalizationPolicyPolicyTextBlock', window );">Interest capitalization</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(r)&#160;&#160;&#160;&#160;Interest capitalization</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company capitalizes interest costs as part of the historical costs of acquiring or constructing certain assets during the period of time required to get the assets ready for their intended use or sell the asset to a customer. The Company capitalizes interest costs to the extent that expenditures to acquire, construct, or develop an asset have occurred and interest costs have been incurred. Interest capitalized for property, plant and equipment, or solar power systems is depreciated over the estimated useful life of the related asset, as the qualifying asset is placed into service. The interest capitalized for project assets forms part of the cost of revenues when such project assets are sold and all revenue recognition criteria are met. Interest capitalization ceases once a project is substantially complete or no longer undergoing construction activities to prepare it for its intended use.</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="top.Show.showAR( this, 'defref_us-gaap_AssetRetirementObligationsPolicy', window );">Assets retirement obligation</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(s)&#160;&#160;&#160;Assets retirement obligation</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Certain jurisdictions in which the Company's project assets are located or certain land lease agreements require the removal of the solar power systems when the project is decommissioned. Assets retirement obligation (&#8220;ARO&#8221;) for the estimated costs of decommissioning associated with long-lived assets at a future date are accounted for in accordance with ASC 410-20, Asset Retirement Obligations (&#8220;ASC 410-20&#8221;). ASC 410-20 requires an entity to recognize the fair value of a liability for an ARO in the period in which it is incurred and a reasonable estimate of fair value can be made. Upon initial recognition of a liability for an ARO, the asset retirement cost is capitalized by increasing the carrying amount of the related long-lived asset by the same amount. Over time, the liability is accreted to its expected future value, while the capitalized cost is depreciated over the useful life of the related asset. The Company's ARO included in solar power systems were $43 and $26 as of December 31, 2018 and 2019, 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="top.Show.showAR( this, 'defref_us-gaap_LesseeLeasesPolicyTextBlock', window );">Leases</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(t)&#160;&#160;&#160;Leases</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Effective January 1, 2019, the Company adopted Accounting Standards Update ("ASU") No. 2016-02, Leases (Topic 842), as amended ("ASC 842") for its lease arrangements, which were recorded under ASC 840, Leases, before implementation. Upon adoption of ASC 842, the Company elected to use the remaining lease term as of January 1, 2019 in the estimation of the applicable discount rate for leases that were in place at adoption. For the initial measurement of the lease liability for leases commencing after January 1, 2019, the Company use the discount rate as of the commencement date of the lease, incorporating the entire lease term. The Company, as a lessee, has both finance and operating lease arrangements. Right-of-use ("ROU") assets and operating lease liabilities on the consolidated balance sheets include operating lease agreements. Finance lease agreements are recorded in property, plant and equipment, other payables and other non-current liabilities on the consolidated balance sheets. Lease liabilities that become due within one year of the balance sheet date are classified as current liabilities. The Company elected the practical expedient to combine the lease and related non-lease components for all existing leases.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company determines if an arrangement is a lease at inception. Leases are classified as operating or finance leases in accordance with the recognition criteria in ASC 842-20-25. At the commencement date of a lease, the Company determines the classification of the lease based on the relevant factors and presents and records a right-of- use ("ROU") asset and lease liability. ROU assets represent the right to use an underlying asset for the lease term and lease liabilities represent the obligation to make lease payments arising from the lease. ROU assets and lease liabilities are calculated as the present value of the lease payments not yet paid. Variable lease payments are excluded from the ROU asset and lease liability calculations and are recognized in the period which the obligations for those payments are incurred. Operating lease ROU assets also include any lease prepayments made, initial direct costs and deferred rent if any and exclude lease incentives. As the rate implicit in the Company&#8217;s operating leases is not typically readily available, the Company uses an incremental borrowing rate based on the information available at the lease commencement date in determining the present value of lease payments. Some of the Company&#8217;s lease agreements include options to extend or terminate the lease, which are not included in its minimum lease terms unless they are reasonably certain to be exercised. All operating lease expenses are fixed, which are accounted for on a straight-line basis over the lease term and that of finance lease include interest and amortization expenses incurred during the current year.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company's leases do not contain any material residual value guarantees or material restrictive covenants. Leases with an initial lease term of 12 months or less are not recorded on the consolidated balance sheet.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For finance leases, the amortization of the asset is recognized over the shorter of the lease term or useful life of the underlying asset within depreciation and amortization expense and other expenses from managed and franchised properties in consolidated statements of operations. The interest expense related to finance leases, including any variable lease payments, is recognized in interest expense in consolidated statements of operations.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company assesses ROU assets for impairment quarterly. When events or circumstances indicate the carrying value may not be recoverable, the Company evaluates the net book value of the asset for impairment by comparison to the projected undiscounted future cash flows. If the carrying value of the asset is determined to not be recoverable and is in excess of the estimated fair value, the Company recognizes an impairment charge in asset impairments on its consolidated statements of income.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesPolicyTextBlock', window );">Contingencies</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(u)&#160;&#160;&#160;Contingencies</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Liabilities for loss contingencies arising from claims, assessments, litigation, fines, and penalties and other sources are recorded when it is probable that a liability has been incurred and the amount can be reasonably estimated. If a potential material loss contingency is not probable but is reasonably possible, or is probable but the amount cannot be estimated, then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, is disclosed. Legal costs incurred in connection with loss contingencies are expensed as&#160;incurred.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></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="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income taxes</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(v)&#160;&#160;Income taxes</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Deferred income taxes are recognized for temporary differences between the tax basis of assets and liabilities and their reported amounts in the financial statements, net tax loss carry-forwards and credits using the enacted tax rates expected to apply to taxable income in the periods in which the deferred tax liability or asset is expected to be settled or realized. Deferred tax assets are reduced by a valuation allowance when it is more likely than not that some portion or all of the deferred tax assets will not be realized. Current income taxes are provided for in accordance with the laws of the relevant taxing authorities.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Income tax expense includes (i) deferred tax expense, which generally represents the net change in the deferred tax asset or liability balance during the year plus any change in valuation allowances; (ii) current tax expense, which represents the amount of tax payable to or receivable from a taxing authority; and (iii) non-current tax expense, which represents the increases and decreases in amounts related to uncertain tax positions from prior periods and not settled with cash or other tax attributes. The Company only recognizes tax benefits related to uncertain tax positions when such positions are more likely than not of being sustained upon examination. For such positions, the amount of tax benefit that the Company recognizes is the largest amount of tax benefit that is more than fifty percent likely of being sustained upon the ultimate settlement of such uncertain tax position. The Company records penalties and interests associated with the uncertain tax positions as a component of income tax expense. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">The Company uses the flow-through method to account for investment tax credits earned on qualifying projects placed into service. Under this method the investment tax credits are recognized as a reduction to income tax expense in the year the credit arises.  The use of the flow-through method also results in a basis difference from the recognition of a deferred tax liability and an immediate income tax expense for reduced future tax depreciation of the related assets. Such basis differences are accounted for pursuant to the income statement method.</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock', window );">Revenue recognition</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(w)&#160;&#160;&#160;Revenue recognition</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company recognizes revenue when it satisfies a performance obligation by transferring a promised good or service to a customer.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Solar power products and materials</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Solar power products, including solar modules, other solar power products, solar system kits and materials related to solar power products are transferred at a point in time when the customer obtains control of the products, which is typically upon shipment or delivery depending on the contract terms. Revenues of solar product sales also include reimbursements received from customers for shipping and handling costs. Sales agreements typically contain the assurance-type customary product warranties but do not contain any post-shipment obligations nor any return or credit provisions, see note 2 (aa) for the Company&#8217;s accounting policy for warranty. </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company assessed whether it is probable that the Company will collect substantially all of the consideration to which it will be entitled in exchange for the products that will be transferred to the customer. As of December 31, 2018 and 2019, the Company had inventories of $9.0&#160;million and $7.7&#160;million, respectively, relating to sales to customers where revenues were not recognized because the collection of payment was determined to be not probable. The delivered products remain as inventories on consolidated balance sheets, regardless of whether the control has been transferred. If the collection of payment becomes probable in the future, the Company would then recognize revenue, adjust inventories and recognize cost of revenues. </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">O&amp;M services</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">O&amp;M services are transferred over time when customers receive and consume the benefits provided by the Company&#8217;s performance under the terms of service arrangements. Revenues from O&amp;M services are recognized overtime based on the work completed to date which does not require re-performances and the costs of O&amp;M services are expensed when incurred.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">EPC and development services</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">The Company recognizes revenue for sales of EPC and development services over time based on the estimated progress to completion using a cost-based input method. In applying the cost-based input method of revenue recognition, the Company use the actual costs incurred relative to the total estimated costs to determine the Company&#8217;s progress towards contract completion and to calculate the corresponding amount of revenue and gross profit to recognize. Cost-based input method of revenue recognition is considered a faithful depiction of the Company&#8217;s efforts to satisfy EPC and development services contracts and therefore reflect the transfer of goods or services to a customer under such contracts. Costs incurred towards contract completion may include costs associated with direct materials, labor, subcontractors, and other indirect costs related to contract performance. The cost-based input method of revenue recognition requires the Company  to make estimates of net contract revenues and costs to complete the Company&#8217;s projects. In making such estimates, significant judgment is required to evaluate assumptions related to the amount of net contract revenues, including the impact of any performance incentives, liquidated damages, and other payments to customers. Significant judgment is also required to evaluate assumptions related to the costs to complete the Company&#8217;s projects, including materials, labor, contingencies, and other system costs. If estimated total costs of any contract are greater than the estimated net revenues, of the contract, the Company recognizes the entire estimated loss in the period the loss becomes known. The cumulative effect of revisions to estimates related to net contract revenues and costs to complete contracts, including penalties, claims, change orders, performance incentives, anticipated losses, and others are recorded in the period in which revisions to estimates are identified and the amounts can be reasonably estimated. </span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Solar power projects</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Sales of solar power projects are recognized at a point in time when customers obtain control of solar power projects. For sales of solar power projects in which the company obtains an interest in the project sold to the customer, the Company recognizes all of the revenue for the consideration received, including the fair value of the non-controlling interest the Company obtained, and defer any profit associated with the interest obtained.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Electricity revenue</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Electricity revenue is generated primarily by the Company&#8217;s solar power plants under long-term PPAs and performance based energy incentives. For electricity sold under PPAs, the Company recognizes electricity revenue based on the price stated in the PPAs when electricity has been generated and transmitted to the grid. Performance-based energy incentives are awarded under certain state programs for the delivery of renewable electricity when the conditions attached to it have been met and there is reasonable assurance that the incentives will be received. During the years ended December 31, 2017, 2018 and 2019, the Company recognized performance-based energy incentives of $10.9 million, $4.7 million, and $3.9 million, respectively, related to electricity generated and recognized in revenue.</p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Disaggregation of Revenue</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The table represents a disaggregation of revenue from contracts with customers for the years ended December 31, 2017, 2018, and 2019. See Segment Information Note 22 for details of revenues generated from each product or service and revenues generated from different geographic locations.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table represents a disaggregation of revenue recognized at a point in time or over time:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">MSS:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue recognized at a point in time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,705,985</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,095,743</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,238,310</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue recognized over time</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,938</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,175</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 242,828</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Energy:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue recognized at a point in time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 633,195</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,542,906</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 668,476</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Revenue recognized over time</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,275</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,688</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,969</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,390,393</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,744,512</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,200,583</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;text-decoration:underline;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The Company&#8217;s contract assets and liabilities are as follow:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:12.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;width:12.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,<br/>2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;width:12.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December31,<br/>2019</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fluctuation</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:40.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars)</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Contract Assets</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Accounts receivables, unbilled</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 38</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,256</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,218</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Contract Liabilities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Advances from customers</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,024</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 134,806</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 95,782</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Other current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,381</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,917</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (30,464)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 90,405</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 155,723</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 65,318</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;text-decoration:underline;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For the year ended December 31, 2019, $62.0 million revenue is recognized from the beginning balance of contract liabilities as of January 1, 2019. Contract liabilities of $155.7 million as of December 31, 2019 are expected to be realized within one year.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Practical Expedients and Exemptions</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company applies the new revenue standard requirements to a portfolio of contracts (or performance obligations) with similar characteristics for transactions where it is expected that the effects on the financial statements of applying the revenue recognition guidance to the portfolio would not differ materially from applying this guidance to the individual contracts (or performance obligations) within that portfolio. Therefore, the Company has elected the portfolio approach in applying the new revenue guidance.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company has made an accounting policy election to not assess whether promised products are performance obligations if they are immaterial in the context of the contract with the customer. If the revenue related to a performance obligation that includes products that are immaterial in the context of the contract is recognized before those immaterial products are transferred to the customer, then the related costs to transfer those products are accrued.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company does not disclose the value of unsatisfied performance obligations for (i) contracts with an original expected length of one year or less and (ii) contracts for which the Company recognizes revenue at the amount to which it has the right to invoice for services performed.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company generally expenses incremental costs of obtaining a contract when incurred because the amortization period would be less than one year. The incremental costs are recorded in operating expense. Incremental costs of obtaining a contract with an amortization period more than one year are not material to the Company.</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="top.Show.showAR( this, 'defref_csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock', window );">Shipping and handling costs</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(x)&#160;&#160;&#160;Shipping and handling costs</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Payments received from customers for shipping and handling costs are included in net revenues. Shipping and handling costs relating to sales of $79,853, $69,855 and $88,079, are included in selling expenses for the years ended December 31, 2017, 2018 and 2019, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpensePolicy', window );">Research and development</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(y)&#160;&#160;&#160;&#160;Research and development</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Costs related to the design, development, testing and enhancement of products and silicon reclamation program are included in research and development expenses. Research and development costs are expensed when incurred and amounted to $28,777, $44,193 and $47,045 for the years ended December 31, 2017, 2018 and 2019, respectively.</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="top.Show.showAR( this, 'defref_csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock', window );">Other operating income, net</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(z)</span><b style="font-weight:bold;">&#160;</b><span style="font-style:italic;font-weight:bold;">Other operating income, net</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Other operating income, net primarily consists of gains or losses on disposal of solar power systems and property, plant and equipment, and government grants received, and compensation from business interruption insurance.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Government grants received by the Company consist of unrestricted and restricted grants and subsidies. Unrestricted grants that allowed the Company&#8217;s full discretion in utilizing the funds are recognized as other operating income upon receipt of cash and when all the conditions for their receipt have been satisfied. Restricted grants related to prepaid land use rights, property, plants and equipment and certain projects, are recorded as deferred subsidies in other non-current liabilities and are amortized on a straight-line basis over the term of related assets.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company&#8217;s other operating income, net:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:29.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net gain on disposal of solar power system</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (27,803)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (36,098)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,666)</p></td></tr><tr><td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net loss on disposal of property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,960</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,565</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,227</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Government grants</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (6,473)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (11,013)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (10,097)</p></td></tr><tr><td style="vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Business interruption insurance compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (15,238)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> &#8212;</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (47,554)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (44,546)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (10,536)</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyPolicy', window );">Warranty cost</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aa)&#160;Warranty cost</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Before June 2009, the Company typically sold its standard solar modules with a two-year guarantee for defects in materials and workmanship and a 10-year and 25-year warranty against declines of more than 10% and 20%, respectively, from the initial minimum power generation capacity at the time of delivery. In June 2009, the Company increased its guarantee for defects in materials and workmanship to six years. In August 2011, the Company increased its guarantee for defects in materials and workmanship to ten years.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In 2019, the Company increased its guarantee for defects in materials and workmanship up to twelve years and the Company warrant that, for a period of 25 years, its standard polycrystalline modules will maintain the following performance levels: (i) during the first year, the actual power output of the module will be no less than 97.5% of the labeled power output; (ii) from the second year to the 24th year, the actual annual power output decline of the module will be no more than 0.7%; and (iii) by the end of the 25th year, the actual power output of the module will be no less than 80.7% of the labeled power output.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company has lengthened the warranty against decline in performance for its bifacial module and double glass module products to 30 years.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For solar power projects built by the Company, the Company provides a limited workmanship or balance of system warranty against defects in engineering design, installation and construction under normal use, operation and service conditions for a period of up to ten years following the energizing of the solar power project. In resolving claims under the workmanship or balance of system warranty, the Company has the option of remedying through repair, refurbishment or replacement of equipment. The Company has entered into similar workmanship warranties with its suppliers to back up its&#160;warranties.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company maintains warranty reserves to cover potential liabilities that could arise under these guarantees and warranties. Due to limited warranty claims to date, the Company accrues the estimated costs of warranties based on an assessment of its competitors&#8217; and its own actual claim history, industry-standard accelerated testing, estimates of failure rates from the Company&#8217;s quality review, and other assumptions that the Company believes to be reasonable under the circumstances. Actual warranty costs are accumulated and charged against the accrued warranty liability. To the extent that accrual for warranty costs differs from the estimates, the Company will prospectively revise its accrual rate. The Company currently records a 1% warranty provision against the revenue for sales of solar power&#160;products.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company has entered into agreements with a group of insurance companies with high credit ratings to back up its warranties. Under the terms of the insurance policies, which are designed to match the terms of the Company&#8217;s solar&#160;module product warranty policy, the insurance companies are obliged to reimburse the Company, subject to certain maximum claim limits and certain deductibles, for the actual product warranty costs that the Company incurs under the terms of its solar&#160;module product warranty policy. The Company records the insurance premiums initially as prepaid expenses and amortizes them over the respective policy period of one year. The unamortized carrying amount is $1,286 and $1,486 as of December 31, 2018 and 2019, respectively and was included as a component of prepaid expenses and other current&#160;assets.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The warranty obligations the Company records relate to defects that existed when the product was sold to the customer. The event which the Company is insured against through its insurance policies is the sale of products with these defects. Accordingly, the Company views the insured losses attributable to the shipment of defective products covered under its warranty as analogous to potential claims, or claims that have been incurred as of the product ship date, but not yet reported. The Company expects to recover all or a portion of the cost of its obligations with respect to the defective products through insurance claims. Therefore, the Company&#8217;s accounting policy is to record an asset for the amount determined to be probable of recovery from the insurance claims (not&#160;to exceed the amount of the total losses incurred), consistent with the guidance set forth at ASC&#160;410-30.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company considers the following factors in determining whether an insurance receivable that is probable and recoverability can be reasonably estimated: (i) reputation and credit rating of the insurance company; (ii) comparison of the solar module product warranty policy against the terms of the insurance policies, to ensure valid warranty claims submitted by customers will be covered by the policy and therefore reimbursed by the insurance companies; and (iii) with respect to specific claims submitted, written communications from the insurance company are monitored to ensure the claim has been submitted to the insurance company, and reimbursements are probable to be subsequently collected. The successfully processed claims provide further evidence that the insurance policies are functioning as anticipated.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">To the extent uncertainties regarding the solvency of insurance carriers or the legal sufficiency of insurance claims (including if they became subject to litigation) were to arise, the Company will establish a provision for uncollectible amounts based on the specific facts and circumstances. To date, no provision had been determined to be necessary. In addition, to the extent that accrual for warranty costs differs from the estimates and the Company prospectively changes its accrual rate, this change may result in a change to the amount expected to be recovered from&#160;insurance.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As the warranty obligation and related recovery asset do not meet the criteria for offsetting, the gross amounts are reported in the Company&#8217;s consolidated balance sheets. The asset is expected to be realized over the life of the warranty obligation, which is <span style="-sec-ix-hidden:Hidden_QfSZT8C17EqqpvabdpjiWw"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">25</span></span> or 30 years and is treated as a non-current asset consistent with the underlying warranty obligation. When a specific claim is submitted, and the corresponding insurance proceeds will be collected within twelve months of the balance sheet date, the Company will reclassify that portion of the receivable as being current. The insurance receivable amounts were $75,617 and $79,888 as of December 31, 2018 and 2019, respectively, and were included as a component of other non-current assets.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company made downward adjustments to its accrued warranty costs of $1,446 and other non-current assets of $800, for the year ended December 31, 2019, to reflect the general declining trend of the average selling price of solar modules, which is a primary input into the estimated warranty costs. Accrued warranty costs (net effect of adjustments) of $19,793, $13,188 and $28,044 are included in cost of revenues for the years ended December 31, 2017, 2018 and 2019, 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="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock', window );">Foreign currency translation</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ab)&#160;Foreign currency translation</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The United States dollars (&#8220;U.S. dollars&#8221; or &#8220;$&#8221;), the currency in which a substantial amount of the Company&#8217;s transactions are denominated, is used as the functional and reporting currency of CSI. Monetary assets and liabilities denominated in currencies other than the U.S. dollars are translated into U.S. dollars at the rates of exchange ruling at the balance sheet date. Transactions in currencies other than the U.S. dollars during the year are converted into the U.S. dollars at the applicable rates of exchange prevailing on the transaction date. Transaction gains and losses are recognized in the consolidated statements of operations. Gains and losses on intra-entity foreign currency transactions that are of a long-term-investment nature (that is, settlement is not planned or anticipated in the foreseeable future) between consolidated entities are not recognized in earnings, but are included as a component of other comprehensive income.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The financial records of certain of the Company&#8217;s subsidiaries are maintained in local currencies other than the U.S. dollars, such as Renminbi (&#8220;RMB&#8221;), Euros, Canadian dollars (&#8220;CAD&#8221;), Japanese yen and Brazilian reals (&#8220;BRL&#8221;), which are their functional currencies. Assets and liabilities are translated at the exchange rates at the balance sheet date, equity accounts are translated at historical exchange rates and revenues, expenses, gains and losses are translated using the average rate for the year. Translation adjustments are reported as foreign currency translation adjustment and are shown as a separate component of other comprehensive income in the statements of comprehensive income.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock', window );">Comprehensive income</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ac)&#160;Comprehensive income</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Comprehensive income includes all changes in equity except those resulting from investments by owners and distributions to owners. For the years presented, total comprehensive income included (i)&#160;net income, (ii)&#160;foreign currency translation adjustments, (iii)&#160;gains and losses on intra-entity foreign currency transactions that are of a long-term-investment nature (that is, settlement is not planned or anticipated in the foreseeable future) between consolidated entities and (iv) the unrealized gains or losses (effective portion) on derivative instruments that qualify for and have been designated as cash flow hedges. </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="top.Show.showAR( this, 'defref_csiq_ForeignCurrencyRiskPolicyTextBlock', window );">Foreign currency risk</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ad)&#160;Foreign currency risk</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The majority of the Company&#8217;s sales in 2017, 2018 and 2019 were denominated in U.S. dollars, Renminbi and Japanese yen, with the remainder in other currencies such as Euros, Brazilian reals, Australian dollars, Canadian dollars.. The Company&#8217;s Renminbi costs and expenses are primarily related to the sourcing of solar cells, silicon wafers and silicon, other raw materials, including aluminum and silver paste, toll manufacturing fees, labor costs and local overhead expenses within the PRC. From time to time, the Company enters into loan arrangements with commercial banks that are denominated primarily in Renminbi, U.S. dollars and Japanese yen. Most of its cash and cash equivalents and restricted cash are denominated in Renminbi. Fluctuations in exchange rates, particularly between the U.S. dollars, Renminbi, Thailand Baht, British pounds, Canadian dollars, Japanese yen and Euros, may result in foreign exchange gains or losses. Since 2008, the Company has hedged part of its foreign currency exposures against the U.S. dollars using foreign currency forward or option contracts.</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="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskCreditRisk', window );">Concentration of credit risk</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ae)&#160;Concentration of credit risk</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Financial instruments that potentially expose the Company to concentrations of credit risk consist primarily of cash and cash equivalents, restricted cash, accounts receivable, advances to suppliers and amounts due from related parties. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">All of the Company's cash and cash equivalents are held with financial institutions that Company management believes to have high credit quality.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company conducts credit evaluations of customers and generally does not require collateral or other security from its customers. The Company establishes an allowance for doubtful accounts primarily based upon the age of the receivables and factors surrounding the credit risk of specific customers. With respect to advances to suppliers, such suppliers are primarily suppliers of raw materials. The Company performs ongoing credit evaluations of its suppliers' financial conditions. The Company generally does not require collateral or security against advances to suppliers, however, it maintains a reserve for potential credit losses and such losses have historically been within management's expectation.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The prepayments made by the Company are unsecured and expose the Company to supplier credit risk. As of December 31, 2018 and 2019, prepayments made to individual suppliers were all less than 10% of total advances to suppliers and the concentration risk is relatively low.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueOfFinancialInstrumentsPolicy', window );">Fair value of financial instruments</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(af)&#160;Fair value of financial instruments</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company applies authoritative guidance for fair value measurements for its financial assets and liabilities. The guidance defines fair value as an exit price representing the amount that would be received upon the sale of an asset or paid to transfer a liability in an orderly transaction between market participants. The guidance also establishes a fair value hierarchy, which prioritized the inputs used in measuring fair value. The standard describes three levels of inputs that may be used to measure fair value:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Level 1</i>&#8212;Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets. The Company&#8217;s restricted cash balance for all periods presented uses level one fair value inputs.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Level 2</i>&#8212;Inputs reflect quoted prices for identical assets or liabilities in markets that are not active; quoted prices for similar assets or liabilities in active markets; inputs other than quoted prices that are observable for the assets or liabilities; or inputs that are derived principally from or corroborated by observable market data by correlation or other means.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Level 3&#8212;</i>Unobservable inputs reflecting the Company&#8217;s own assumptions incorporated in valuation techniques used to determine fair value. These assumptions are required to be consistent with market participant assumptions that are reasonably available.<span style="font-style:italic;font-weight:bold;"> </span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativesPolicyTextBlock', window );">Derivatives instruments and hedging activity</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ag)&#160;Derivatives instruments and hedging activity</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company&#8217;s primary objective for holding derivative financial instruments is to manage risks. Depending on the terms of the specific derivative instruments and market conditions, some of the Company&#8217;s derivative instruments may be assets and liabilities at any particular point in time. The recognition of gains or losses resulting from changes in fair value of these derivative instruments is based on the use of each derivative instrument and whether it qualifies for hedge accounting.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company enters into derivatives to hedge its foreign currency risk exposure to losses from price adjustments of electricity and interest rate risk. When the Company determines to designate a derivative instrument as a cash flow hedge, the Company formally documents the hedging relationship and its risk management objective and strategy for undertaking the hedge, the hedging instrument, the hedged item, the nature of the risk being hedged, how the hedging instrument&#8217;s effectiveness in offsetting the hedged risk will be assessed, and a description of the method of measuring ineffectiveness. The Company also formally assesses, both at the hedge&#8217;s inception and on an ongoing basis, whether the derivative that is used in hedging transactions is highly effective in offsetting changes in cash flows of hedged items. The effective portion of gains and losses on derivatives designated as cash flow hedges are initially deferred in other comprehensive income before being recognized in the statements of operations in the same period as the hedged transactions are reflected in earnings. Gains and losses on derivatives that are not designated or fail to qualify as effective hedges are recognized in the statements of operations as incurred.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Fair value of the derivative instruments is determined using pricing models developed based on the underlying price of the hedged items. The values are also adjusted to reflect nonperformance risk of the counterparty and the Company, as necessary. </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="top.Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Earnings (loss) per share</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ah)&#160;Earnings (loss) per share</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Basic earnings (loss) is computed by dividing income (loss) attributable to holders of common shares by the weighted average number of common shares outstanding during the year. Diluted earnings (loss) per common share reflects the potential dilution that could occur if securities or other contracts to issue common shares were exercised or converted into common shares. Common share equivalents are not included in the calculation of dilutive earnings per share if their effects are anti-dilutive.</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="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy', window );">Share-based compensation</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ai)&#160;Share-based compensation</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company&#8217;s share-based compensation with employees, such as share options, restricted shares and restricted share units (&#8220;RSUs&#8221;), is measured at the grant date, based on the fair value of the award, and is recognized as compensation expense, net of estimated forfeitures, over the period during which an employee is required to provide service in exchange for the award, which is generally the vesting&#160;period.</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="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recently issued accounting pronouncements</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aj)&#160;Recently issued accounting pronouncements</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In February 2016, the FASB issued ASU 2016-02, "Leases (Topic 842)", requires the recognition of right-of-use ("ROU") assets and lease liabilities on the balance sheet and changes the pattern of expense recognition in the statement of operations. In July 2018, the FASB issued ASU 2018-11, &#8220;Leases (Topic 842)&#8212;Targeted Improvements&#8221;, which provided an optional transition method to apply the new lease requirements through a cumulative-effect adjustment in the period of adoption.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company adopted the new standard on January 1, 2019 using this optional transition method to all leases existed at the date of initial application. In addition, the Company elected the transition practical referred to as the &#8220;package of three&#8221;, that must be taken together and allows entities to (1) not reassess whether existing contracts contain leases, (2) carryforward the existing lease classification, and (3) not reassess initial direct costs associated with existing leases. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">This adoption primarily affects the Company's leases arrangements previously accounted for under Topic 840. As a result of adoption, the Company recognized right-of-use ("ROU") assets and lease liabilities on the balance sheet for operating leases of $33,829. Upon adoption of ASC 842, the Company elected to use the remaining lease term as of January 1, 2019 in the estimation of the applicable discount rate for leases that were in place at adoption. For the initial measurement of the lease liability for leases commencing after January 1, 2019, the Company use the discount rate as of the commencement date of the lease, incorporating the entire lease term. The treatment of finance leases has no difference with that under Topic 840 and there is no significant impact on results of operations or cash flows.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The reported results for year 2019 reflect the adoption of Topic 842, while the reported results for year 2017 and 2018 were prepared under the previous lease accounting guidance. There is no impact to the beginning balance of retained earnings on January 1, 2019 for this adoption.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In June 2016, the FASB issued ASU 2016-13, &#8220;Financial Instruments&#8212;Credit Losses (Topic 326)&#8221;, which has been subsequently updated by ASU 2019-04, 2019-05, 2019-10, 2019-11 and 2020-03. The amendments change the impairment model for most financial assets, and will require the use of an &#8220;expected loss&#8221; model for instruments measured at amortized cost. Under this model, entities will be required to estimate the lifetime expected credit loss on such instruments and record an allowance to offset the amortized cost basis of the financial asset, resulting in a net presentation of the amount expected to be collected on the financial asset. This pronouncement is effective for fiscal years, and for interim periods within those fiscal years, beginning after December 15, 2019. The Company does not expect a material impact to its consolidated financial statement upon adoption of this ASU.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="white-space:pre-wrap;">In August 2018, the FASB issued ASU 2018-13, &#8220;Fair Value Measurement (Topic 820): Disclosure Framework&#8211;Changes to the Disclosure Requirements for Fair Value&#8221;. ASU 2018-13 removes and modifies existing disclosure requirements on fair value measurement, namely regarding transfers between levels of the fair value hierarchy and the valuation processes for Level 3 fair value measurements. Additionally, ASU 2018-13 adds further disclosure requirements for Level 3 fair value measurements, specifically changes in unrealized gains and losses and other quantitative information. ASU 2018-13 is effective for fiscal years and interim periods within those fiscal years, beginning after December 15, 2019, with early adoption permitted.  The Company does not expect a material impact to its consolidated financial statement upon adoption of this ASU.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In October 2018, the FASB issued ASU 2018-17, &#8220;Consolidation (Topic 810): Targeted Improvements to Related Party Guidance for Variable Interest Entities&#8221;, which expands variable interests to indirect interests held through related parties under common control. ASU 2018-17 is effective for fiscal years and interim periods within those fiscal years, beginning after December 15, 2019, with early adoption permitted. It is required to be applied retrospectively with a cumulative-effect adjustment to retained earnings at the beginning of the earliest period presented. The Company does not expect a material impact to its consolidated financial statement upon adoption of this ASU.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">In December 2019, the FASB issued ASU 2019-12, Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes (&#8220;ASU 2019-12&#8221;), which simplifies income tax accounting in various areas including, but not limited to, the accounting for hybrid tax regimes, tax implications related to business combinations, and interim period accounting for enacted changes in tax law, along with some codification improvements. ASU 2019-12 is effective for fiscal years, and interim periods within those fiscal years, beginning after December 15, 2020, with early adoption permitted. Certain changes in the standard require retrospective or modified retrospective adoption, while other changes must be adopted prospectively. The Company is currently evaluating ASU 2019-12 and its impact on its 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_csiq_AdvancesToSuppliersPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for advances to suppliers.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AdvancesToSuppliersPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_AllowanceForDoubtfulAccountsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of the accounting policy for the allowance for doubtful accounts on accounts receivable balances.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AllowanceForDoubtfulAccountsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_AssetsAcquisitionPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for assets acquisition.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AssetsAcquisitionPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_ForeignCurrencyRiskPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for risk associated with converting the amounts denominated in the foreign currencies into reporting entity's reporting currency.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ForeignCurrencyRiskPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for other operating income and other operating expense items.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_PrepaymentForLandUseRightPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for prepayment for land use rights which may include the basis of such assets, depreciation methods used and estimated useful lives.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PrepaymentForLandUseRightPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_ProjectAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for determining project asset costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_SolarPowerSystemsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for solar power system used in the normal conduct of business and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SolarPowerSystemsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_AssetRetirementObligationsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for legal obligation associated with retirement of long-lived asset that results from acquisition, construction, or development or from normal operation of long-lived asset. Excludes environmental remediation liability from improper or other-than-normal operation of long-lived asset, obligation arising in connection with leased property that meets definition of lease payments or variable lease payments and from plan to sell or otherwise dispose of a long-lived asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 410<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6392692&amp;loc=d3e7535-110849<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetRetirementObligationsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_BasisOfAccountingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfAccountingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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_BusinessCombinationsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 05<br> -Paragraph 4<br> -Subparagraph (a)-(d)<br> -URI http://asc.fasb.org/extlink&amp;oid=6909625&amp;loc=d3e227-128457<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=d3e4273-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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_CommitmentsAndContingenciesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for commitments and contingencies, which may include policies for recognizing and measuring loss and gain contingencies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 450<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6491354&amp;loc=d3e6052-115624<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 450<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6491354&amp;loc=d3e6049-115624<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_ComprehensiveIncomePolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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_ConcentrationRiskCreditRisk">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit risk.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=108315417&amp;loc=d3e61044-112788<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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_ConsolidationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.3A-02)<br> -URI http://asc.fasb.org/extlink&amp;oid=116822174&amp;loc=d3e355033-122828<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.3A-03)<br> -URI http://asc.fasb.org/extlink&amp;oid=116822174&amp;loc=d3e355100-122828<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=d3e5614-111684<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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_DerivativesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for its derivative instruments and hedging activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=d3e41620-113959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=d3e41638-113959<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=SL5579245-113959<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=d3e41675-113959<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(n))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=SL5579240-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3630-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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_EquityMethodInvestmentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.12)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=75031198&amp;loc=d3e14064-108612<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 21D<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=SL94080555-108585<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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_FairValueOfFinancialInstrumentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for determining the fair value of financial instruments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 60<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=7493716&amp;loc=d3e21868-110260<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118260190&amp;loc=d3e13279-108611<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueOfFinancialInstrumentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6450222&amp;loc=d3e30840-110895<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for intangible assets. This accounting policy may address both intangible assets subject to amortization and those that are not. The following also may be disclosed: (1) a description of intangible assets (2) the estimated useful lives of those assets (3) the amortization method used (4) how the entity assesses and measures impairment of such assets (5) how future cash flows are estimated (6) how the fair values of such asset are determined.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 05<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=109226317&amp;loc=d3e202-110218<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.CC)<br> -URI http://asc.fasb.org/extlink&amp;oid=27011434&amp;loc=d3e125687-122742<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32847-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 740<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6491622&amp;loc=d3e9504-115650<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32809-109319<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=116657188&amp;loc=SL116659661-227067<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32840-109319<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=116821951&amp;loc=d3e32247-109318<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=116821951&amp;loc=d3e32280-109318<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 05<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=65884525&amp;loc=d3e40913-109327<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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_InterestCapitalizationPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for interest capitalization.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6450988&amp;loc=d3e26243-108391<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestCapitalizationPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4556-108314<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116846552&amp;loc=d3e543-108305<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=116847112&amp;loc=d3e4492-108314<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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_LesseeLeasesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918666-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for long-lived, physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, basis of assets, depreciation and depletion methods used, including composite deprecation, estimated useful lives, capitalization policy, accounting treatment for costs incurred for repairs and maintenance, capitalized interest and the method it is calculated, disposals and impairments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.13(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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_ResearchAndDevelopmentExpensePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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_RevenueFromContractWithCustomerPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue from contract with customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18823-107790<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI http://asc.fasb.org/topic&amp;trid=49130388<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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_ShareBasedCompensationOptionAndIncentivePlansPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b),(f)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5047-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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_StandardProductWarrantyPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for standard warranties including the methodology for measuring the liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for treatment of receivables that are billable but have not been billed as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -URI http://asc.fasb.org/topic&amp;trid=2196771<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6191-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6161-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6143-108592<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6061-108592<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6132-108592<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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>132
<FILENAME>R105.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6833225872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES - Movement of the valuation allowance (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, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward', window );"><strong>Movement of allowances</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="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Beginning of the year</a></td>
<td class="nump">$ 76,522<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="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">End of the year</a></td>
<td class="nump">70,627<span></span>
</td>
<td class="nump">$ 76,522<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="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember', window );">Allowance</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="top.Show.showAR( this, 'defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward', window );"><strong>Movement of allowances</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="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Beginning of the year</a></td>
<td class="nump">76,522<span></span>
</td>
<td class="nump">65,399<span></span>
</td>
<td class="nump">$ 71,469<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="top.Show.showAR( this, 'defref_csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet', window );">Additions (Reversals)</a></td>
<td class="num">(6,156)<span></span>
</td>
<td class="nump">11,051<span></span>
</td>
<td class="num">(5,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="top.Show.showAR( this, 'defref_csiq_ValuationAllowancesAndReservesForeignExchangeEffect', window );">Foreign exchange effect</a></td>
<td class="nump">261<span></span>
</td>
<td class="nump">72<span></span>
</td>
<td class="num">(709)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">End of the year</a></td>
<td class="nump">$ 70,627<span></span>
</td>
<td class="nump">$ 76,522<span></span>
</td>
<td class="nump">$ 65,399<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of allowances and reserves, the valuation and qualifying accounts that are either netted against the cost of an asset (in order to value it at its carrying value) or that reflect a liability established to represent expected future costs which have been charged to costs and expenses net of the total of recoveries of amounts due the Entity that had previously been written off as uncollectible using allowances (the valuation accounts that are netted against the cost of an asset to value it at its carrying value) and total of reestablishments of reserves (liabilities established to represent expected future costs) that had previously been utilized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ValuationAllowancesAndReservesForeignExchangeEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of the foreign exchange effects in a given period to allowances or reserves.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ValuationAllowancesAndReservesForeignExchangeEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_us-gaap_MovementInValuationAllowancesAndReservesRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MovementInValuationAllowancesAndReservesRollForward</td>
</tr>
<tr>
<td style="padding-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_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>133
<FILENAME>R101.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6854912528">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES - Provision for income taxes (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, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract', window );"><strong>Income before income taxes</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="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">$ 208,621<span></span>
</td>
<td class="nump">$ 304,400<span></span>
</td>
<td class="nump">$ 143,934<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current tax</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="top.Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Current tax</a></td>
<td class="nump">56,685<span></span>
</td>
<td class="nump">18,375<span></span>
</td>
<td class="num">(38,261)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Deferred tax</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="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred tax</a></td>
<td class="num">(14,619)<span></span>
</td>
<td class="nump">43,594<span></span>
</td>
<td class="nump">79,212<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Total income tax expense</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total income tax expense</a></td>
<td class="nump">42,066<span></span>
</td>
<td class="nump">61,969<span></span>
</td>
<td class="nump">40,951<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_CA', window );">Canada</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="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract', window );"><strong>Income before income taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="num">(61,880)<span></span>
</td>
<td class="nump">10,570<span></span>
</td>
<td class="num">(30,524)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current tax</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Current tax</a></td>
<td class="num">(3,420)<span></span>
</td>
<td class="num">(1,846)<span></span>
</td>
<td class="nump">346<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Deferred tax</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred tax</a></td>
<td class="num">(6,558)<span></span>
</td>
<td class="nump">12,117<span></span>
</td>
<td class="num">(6,464)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Total income tax expense</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total income tax expense</a></td>
<td class="num">(9,978)<span></span>
</td>
<td class="nump">10,271<span></span>
</td>
<td class="num">(6,118)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_US', window );">United States</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract', window );"><strong>Income before income taxes</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="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">8,319<span></span>
</td>
<td class="nump">61,377<span></span>
</td>
<td class="num">(33,205)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current tax</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="top.Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Current tax</a></td>
<td class="num">(4,803)<span></span>
</td>
<td class="num">(14,786)<span></span>
</td>
<td class="num">(54,482)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Deferred tax</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="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred tax</a></td>
<td class="num">(2,412)<span></span>
</td>
<td class="nump">32,696<span></span>
</td>
<td class="nump">67,426<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Total income tax expense</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total income tax expense</a></td>
<td class="num">(7,215)<span></span>
</td>
<td class="nump">17,910<span></span>
</td>
<td class="nump">12,944<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_CN', window );">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="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract', window );"><strong>Income before income taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">204,632<span></span>
</td>
<td class="nump">178,050<span></span>
</td>
<td class="nump">173,266<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current tax</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Current tax</a></td>
<td class="nump">44,622<span></span>
</td>
<td class="nump">27,285<span></span>
</td>
<td class="num">(7,383)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Deferred tax</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred tax</a></td>
<td class="num">(5,333)<span></span>
</td>
<td class="nump">2,653<span></span>
</td>
<td class="nump">23,452<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Total income tax expense</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total income tax expense</a></td>
<td class="nump">39,289<span></span>
</td>
<td class="nump">29,938<span></span>
</td>
<td class="nump">16,069<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=country_JP', window );">Japan</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="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract', window );"><strong>Income before income taxes</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="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">29,335<span></span>
</td>
<td class="nump">27,555<span></span>
</td>
<td class="nump">28,164<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current tax</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="top.Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Current tax</a></td>
<td class="nump">13,229<span></span>
</td>
<td class="nump">5,325<span></span>
</td>
<td class="nump">31,266<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Deferred tax</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="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred tax</a></td>
<td class="num">(2,953)<span></span>
</td>
<td class="num">(3,381)<span></span>
</td>
<td class="num">(4,499)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Total income tax expense</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total income tax expense</a></td>
<td class="nump">10,276<span></span>
</td>
<td class="nump">1,944<span></span>
</td>
<td class="nump">26,767<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=csiq_OtherJurisdictionsMember', 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="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract', window );"><strong>Income before income taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">28,215<span></span>
</td>
<td class="nump">26,848<span></span>
</td>
<td class="nump">6,233<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current tax</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Current tax</a></td>
<td class="nump">7,057<span></span>
</td>
<td class="nump">2,397<span></span>
</td>
<td class="num">(8,008)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Deferred tax</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred tax</a></td>
<td class="nump">2,637<span></span>
</td>
<td class="num">(491)<span></span>
</td>
<td class="num">(703)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Total income tax expense</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Total income tax expense</a></td>
<td class="nump">$ 9,694<span></span>
</td>
<td class="nump">$ 1,906<span></span>
</td>
<td class="num">$ (8,711)<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_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-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_CurrentIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-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_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=68072869&amp;loc=d3e41242-110953<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109238882&amp;loc=d3e38679-109324<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=country_CA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_CA</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=country_CN">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_CN</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=country_JP">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=country_JP</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_IncomeTaxAuthorityAxis=csiq_OtherJurisdictionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=csiq_OtherJurisdictionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R109.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6827581408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMMITMENTS AND CONTINGENCIES - Contingencies (Details)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1">36 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2010 </div>
<div>item</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </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="top.Show.showAR( this, 'defref_srt_LitigationCaseAxis=csiq_ClassActionLawsuitsFiledInNewYorkMember', window );">Class Action Lawsuits Filed in New York</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="top.Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Contingencies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_NumberOfSubpoenasReceived', window );">Number of subpoenas</a></td>
<td class="nump">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="top.Show.showAR( this, 'defref_us-gaap_LossContingencyNewClaimsFiledNumber', window );">Number of lawsuits filed</a></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="top.Show.showAR( this, 'defref_srt_LitigationCaseAxis=csiq_USCountervailingAndAntiDumpingDutiesMember', window );">Countervailing and anti-dumping duties investigation</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="top.Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Contingencies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_PeriodOfSunsetReviews', window );">Period of sunset reviews</a></td>
<td class="text">&#160;<span></span>
</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="top.Show.showAR( this, 'defref_srt_LitigationCaseAxis=csiq_FirstAdministrativeReviewOfSolarTwoMember', window );">First Administrative Review of Solar 2</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="top.Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Contingencies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_LossContingencyProvisionReversed', window );">Amount of provision reversed | $</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 52.3<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_LossContingencyProvisionReversed">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the amount of provision for loss contingency reversed.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LossContingencyProvisionReversed</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_NumberOfSubpoenasReceived">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the number of subpoenas received during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_NumberOfSubpoenasReceived</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_PeriodOfSunsetReviews">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Period covered by the sunset reviews conducted by USDOC and USITC, 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PeriodOfSunsetReviews</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_LossContingenciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingenciesLineItems</td>
</tr>
<tr>
<td style="padding-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_LossContingencyNewClaimsFiledNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The total number of new claims filed pertaining to a loss contingency during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118942415&amp;loc=d3e14435-108349<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingencyNewClaimsFiledNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_LitigationCaseAxis=csiq_ClassActionLawsuitsFiledInNewYorkMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_LitigationCaseAxis=csiq_ClassActionLawsuitsFiledInNewYorkMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_LitigationCaseAxis=csiq_USCountervailingAndAntiDumpingDutiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_LitigationCaseAxis=csiq_USCountervailingAndAntiDumpingDutiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_LitigationCaseAxis=csiq_FirstAdministrativeReviewOfSolarTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_LitigationCaseAxis=csiq_FirstAdministrativeReviewOfSolarTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp7009060160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SHARE-BASED COMPENSATION<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>SHARE-BASED COMPENSATION</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="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">SHARE-BASED COMPENSATION</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">25.&#160;SHARE-BASED COMPENSATION</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In March&#160;2006, the Company adopted a share incentive plan, or the Plan. The purpose of the Plan is to promote the success and enhance the value of the Company by linking the personal interests of the directors, employees and consultants to those of the shareholders and providing the directors, employees and consultants with an incentive for outstanding performance to generate superior returns to the shareholders. The Plan is also intended to motivate, attract and retain the services of the directors, employees and consultants upon whose judgment, interest and effort the successful conduct of the Company&#8217;s operations is largely dependent. In September&#160;2010, the shareholders approved an amendment to the Plan to increase the maximum number of common shares which may be issued pursuant to all awards of options, restricted shares and RSUs under the Plan to the sum of (i)&#160;2,330,000 plus (ii)&#160;the sum of (a)&#160;1% of the number of outstanding common shares of the Company on the first day of each of 2007, 2008 and 2009 and (b)&#160;2.5% of the number of outstanding common shares of the Company outstanding on the first day of each calendar year after 2009. The Plan will expire on, and no awards may be granted after, May&#160;8, 2021. Under the terms of the Plan, options are generally granted with an exercise price equal to the fair market value of the Company&#8217;s ordinary shares and expire ten years from the date of&#160;grant.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">Options to Employees</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">During the year ended December 31, 2019, 103,723 options were exercised with a weighted average exercise price of $8.47. The total intrinsic value of options exercised during the years ended December 31, 2017, 2018 and 2019 was $605, $256 and $1,422, respectively. As of December 31, 2019, there were 120,779 options outstanding with a weighted average exercise price of $10.97 and weighted average remaining contract terms of 1 year. The intrinsic value of outstanding options as of December 31, 2019 was $1,344.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">25.&#160;SHARE-BASED COMPENSATION (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">RSUs to Employees</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company granted 1,033,001, 759,702 and 706,637 RSUs to employees in 2017, 2018 and 2019, respectively. The RSUs entitle the holders to receive the Company&#8217;s common shares upon vesting. The RSUs were granted for free and generally vest over periods from <span style="-sec-ix-hidden:Hidden_KLLxw-9sJkO8VDGPXSoRVQ"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">one</span></span> to four years based on the specific terms of the grants. The fair market value of the Company&#8217;s ordinary shares at the date of grant resulted in total compensation cost of approximately $13.3&#160;million, $10.2&#160;million and $12.2&#160;million that will be recognized ratably over the vesting period for the RSUs granted in 2017, 2018 and 2019, respectively. In the years ended December 31, 2017, 2018 and 2019, the Company recognized $9,314, $10,258 and $10,682 in compensation expense associated with these awards, respectively.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">As of December 31, 2019, there was $20,507 of total unrecognized share-based compensation related to unvested RSUs, which is expected to be recognized over a weighted-average period of 2.27 years.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">A summary of the RSU activity is as follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b><b style="font-family:'Calibri';font-weight:bold;">&#160;</b><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant-Date</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Unvested at January&#160;1, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,781,271</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14.18</p></td></tr><tr><td style="vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 706,637</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18.05</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Vested</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (696,853)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.40</p></td></tr><tr><td style="vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (131,288)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.01</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:65.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Unvested at December&#160;31, 2019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,659,767</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:17.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15.26</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The total fair value of RSUs vested during the years ended December 31, 2017, 2018 and 2019 was $12,091, $10,242 and $10,733, 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_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -URI http://asc.fasb.org/topic&amp;trid=2228938<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>136
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6853669856">
<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, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">COMMITMENTS AND CONTINGENCIES</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">a)&#160;&#160;&#160;&#160;Capital commitments</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2019, the commitments for the purchase of property, plant and equipment were approximately $12 million, and the payment schedule for the commitments is as follow:</p><p style="font-family:'Times New Roman';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:86.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Year Ending December&#160;31:</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">$</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,000</p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,000</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,000</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">b)&#160;&#160;&#160;&#160;Solar power system commitments</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2019, the commitments of the service to be purchased for solar power system were approximately $0.8 million, and the payment schedule for the commitments is as follow:</p><p style="font-family:'Times New Roman';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Year Ending December 31:</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;">$</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2020</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 600</p></td></tr><tr><td style="vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 200</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:86.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 800</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">c)&#160;&#160;&#160;&#160;Contingencies</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Class Action Lawsuits</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Following the two subpoenas from the SEC in 2010, six class action lawsuits were filed in the U.S. District Court for the Southern District of New&#160;York, or the New&#160;York cases, and another class action lawsuit was filed in the U.S. District Court for the Northern District of California, or the California case. The New&#160;York cases were consolidated into a single action in December&#160;2010. On January&#160;5, 2011, the California case was dismissed by the plaintiff, who became a member of the lead plaintiff group in the New&#160;York action. On March&#160;11, 2011, a Consolidated Complaint was filed with respect to the New&#160;York action. The Consolidated Complaint alleges generally that the Company&#8217;s financial disclosures during 2009 and early 2010 were false or misleading; asserts claims under Sections&#160;10(b) and&#160;20(a) of the Exchange Act and Rule&#160;10b-5 thereunder; and names the Company, its chief executive officer and its former chief financial officer as defendants. The Company filed its motion to dismiss in May&#160;2011, which was taken under submission by the Court in July&#160;2011. On March&#160;30, 2012, the Court dismissed the Consolidated Complaint with leave to amend, and the plaintiffs filed an Amended Consolidated Complaint against the same defendants on April&#160;19, 2012. On March&#160;29, 2013, the Court dismissed with prejudice a class action lawsuit filed against the Company and certain named defendants alleging that the Company&#8217;s financial disclosures during 2009 and early 2010 were false or misleading and in violation of federal securities law. The court found that the plaintiffs failed to adequately allege a securities law violation and granted the Company&#8217;s motion to dismiss all claims against all defendants with prejudice. On December&#160;20, 2013, the United&#160;States Court of Appeals for the Second Circuit affirmed the district court&#8217;s order dismissing such class action&#160;lawsuit.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In addition, a similar class action lawsuit was filed against the Company and certain of its executive officers in the Ontario Superior Court of Justice on August&#160;10, 2010. The lawsuit alleges generally that the Company&#8217;s financial disclosures during 2009 and 2010 were false or misleading and brings claims under the shareholders&#8217; relief provisions of the CBCA, Part&#160;XX III.1 of the Ontario Securities Act as well as claims based on negligent misrepresentation. In December&#160;2010, the Company filed a motion to dismiss the Ontario action on the basis that the Ontario Court has no jurisdiction over the claims and potential claims advanced by the plaintiff. The court dismissed the Company&#8217;s motion on August&#160;29, 2011. On March&#160;30, 2012, the Ontario Court of Appeal denied the Company&#8217;s appeal with regard to its jurisdictional motion. On November&#160;29, 2012, the Supreme Court of Canada denied the Company&#8217;s application for leave to appeal the order of the Ontario Court of Appeal. The plaintiff&#8217;s motions for class certification and leave to assert the statutory cause of action under the Ontario Securities Act were served in January&#160;2013 and initially scheduled for argument in the Ontario Superior Court of Justice in June&#160;2013.However, the plaintiff&#8217;s motions were adjourned in view of the plaintiff&#8217;s decision to seek an order compelling the Company to file additional evidence on the motions. On July&#160;29, 2013 the Court dismissed the plaintiff&#8217;s motion to compel evidence. On September&#160;24, 2013 the plaintiff&#8217;s application for leave to appeal from the July&#160;29 order was dismissed. In September 2014, the plaintiff obtained an order granting him leave to assert the statutory cause of action under the Ontario Securities Act for certain of his misrepresentation claims. </p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In January 2015, the plaintiff in the class action lawsuit filed against the Company and certain of its executive officers in the Ontario Superior Court of Justice obtained an order for class certification in respect of certain claims for which he had obtained leave in September 2014 to assert the statutory cause of action for misrepresentation under the Ontario Securities Act, for certain negligent misrepresentation claims and for oppression remedy claims advanced under the CBCA. The Court dismissed the Company&#8217;s application for leave to appeal and the class action is at the merits stage. The common issues trial is scheduled for November 2020. The Company believes the Ontario action is without merit and the Company is defending it vigorously.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Solar 1</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">In October 2011, a trade action was filed with the U.S. Department of Commerce, or USDOC, and the U.S. International Trade Commission, or USITC, by the U.S. unit of SolarWorld AG and six other U.S. firms, accusing Chinese producers of crystalline silicon photovoltaic cells, or CSPV cells, whether or not incorporated into modules, of selling their products (i.e., CSPV cells or modules incorporating these cells) into the United States at less than fair value, or dumping, and of receiving countervailable subsidies from the Chinese authorities. These firms asked the U.S. government to impose antidumping and countervailing duties on Chinese-origin CSPV cells. The Company was identified as one of a number of Chinese exporting producers of the subject goods to the U.S. market. The Company also has affiliated U.S. operations that import the subject goods from China.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">From October 2012 to July 2018, the USDOC issued final affirmative determinations with respect to its antidumping and countervailing duty investigations on crystalline silicon photovoltaic, or CSPV, cells, whether or not incorporated into modules, from China, and the first to fifth administrative review results. The results of sixth and seventh administrative reviews are expected to conclude in mid-2020.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Between 2017 and 2019, the USDOC and USITC conducted <span style="-sec-ix-hidden:Hidden_LgyjbK5sEUOtkHh3zIcJRg"><span style="color:#000000;font-family:'Times New Roman';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">five</span></span>-year sunset reviews and determined to continue the Solar 1 antidumping and countervailing duty orders. In March 2018, the USDOC published the results of its expedited first sunset reviews and concluded that revocation of the Solar 1 orders would likely lead to a continuation or recurrence of dumping and a countervailable subsidy. The Company did not participate in USDOC&#8217;s first sunset review. The Company did, however, participate in the USITC&#8217;s first sunset review and requested that the Solar 1 duties be revoked. The USITC issued an affirmative determination in March 2019 declining to revoke the Solar 1 orders and finding that such revocation would be likely to lead to a continuation or recurrence of material injury to the U.S. industry within a reasonably foreseeable time. As a result, the Solar 1 orders remain in effect.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Solar 2</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On December 31, 2013, SolarWorld Industries America, Inc. filed a new trade action with the USDOC and the USITC accusing Chinese producers of certain CSPV modules of dumping their products into the U.S. and of receiving countervailable subsidies from the Chinese authorities. This trade action also alleged that Taiwanese producers of certain CSPV cells and modules dumped their products into the U.S.. Excluded from these new actions were those Chinese-origin solar products covered by the Solar 1 orders described above. The Company was identified as one of a number of Chinese producers exporting the Solar 2 subject goods to the U.S. market. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">&#8220;Chinese CSPV products subject to Solar 2 orders&#8221; refer to CSPV products manufactured in mainland China using non-Chinese (e.g., Taiwanese) CSPV cells and imported into the U.S. during the investigation or administrative review periods of Solar 2. &#8220;Taiwanese CSPV products subject to Solar 2 orders&#8221; refer to CSPV products manufactured outside of mainland China using Taiwanese CSPV cells and imported into the U.S. during the investigation or review periods of Solar 2.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">From December 2014 to late 2019, the USDOC issued final affirmative determinations and results of the first to fourth administrative reviews with respect to its antidumping and countervailing duty investigation on these CSPV products.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The Company will not be subject to the fifth administrative review of the Chinese orders. The USDOC is expected to initiate the fifth administrative review of the Taiwanese orders soon.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USDOC and USITC are currently conducting five-year sunset reviews to determine whether to continue the Solar 2 orders on CSPV products from China and Taiwan. The USDOC is conducting an expedited review, with its final results expected in May 2020. The USITC is currently assessing whether it will conduct an expedited or full sunset review, with a decision due on this issue in spring 2020. The USITC&#8217;s sunset review will follow this preliminary decision.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2019, the Company booked the benefits of antidumping duty and countervailing duty provision reversals of $52.3 million, primarily associated with prior years&#8217; module sales based on the respective updated rates of the administrative reviews carried out by the U.S. Department of Commerce.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Section 201</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On May 17, 2017, following receipt of a petition from Suniva, Inc., which was later joined by SolarWorld Americas, Inc., the USITC instituted a safeguard investigation to determine whether there were increased imports of CSPV products in such quantities as to be a substantial cause of serious injury, or the threat thereof, to the domestic industry producing like or directly competitive products. On September 22, 2017, the USITC determined that CSPV products are being imported into the United States in such increased quantities as to be a substantial cause of serious injury to the domestic industry.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="white-space:pre-wrap;">On January 23, 2018, the President of the United States imposed a safeguard measure on imports of CSPV cells.  This safeguard measure, which became effective on February 7, 2018, applies to CSPV products imported from all countries, except for certain developing country members of the World Trade Organization.</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">The USITC conducted a midterm review of the safeguard order in early 2020, issuing its monitoring report in February 2020. Additionally, in March 2020, at the request of the Office of the U.S. Trade Representative (USTR), the USITC released a report regarding the probable economic effect on the domestic CSPV cell and module manufacturing industry of modifying the safeguard measure on CSPV products.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="white-space:pre-wrap;">In addition, on June 13, 2019 and following an abbreviated public comment period, USTR granted an exclusion from the safeguard measure for bifacial solar panels comprising solely bifacial solar cells.  On October 9, 2019, USTR determined to withdraw this exclusion, effective October 28, 2019.  Invenergy Renewables LLC contested USTR&#8217;s withdrawal determination at the CIT and persuaded the Court to enjoin USTR&#8217;s withdrawal due to procedural deficiencies.  In early 2020, USTR conducted a renewed notice-and-comment process in order to withdraw the exclusion for bifacial solar panels. Subject to the CIT&#8217;s further review, the exclusion could be terminated as soon as May 18, 2020.</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">European Antidumping and Anti-Subsidy Investigations</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On September 6, 2012, following a complaint lodged by EU ProSun, an ad-hoc industry association of EU CSPV module, cell and wafer manufacturers, the European Commission initiated an antidumping investigation concerning EU imports of CSPV modules and key components (i.e., cells and wafers) originating in China. On November 8, 2012, following a complaint lodged by the same parties, the European Commission initiated an anti-subsidy investigation on these same products. On December 6, 2013, the EU imposed definitive antidumping and countervailing measures on imports of CSPV modules and key components (i.e., cells and wafers) originating in or consigned from China. On March 3, 2017, the European Commission extended the antidumping and countervailing measures for 18 months on imports of CSPV modules and key components (i.e., cells and wafers) originating in or consigned from China. On September 16, 2017, the European Commission amended the form of the antidumping and countervailing measures for certain Chinese exporters (but not for Canadian Solar).On March 9, 2018, the antidumping and countervailing measures expired. As a result, since then, the CSPV modules and cells of the Company that originate in, or are consigned from, China, are no longer subject to antidumping or countervailing measures.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On February 28, 2014, the Company filed separate actions with the General Court of the EU for annulment of the regulation imposing the definitive antidumping measures and of the regulation imposing the definitive countervailing measures (case T-162/14 and joined cases T-158/14, T-161/14, and T-163/14). The General Court rejected these actions for annulment. On May 8, 2017, the Company appealed the judgements of the General Court before the Court of Justice of the EU (cases C-236/17 and C-237/17). On March 27, 2019, the Court of Justice rejected the appeals. There is no further action with regard to these matters.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21.&#160;COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;text-decoration:underline;text-decoration-color:#000000;">Canadian Antidumping and Countervailing Duties Expiry Review</i></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On June 3, 2015, the Canada Border Services Agency (CBSA) released final determinations regarding the dumping and subsidization of solar modules and laminates originating from China. The CBSA determined that such goods were dumped and subsidized. The CBSA found the Company to be a &#8220;cooperative exporter&#8221; and, as such, ascertained a low (relative to other Chinese exporters) Canadian Solar-specific subsidies rate of RMB0.014 per Watt. On July 3, 2015 the Canadian International Trade Tribunal (CITT) determined that the Canadian industry was not negatively affected as a result of imported modules but was threatened with such negative impact. As a result of these findings, definitive duties were imposed on imports of Chinese solar modules into Canada starting on July 3, 2015. The CITT is required by law to review such finding every five (5) years) lest the finding expire. The CITT&#8217;s finding expires on July 2, 2020.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">On April 1, 2020, the CITT initiated the preliminary stage of the expiry review regarding the above finding. The Company has responded to the CITT with its intent to participate in such review. The CITT will decide by May 21, 2020 based on responses to be received from domestic and Chinese producers whether the expiry review is warranted.</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Regardless of the outcome, the Company does not believe there will be a material negative effect upon its results of operations because it has module manufacturing capacity in Ontario and do not rely on Chinese solar modules to serve its Canadian business. </p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">Please refer to &#8220;Item 8. Financial Information&#8212;A. Consolidated Statements and Other Financial Information&#8212;Legal and Administrative Proceedings&#8221; in the Company&#8217;s Form 20-F for detailed information on antidumping and countervailing duties.</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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI http://asc.fasb.org/topic&amp;trid=2127136<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -URI http://asc.fasb.org/topic&amp;trid=2144648<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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>ZIP
<SEQUENCE>137
<FILENAME>0001104659-20-052010-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001104659-20-052010-xbrl.zip
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
M<GL)LY@8^EXWY&AG>2.Y_.E-;6KFNKA!_>E-P$/XX*/)&]ECGU8^J#;AFWY
M5[CV!'&$#R)@08C"N.5^N$Y(&9  C_)OF&.9[\QD1=&($"2O'B);]$]O'/K
M@N9"P0$D$<PNGS-_&J[7+J-<R !LFQE]#JY<W_[C35&$.N)( ##QPH3W*4B>
MUQ8!@;<87O2G-W/BXOHB+^"BC)PPBN*BXS(3.DS!Q!U=/5">9;0>_0ZOCK\B
MS-N#T8BOH_.9#Y&F@;5)J0/Q?3DVBS"E'ZF>4TW!@[[FFJJ<?M,VIPX+M*/
MH1*!D<O>5RC9LN;(12ZZ2?$#WWU^>A\R](2X8\HQ\B19X,4GCH:@OM<)@Z7/
M,:"5]!N!">J&<1%<D\UHC@Z2HWF7N-1S"/]"";_A_@K_'<V!8\_!%G!(>R+<
MB2)YS)8$9CALA3W2R DHJC<KK!/H3(P0P+..^O&U9Y0#9#*#W3Q%08@QM,EG
M_E=%Z&B].3F(HO#I]I\A$]*0HYD!*TE/8=KK3OM3M"O/J+WT?-=?R*Q =F%P
MJZ [N<$NZ6_ ?8_90IZUBF78]0>!4\J<COCT.(R/!63/.R&VX#(R#C9*#FL0
MGS:'O;M>YW;U\%G/6I[JM'F2P7,\$IV75,)61FT0CV/N_YO:P6??=1BF%5M!
M+YIPK2U_VG+XF:R)]\LO>F9S1*?-T1WQPCFT$'+$(O0W,&HJIXX&A4Z;XU''
M<^Y&L!J"*BHY+2$^;0[A?[)Q]1J@BO+4>8-U:V>.>[0ZLV0I^5?FLF"$+/:Z
M1T30$3B_TTR_RT120JTT0AZ':QV7AYL?=SB\GW8J57F7YO24>,D\*N2-=M@#
M,>)>$>^/HGU13W9Z7+E$P.Y('H:3)Q&R0-PP%R-Z#^G3%Y__462P;HG3X]5?
MP;R^Z119RKTXP9Z+8#2_]7T'PRC$5W %?#7.T/?X-H0*VS$=-"IUD-VOPLR7
M'&GLQ7I\6W7DT2)NQ7>G!UW<1VF+*>5@Y^WI\O#DEW.P?7=R_;]&AQ\JPX]P
M]B";QNNT\>4XGGW>6>'92(:_/<K^K2;T0[ZM)KR)K0ER-._@P8&-O9I"/_!&
MPXW//_NA@-W$3>@Y8D\!-FWDU.R2Q^7UCCIX,:#O"6@9P(YO@K^<<,L;?-V"
MEN;O-,S@BXNYK+G7+>1[C\J"V,"+BUC=V*D)N#?NQJNR.+Q*878MI3BY.;8W
MGU,;3X[20(X8JQ-S]'BVS"^ P 5Q2$]8C@(_CTS>D-PID.7]6#6>&NR@GY0M
M8D<C>S-AXH_R\ZLZQ"?IF)."L+V+D+EW&3>98;0F?79QA;&:O<77U?NTVY_E
MY<*-CK,"R:DSD_Y.QE 8>).8%N@F7<IB5<&=3U*^.!5MK6+@FKFA=(MNSGM:
M]'2YEY.G'&]\OO8Q G)Q7*Y#?&I#;J;/ UAF8&^$FJ7,ZY/].C%7TX-;@DG\
M:H_..\&GY0;Q"A^D"%Z.#>G!<DU33Y;()2WCD;;+6@WRES1?E7NI[<7MF-,U
M8<Z >,Z]H!.V6 9:=I7T)^*FMZ< Y/%QY)E3P?H.Y0F#'.^8DZ497^WPI7B;
MY25IX:L/DDD_.5VQ<'4/CWT>H(=99-I2^I@V*G6BIK'"85Z23TDF;NF2-0N(
MBQSE%#*16SWBE[U/D#F[.\J%@B8RP;N#&]RN![ /PS@:ZU7FPL4^!<V25?%;
MPF7$:-Z5@\H-P?UJL+DCZ&\1Y(>':M(3'"LP!>\VMO9&[KT%%)G01YB/=];'
MU:0G,IE5^YSGXJ?JMK/5I*>VO"SKL<HJ48/V)(T2=\QCJW#56>.%9Q[9D$;S
MSAP&*%@\@VK"?FWFW\+&C1-W0C$,,9U@JE)0FJW1,2N((U7XMVZ8:BBZCX'*
MXE#0!:ND\NW)621AW7'%O,A#<3O"%IC1DYV:E]$PQ'Z-YE<^X;&34+H.*7FG
MF4HQD^."\N/,I ?/F:K^7U/!%AYZ*EQM9DLJ_?@!H!Y,)\'FC5XN%64/$<3+
MC$X)$^G JF P\^YT&9B&#VN?>D1,J$W9X\YR0$-S>@Q)[]'$<Z;LD$9'=&KC
MQPC("2[%Y*J,<+Z9^US> 0(\<+<R\WO/:Y94$TNA82'#+T[+\]FNO*S.J"B[
M9ZBE.KG),-=;P2H9RI"<.#>]$#>2%?SL$ITF1U$$RCL:+'TGRL-.:='#M)KT
M-+G[&7:TPF%14C<U5TJ2T^1F:]6*;Q@Z_PZCC/9YIG24IMC#QBYU%M2)&!CZ
MP92N"1[XN)L)Q0 BU$EC:2231K,B1DT9>XA':<2O*RAUX=<OL@J[XF%5&"6^
MXB $.A$ERV+$_8T%RV5T&:]X7%M%>&I'M5+9-_'U]*S*E_O(U"]RDD:I>,N0
M)(N7N>.)B^@ .U/B8C#RZ-:>M+N('<Z;%CT]N#.') H[:LG[KVL\+8YFV5[V
M5S!:<QES?$DX6O<4K"J(3#_SV.%/#KEX[P2_QS(\<T0O>;Y;NOBI-H:6=SES
MF)6),('G7+4XUA4W61:]<1<>QONOYK(H%#^-57)>./I!8)>Y:/T_QG/QK5FE
M ;U1BY4&@MG&VZLM&U41H\13]5%IECDZLE-=VJ@7X+UGVPUQ'8II.: !N>67
M#C\+3H48TMRHL7\MISEX*$45G8O#RFUWG3[RKMDC<ZCG7#,1W8+ (XW8^3*R
M_DAIX,$&RZ\/CU;IU_&^JA8<^A%X(<409+K;L'JRDW4M2Y)&8;PUSC< WJ_$
M#>'G#<8PIP,\.>E[(*(%@QY$8X-T 56-(,>H["3'F2UCB;-1[QGS+=(:HJ@H
M<>+\[DP*-;C5TA_(Z_%94P_[>%\?OE&O+L--:SE]R-4<W0LZ#]T!F]=1^SUJ
M.4VY4#OD& ,15H/H+G=-'[)K!_5K8SS.U!ED.VCN64BZJ\V69!P9P61,Q\X"
MED 8B[^/YU^>8+8<ZA46EI=KXM0\W/;F-$ZA?,OE/@2=N[;GW:/Y=$UM-F?4
MN=ZUO/X]S>T(6<;K_)O'ZWVYE-=[4[YR3K%'K34KHA/QG]V;O]\H&K:ITWFD
MG"SHA.)Y:+0#DMT,B8M,'_,[;]SDZ7WW\> _] ,J@+72V;&"\.]?'Q5L*5EK
M?NQ\FKT-?TUM%V^P>6/_B?+([U0:%<F:V.A0[M]2X-##2,#)J4%B<WF9JM4!
MS/8X?SBF\^'+B/4)R#<WL(EZ,>F6M6">D)/.CV53G07!M5 LA-'\SN<4XU&#
M.L5"@@6K6C J^1ZS<HUML?%<<FK2E>KT@@*N6_^IRE@QE: 0)"/Q1EID38\8
M9HVX15>T1J5.SM\IBE&Y$=#"+WB=O<0-5D]V:HZP4]AX.;A>W#U!CQ0Z5?D*
M(H/T-H"%2KRO 'V;4%R7V3(5-KRX]P"P(J#URYR>SH9_+?WPEOCV,H3U;4"'
M]*D'(\]BHXX]7Y/^1/F<$F\CHKC.L%EDL$])$P1H^:U=[N3XQH") D\SLFNH
MK88.:6SAO/%Y-O$[J/&]9V<SP4/?F<-DW*B,>%ZF^E/SO;F?2O=HRA\)@YE[
M =WO> &[#E=K^'4=XM%(07.:%#JU01_M4]&N-TF,% ]L>"U/1(XXSLQ'KP.T
MB$8' I+"]F'S"YS)(\5(>L>JS'2W'[T<X@/%WK.-Z3QH%-3K35U(2DJ?[&F=
MUA/3!._+8A\/.'T^1F5?5T#%5).9C&K20RFZO8;5IJ->,6];*:4AT=WU'CW*
MZ]\*SQ8UG4X$S4UL+\KU-7I2P_  RCQ@Y $C-8".)D^CR][I"6MZ+;=QJ:_C
MS92.>X=*"19$CYA+'%B09E15[(,DK'D-2HTT#K0MOZBNE/-6^$CJD1KTG8 N
MVY0Z GUM,LSAT6L?=HT8H5.(,$JCG8X3]4N8M6!2C"+(%%I_(B^$E-MHJQT9
M%V1VVB0.9EY:!]5PJC:+)EI4+IJFA5ZK+DVH0U>1-G",'IS9QH[" &< 7)7!
M.\]F:^)&D;K&;BCD%1+I!2:=HFY\7,8 Z<B.+C':Z#P&C<#2!-=TD1M=#R_R
MB4KU_$J=,N-P)+(VY8*JQ+&5E:],73OV7%CG /XLB$.EYI@M?6TLPX6[VOA^
M] 2HBB5;;S\#3,V2BJ%A(3.4/+,6CO8$\;<Z\_$$).>=J%A URIDU&V X@X3
MQK15*!F4'.4OBJ5BJ4-H^E8BFQ\L>V1V+\A@T-6D5-,0FSJ,3.C$%Q36-W_$
MB3?%P+5W1: G,97QZ*SBAGE$1O<?4"*D]U$AJ5X=0F.%$!]%9D[A<\QK"$QE
MNOJ&__9,IDO$LGYD@$(YPS<",<?1JD')<4XV>DK#I1%GC:%Q4"ZUY^/0C^+F
M.-+)4<S\@+C9]S)<[;9H1"4MN>C;$I^+I\NUO[-%LQ<X7<'2P_5XFNKZ;XL9
M4BO)3!W5RC,Q)RGO8>/S5K.XJ2YCK&@$ZU+7%1'2>1F4O#28V:UC&.:-)0K<
M]30&LWYKNT5E_@)#S9(F7WI1%HT*&2N<G:S(?^AS1^^^?R4L)X=A5:RKZ(P5
M03R.SUS@3ZW_.@ICV<XB&LWV.[%0=/.@EMQ4@4QH'"TPXDZQQR]];RK+XV '
MUK[GP"HV$W\TWKA449G*?OG:[E=& V!>N3QN6.A5""=2^3%GCP2C%:R@/SJQ
M:,E?A4!V@(=-(G,Q>I!R\FA<[%4(J!-BRS!A7HZ#C?XC*B4U51#75&H^>\1H
MSF@)B^,F[<J@DNK5L+\-Q%LA 07A*Q!"QOFL2A$TI*]+$#540D]MJCBV1H7H
MQE9JR%2],-O>&%]E%S,_S@!2RGLMRJ]D&C_:F6J!IRB27"&>7(DZE%&;Y)Z8
M/1W:C2_K.>7*T;24X6<HZ,45!\^YVE3RFQ\^]RK[:@;3O*.SCL!0_^8"2]5#
MAZ'#1<']Z":$C1.]IG@E&-T:XZM=Y?Y*F@)F3ZW;:&(%L,NCJ^7#F34I:I#:
M9-RSKNF:4SM*#@A_NU3>=_,P/RXFRI7/2^>=(]1CN!<8?$>1M\*,$T^0*#M,
M)D][?".XBLK0@1;]4VY<_RF],!=Y^*>9(Q-+1@75"_J';A7@""[_,B9A-ASA
M..3VD@@*H\**!47GZ(9E3%UCH&](#6_@[9VBNN1&*,:.H>Z*D[\8.LZLL(?]
M%7HM13>LX8]D/B$>=46UB7C_NDQ5I-W;&<F5"IDRQ/4)9ODK:E/#,N:I5+Q'
M^>47C:H4:4Q5 <4A2>IAM5H3;U/W:$5?RE3QQ#Y\F8#ADVVT\&TXK"HJTPU%
MD;M!.*.+<$B?D@@Q)0%BLAX*=8N8JA_W'J=1II);Z"/F1$7T9;:EF9\F8TQD
M4IO:='TI[#PFU':)$#)6[<Q77NUI6,9T$44;E.A:6ZH).R&"LI>_M'2FBP*8
M@^]"T&L:_=OWHN#1CB,-)]M@&8E,FA1X?<))3J$P5,H]-";ONJ**1$H" MAJ
MS]ZE#;=8%_E6I\<KEU,IO?&2V:[8IT]D+9(D[.E=*5S=QUW.Z%'#4AHI-4WG
M_J(3N+Q2D28UC[Z!V":K/0S;HYQ!!LNM15;#9Y4QMTE1@V03)Z-;K3E= B_L
MD6XGYXROP+]@M&!SS*O3$9_QN!!MV2L?)H6-_#FDP6@.H^V.0AVU6M-GOKTE
MDA^LCB9J3<6F"UN3]2E[I!!_OQAR'$./=SQG!K*D!!-3).(]3E5FGX;M&$BF
MH4>CL!WR4G*U3V9% 5,WR^56HRG\1]8^IY?C@%9)IV[)5R&F5!6NB!\TTAUU
M 5.%<D?^[?/LOG<;&:W@8E&3UM!#P&Q8J]F2\<C(&*_#O47&1S%S+%:_A.';
MF\2PAM%%Q=H7Q%5X%20IA;?G8:FL#BAO^A(@JR8RF@[7B$"E6W4*&:Y>Z@">
ML/>%ACT\ 9#QG+.VJD8E#/?.F*!;$W72$+ZQ02F*]MNQ;8SA)A?,O><X^%NJ
M1_L5-2/256Q#RCE&%IZ:.C571UB)\1-%2^Z>90T?1513;WRY(K.)TI 8/DY$
ML=O3?7?\G>-0""R[D5/;F/(50<^_:P;4,K!C[%B0GHP<6HL9HT=R$P&&QNQD
M._"))V:^ZLBH40G35RVY.]"R5\78&954I@Z^N7O0<TZB6'>PU[D)/0=XU.P5
M]?2FBF0,'_\:AD\QI$^![R6I>_@ZYRQ826:J - !=#M=3G;2V^>FF7JD9MOB
M1G>Q?\XN_L7'IN)=\'5-TI5JH6]<RO!%1V1+[0OFPGXK37*EBAI92F.J@D1L
M_?(7H)2BOO7$4HF@DM94440[C<_4Q:TF&BR2@^Q,7D87MV79 ,Q-"YER^%WT
M>KCU?><)NE_N%Y&A>(6[L*'OU=B([5 9/BPFH_]H+K,X%AV^=01F[*"2K_7*
M)]P9S;=66\P3P.;,AH%>9$U+">O[%#3EVT^B0^?V2?FG1H_S=[#9B?+9*U>
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
M?SPC*R)P>;;[%K,%^=MIU.R4_'1ZT3N]O/CTPS5/PB&2?Q;X2-2<_"O,:'^
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
MXIK<PYI\V8*3;D[<REQ%Y(R&*4JNW<J0"[UJ1QP5G"""$2@R7973O+P6@Q3
M&M<;5L!(2HLFRX:+HQDQ(0O"%/0N::Q=G L::R'YID1;%PY\4BA>*_NI8587
M=::ED%RX(5M9L)H;CS=Q;$->Q/M>;9,R!UF- 2(2.V(EG^6%DZD[_S-XR-B*
M:YSK0K)@SMK,MDV62+WS4J&<44H-72:5N+KK@Z!\!')=-=Y&8.#B6@G<?G&6
M7&*67#5>VAQT:A[=]@7EY4YKE\F:R <EY!MR,B/UKDEM:U+JOF^;M"0D^?/
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
M>#IIS+FOV.6:=.^:W$WA"!_PE$B[/+\'*R?V[N,)VG0%BA*98/,^3B4P\)^
MMW;,_1:6X9KZJ!&HL_+DU*PC]U6M?%/UO"Q7.D.HO$0K-$4,8P6)25B/2JBN
MQ?6/9\GS^K1";/F1JEKOL+SMH7L+>XXE62 :7PU;%#-EB\ :KTF[.#P"6]8P
MO2IHF ZF3[/YZ.MHLAC_.HK>H?[I<;I8_+DIEFH*)[$F3E=XT3^:5YDMZU@<
M@IP9C^SJ*?L&ZDQS 7X?3FD.!%5-*7H*3H$:/A5*25R +4KZMT ,)(T!70<1
M=+%E.O01_O\90- Q&=KY@5^.2>+ZO'=[VQ!EJHLWRE17$]U=='?]8#EOTOO)
M==']I+_XJCT\3K\WR=%!N$4?GV.>W+]_<XG3,K WL';T2:1\UA6D#(%:-IFP
MN.O2Z1O8H$) S@@5[:[.FI)?LK%]JPAN[JZF1!;$!$39)'CB!%JO'7+(J\Z2
MR? [1*/&VR4>KP& 2<]9CP[><98.SP,AWKLMTBX#ME#^@?J7@@-D0TB90LJV
M3%>1OW1L#QQBED"3U/?(4)42*+9%?:IB12/N2G=5Y:>KB>/1E%D OA*/$&%#
M6"=FIJ,,RTJ&1-MTIC#V>DHI)?9%T4TEM4-;A)H3*?<!OQ);!X,ENZHN>0]0
MJ02:Y*5366$SI"/@O!,^YM26XGN+@!$E9]Q:(/0$]3<.7C!_I[\S@Z[X7=LF
MY=R850U*?M A(DE2B"]QGZ:>QC1%<=;X(*\3%Y<YM>?D70L*'^2Y49J,?9+:
MR&G(T)AJ/M8V'?M +C7CQ$4@3!$!,;6#8HGTAO0@VI7U2$6@9YPO%PH\6BNF
M/7DA<T]*<56XK$<5TCV+\R-=G]I#Z&X=EYWU3Y),VY2D%/S<8U-<8S[7%%6R
MV>+U-#@>"L21I+=NF_QE8#:B["SE WE_^^"@H>,_>RO?ZAN&XV?<UF1T:9N\
MI;&6G]:LKOB^!DLO/UANMK&Z,OE^;(Q?@V5?'#2WW*L2!MT^)0>)50&VF^5Q
M2&_<-I%+H!0J_UI;?A(,80B"_P9^7QM_C9-]A-6G;4*6!\NO UOCHGZ$);(M
M]E<QPC)/=FV_Z 4Q1QJ@7CW8)*2AGW+[EIUJ0(Y(G$.]WNW-1<NT0AI]I!]E
M%G!@/JQ/Z+#Y2E($D3"/[=:" #$>V?/[M46RQ0!'PLQVR*DQV6<(;'5H1N_8
MPP=D?=L\>" M/.E%B+5%12K@0J0WHFZYFNS^)&(*;/^,7E)K4GNW7TW$84=Z
MD1TBH88J1/;03'^G[^*0;LH;D(>=VZ\(PJ@C/5"N8D$2$WFMCG3#^PZ]]<!W
M/6<#T.X&5%@?,JFT7S'DX4<:(ENKH&YUP?;RTBE\X&"0:+^B2&*/M(3M7ZSN
MK($QFSY6:9VD[_7>\=J'_,1=KU3?MHBW..@H4*D!+D5J_.P8PL^ *4$ASII+
M!<I)5V(Y"D./M**JTA7"4W^W=3TXZ!L^1B-/AS:Y'SM(8".V$(A0:HL:E,V"
M2!V4"V=,V=:.D^M)+ \I?=NB$<5!1SJ@7KG8??Q2$ "W#Z)DB3ZC1]L$+@LU
M$K-T8&#:\_Z?SP+NP^ 1^U__'U!+ P04    "  A2IQ0R:>^O,EN   ID@<
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
M(L>K<8J70]<QWWBH[[=X^X1)G9/-CUO#3#=T4L2*GO#W1T;4.%_NZ/7*0Y+
MVXQ I&,?9DS_VTE2BL=TW,/H;#Z5;U)FYHY9.QO;Q[\Z(?O J7LOT[]W'PM$
M[S$6B#)[13%-U6]1%E/WZM6KVU>][WOI0-E_(L_N):/VREW.C EE N=;N;FX
MS)/CDTLQ"5+1"[#UP]I__M'&3G*YEO[C_$HM_=/OZ5PS\XNOV:5#N^@)N__\
M3M[TQ^;GF;"1:K8$!P$.#O]8TJ_TOS@!9[9%'8YS/HE1G^1G3Y=L.O!A]9;<
ME'QB8_+/[UZGHZV(ORWBZ6$BOAHU44#GYN\2K;\50#)3N,\=;!D,.&T:8OOE
M42CFN9HHI9SGT- 19O_^[LW[FS?OWO_TYOW;]^_>WGSX\*8-_J<G3V, <.EJ
M'Y.[*' \.C$644%6^)A3F#*X"-HU!41>S1*#(!2IE.^">;?/:,X>20]\/&)I
MZ&K'5*9Y0VR/K06M;?Z"A)3OXB/AC/6)]O</B^)#=9.A&QN@5(-,0A^GWZG)
MANU_?A>2J,VC>H#9U35W1%6F+[_@O?"$OFC7ZL*XJ8:5@(0=<7Q"?XAEP=R"
M86M;LD"2GUME]YMZED8R<R!<GN,U-842H^;H!Y*P7="^51S>UH.#@!0@P/0]
M+T+N'.]\(L,CWZQ5&'ZJ!X8\!4"X/\-T'M2FMN^I7$C8?]:N5?Z_JX?_9R08
M!B YDQX<%T\B@4IZV:15MK^OX]#-SAX$Q]/-T LG:,N3>'ZS5CG_H0[.GU,
M@OLL)$7H!G@ZBP;L\C'9#WQ;#$9!KU:QN:T#FP*"0$!UL#P/_\,(>BT$B-NV
M7=/Y51VX<.F A,: _G-*EOX+S[4D;-DN$A4-:R$5H'!(EFLA"&FS=A&HQ5P^
M)P$2^V=^$"+W_SH[Z;'!;]PN%!5-:1DAA@$Y.!RI5AWXGH==@3K%;]8N"!7M
M:#X)IMG/Y()@)%@!^9_;97=%>SD_=<-L9LGX[FSC>V(S[;))N^RN:!Y?3M\P
MRQ?8BMCG7]\\+5GPGL/RRR;MLKRB:7PY?2 L'WZQXCK-@KV<WZQ=UE>TC?DD
M&&9_G\[>9A0\N&C-BQGG?V^7X14-WK.YFSXU(\(N6STX =WT?L.(B#V?XJ;M
MAKXJ&K9B,D H]+]BU_W%H_;= B.J76%[% 21Q!LJ;-\N*+78N$):0"#SV7>I
MY8=([,(EXMRMBW;M(E&+K7M! P@$#DLWB1@YWCHNB2$&0M2\73QJ,7A%I("
M):["PZ[K/V.ZD:+#7"7.:W[S=F&I: ++20$!2[QT!_1D6_L2Q]Q9JW9!J&@8
M<RD P?OA%I,U7:<?B?\2;M@E).2),1"T;A>+BE:SE!(@L?U3C6.Z?WHV(C8'
M$EGC=A&I:%3+" &Q2!8;JN\5K8U\HW8!J"7LG"? ,.,G_I(@]F+>8K]]\EV!
M><UMU2[K*QK97 I "#VK<<-"W+[U9UP=()A&(7O"CDU6K,E*.[6;"EE+7%E.
M$)#CXN0B>*!_D>5L7[1L%Y*:,K<OJ "%0Y*MIH9$KFV[6%0TOR5T $$C+LX6
M<[$P1?6R:;M8U)6V?4$&$"BRJD4A&+S&[<)14_8VCY!B0/[[Q_R]VQKNXI9X
MXS/#6.&]W+>OV+W<XSCTWX/I9#$=C^[[R^%];[&D__,XG"P7O>E#;_!S?_)Q
MN.B-)KWAOS^-EK]]U^ MW11S^3.X["_G4GOX\^]'JGB7=46-]%=4]8GV[3^B
M0^WP!Y],\$OF?1SB>_2?5H(RYQIOR3',W^R5H\3684G2*F^1U0%E=V^FJ[Z=
MS()[ZU'>U/ -X$J"F86.3UWW$<I?K[V]^?#AG?EKPXVBQJ48 )"7#J?@TXX=
MCK3]VU>W4F05^YJ\A:PBK[F]4HTD , =]_U$7V$ZEN\5''(%?0P<:C=E#[4"
M4@  =#8Q;DV%@K9 CC$E4<N"(R#G:P %],E5#U!0CZJ,'U)Z+'':03B"I**7
M!84S?P#<7Y+X^;9],?^Y+4U67-!&@$L!  Q.15=GR+%'W@#MG!"Y<B5-WL=D
M:09M7 IH 8#0G%6E]+"=O@TBA4;4V&29!FU,1$0  (,J\]$VBE\MB=^8X]27
M+;)O5/N;+.F@OXS4Z0* X@RQ/"TI4/DF)LL[:&.1GSH =D]\CU5[HB2[\8/K
MR:-]4O;+NY@L^Z -AYP4 / <5?R+T(O(UL\T;+\P6?&TN4:]T6)DU4&B>RC3
M(/$]3OYWE&CS&]^E/ H289Q3$7OPR<ME8EOI42#HV&I :Y-6;Q"WCF5X/EU*
MDANQE)@9R_JFG ]#XCQ%(9/DI<_?5X1+MY[!(5B])9="?E>HAQW09.@BKRJ^
M02/:#82M(:SZ&E 6T@<-MAGQ5T[('J80::.9!A#,ZQK R9($#0^1"4/)P<[:
M2^YY6-FWUM-7*]TXA^4CY22CK$^<@.X7]Q%A&TN<S#7!X72U1%\$0+?R90C.
M@!HDJ!5>01/-06)F4V*'JQ6VPJEW[BVATSXO3*7;&8+KH8[]7Y%<:!CSM8V4
M(0^43:<BU]LGQ\N]^J!D2!>.!<'A48,$E*0>FD \.EX\GY2 E".,@#FV\39Y
M6E$@ LJ](;A5:@!=F5YH,.=B1.RA<]RW*,&$/1_)/$;AQA>I\FI=31;MK!%@
M-6)!HYO8(^FT54 ][V&RR&=36)[3" W"3!K?TA=$#F,:GB[>?,64IL )\>$)
MYT3-G&/+7R?8Q6)<G$C<T&>-EB:M49J:YQ0TD8Q9E/@UL@9,/-OXM\.SR\,O
MF%A.(-QK2HQCM(IJW<Y /=([(@7)?EJ#&$@',EK+M7DYD-)>GR!</HK*_B)T
M<B2OV&;VI_BMVZU/M[S]S]A>X[YGIPKP'-%M[07MSC!O8'RCM61K$(4&6 )M
MJR@VB8_OXNX/H1&Z)-@KW:4]#.(!C9:];=7/(.9!!P4$N7BZ2M),TNB9-/I8
M;4BCQ7K;%1()%Z")B6R73-\2CW?%U,U^AU<^8=NGBX+ 63E6K'?W5Y1 _7A(
MZ:\8+47<0O"C-&.,7*'./,WNT@FS#9'2?.]'3^$J<@\WIX(X=4?MT>8WK^C_
MQ]XR/@Y,_Z,_'D]_[4\&P][#=-Z[GWZZ6SY\&O?Z@\'T$[M'_1_)!_[SNS;O
M3@<DS"PV^E_G"XW^Z7=F@Z!#Y.K?$7*=U9YN'2E?3D3RKE.7Z&]B'SE-,96
M@$YVC@-JAV/12\FZG<W?K2Z-9G;1JY(+X'B03U5Z24JM*Y"+;'KBJPXFH MN
M#4.9NQOV_MW-A_>OX%Q_:Q9>+ND $,\>Q@."[21/1WZQ0=H%0MJ@CACG?,I2
MRIKP^62_V+>?XZDN_46TV[D.U0^Y..ATA)#>IXN&#GU-8Q+KWE23QLYSK#BJ
M 2+J!2&?KS(:(N+JW\QJU9O'@AL/)<=H_S)$)6(9DB7TTJY>H>!OY#B8>@^.
M1_].:<Y(<$SLDE)T1Z?TI]:IISJDR7VXLN#4PP+#7@?FOW>2>#'E 7O7C$X7
MTTEC+:?#S>M+I\-@^O@X6B:%VOJ3>U;$;3F:?!Q.!J.A(9=#B;!B1\JUS2)B
M;2B33G@.OQSN<XQ];QUBLCW])/$GE!C'O&M!CE8NYUZ?/ #6B-:LI>9HJ9&
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
M_N)NP!>P%/ABZJ"9I9(99W.+,NX,?6"% T'P-C0 M9#>#H$OSOHHZ@3!;]$
MJ"!S/[+B-5V=3UD412GH!"&'KBR 1;1! U!"YT,4WQW*$)16"7D*0H(N*C/4
M,R2$;+L&5J\"Y1T2#0X=$ZHM+E^P^XP?J>JX*:%^*0T*W%967C.J)[D*3[HM
M.*RR^?+%KT5>CF,!U^%;$),C*[X"Z6#OYM8G'\EHP%7_MB0D84;W9>3!CX2W
MNTL.!MR.:$E"$EXTGB]08F*T;=^SEQM,,%J%_!K.M0P+W![1$H3ZN&(XK/Z
M',(JH>%'C-A_,^^D7ES]]C*N_M ?S7N?^^-/P][CL+_X-!^R$F)=B:L?67*
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
MHA]-M\33>ASX/TB!T.L/P6>N@(<>4= <YLR5.UT-"+:=\ %9<1%-B:]*W-R
M9TI@5=3FF1(3"Q2X,7,]$ZGSH[@;$!]5D6 6 94GZNL%+._.^7!S^^8]'-]5
MG2!R"6W$[MS0F028Y9?0K8?NY7?(^U-B[,C;0_!IJ8K>R=J4D@1@,259HXN0
M;N+,)!BS+S'.BD\N:0\#AY? .5/;X26E%RZ"TKVPH ^0DTM!-A6  G1RU0Y5
M?BN_O;F]^0G.F54G?%Q" 2"Z0"Z6E\C+M8!PABD)8>XB8I8" #R/KZH<GJSR
MU@DYA[H\4B04^D&(Y6CCHT 7 -0$I[!^.H<Q14,0<V@Z?P.,HB&8GW** *</
M$$5#0385@ *D:-0.5>[\??^*GK]OX2@:=<+');0)XS@N+?B(/)1<O%E@\NQ8
M_ -,H3T$Q4))Z(Z6L9R>QH."T\="CE\T@: =Z#'Y@@0 >U.?E>8K*/]^UL;
M82^(=M=VV)]1" "7T[5 EE9.V9%8:YF[@7?[RZN#C(P3+9X]<Y%76-FIF4\!
M42:X\IVSIQJA_BI!53\%6L<Q(E7U*T-UJ;>7A;/FBT]2Z[^@#P0%JLGUDU>
MI:P  3#W<!T7E!0K[F:N5)@J2?P28%K:1E<K?=U'F-UJRU#DX& 0$8*%5PGE
M70 K[%+<Y51!RWQ)7U.88PL[STP$\Q,7Z?B%W:#E>*O"5TQ9"RG?P4;T>?Z*
M4N\&+=&["!9URKJVLN1[HW)O:&GD=:TSL+BR#&QV_R/<^/;I.?CIBX=)L'%V
M,TPL5IEE+;K4J]$?6GJZ*K8:)$)#EY[>2U]3B1%V@);"KJ'""&F"!EBZCU"+
M2KB)4,-JXGN6TH:K,0ZT5'G=K5>#U,9UGN.]EEE$K TUD:6SXZD_NB- 2ZQ7
MTH1TB6P<MS$GJ?(1A:S>R7Z)R9:'5'&?=ATZKVH"IY@N:)LG?\9?G&VTO?,)
M\5\<;SU ._I+N!?LFWI#M MLC=X</3(AXZR 8]LXU>A]R9,!#8=")['(1YQH
MU"./77>.G<EQWMAR@[S#BQ0?Z1!A,/*H;NWXHL)L[7V^7?FIT?W3'HL:/YJ3
M]R]_QJ[]X!.6!WHL-LQNS\_\%TQ8N"$,Z'^?2TR9 =K%O"[?DB:1S5<Y.2AV
MTU4<VA&Z$XH:MXM&#8ZA(H*@[>5S_(P]GJ]?&-\2MF\7JQH=/1*:FJ\,D21'
M\:=PKJTJ]6@7AAK\-4I4P5LW7 */!FT!DN6':1?>&OTU^J1"PYR=J_1$90D+
MIRU]NCIZA/NKD.I*)])$^JOV,.UB7H.7ISRIT#!GCVX'IU>W X4U+>_2;D)
M#4XA-;(,E_AEMYN=.#[#ICCP/78/"7L6\R*>?M*K\OOZLLKO8/KX.%H^#B?+
MI+3O8#I9CB8?AY/!:+A@OY^^U95*O^G^>YIZ4MZ9\F_LLY(T9'OZ25;FM\Q
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
M!2Y77.;#NYO;-[?FZ^8T"2:78 #X,N=9<#C")YCO%"AH"R&^JBJF.;V83PX
M4/I6G&M\>,*1;?Q27,3-(2B;9: 14P0 '<[VL*3?U%,\3CW@Q'<KZ1PG@B!"
MQ&:G=V!E>\!5,LX%3PI2EJ2O#:2N*10E@8.J1J2V],74I0=782^0JL6EF.;
M*Z() EH$VTZHB96\#TA-HP I.46&4H[RKBE!IABOD0$]0G!EH%B/$-%@B.<3
MM,7356Y"PC0O25L :5YBZ4G9+IE_E[F?/QC?W]R^!5*(MP(B7)J:"*,._.T.
M>?N^.%)ZWL)T-EVAS!R#H><S;X1_ARE,/4D""Z>1Z60X#2Y>3KY)1BY?_&)&
M9AJ9SF;39V1F\HTRDK92D,E<,].Y:B68F9T^ /WZ%%\]N!=SQ(R5,Q8*>D/(
M3U B4&[<?A7I!$5U &!82!5P.Q'2>%97^D+A46OB;5V<1A"N2Y?@L(@<:)E9
M%RMW1@U#^@>TQJ\%TB_O8O*@:6(GRQ$'#;W+D,H$B]YG$[0UF6E= UX"J@RG
M(@VW.]??8WR'/3I@.'.1[E-?;R\3DH:/L_'TM^&P=S><#!]&R]YLW)]T)B_I
M> %96A+@K%%;WHHY\M:B"YR9W^!D$O&YF3H?,E,VY/Z)9R L:IK[%8"#[0+^
M'"--^XXI4[;15LC,L]]-.W$XR!^=P_F9&O/%?Y'S,_^[:7>.C)_YF0+01X[;
M4I$YS&MHSO(53YM;GJ3CQNT]8R^VX[QNYREB\V<*RD%G(8\HM#:.M\[]GBC!
M C"K# C!@%:#OPJ5T.P& 2WL06JJ2/MKS_D;BY[E5NP+P6ZO!.PY08U[2 H$
M+/OW?G R2Z>K_F[G.A;;E!:(&B0.#AY\\HAM5J!]Y%'K 5&;]F"*<-TN;7T9
M@F] +A.MLJ-C$O6SSTI'K1\BSVY!BO)?@^"E:%UR\BSHF+1\\G#<,:XYUMK>
MP_^JR?OMQJ2'SXJ.25%2)X>R+J+?W[<G1Z+OFKS#;TR21,P )4M;Y@:N*AB'
M04Q6!6@(Y0-EIDOS;A#!=RA@D][NL!?$899I/(5@Z:=N<TU?^4^7OO+%S_WY
M\/N[_F)XWQM,'V?#R2*MT'OX6B_T>\?O=<:)?KSUS^=DGQ#F+HH+>][M3VUF
M*#X&^B^(V&HE>2N/;R0<%G]??FWGK T@EW[=V.;"9'FJ ;@@RA-YHL6SV7['
M4HOD%7D;^120^T-<F<^Y+1NA'H $I;OW(O2M/Y-=77K90=(>PI64)A=$5AXD
M;   ZD=*;L@F1[5-6?5T3CLX=RX;W<HYE$/#3;H;<UL"V4R%TB<$ -!^6 F"
MW+6$VU<WMS\!N&I1%18N40"0NESQIPTAW9[E11LT!H!PMDE$DZ^J%),%"D;!
MYB[:VPNCXS4,;#":7AM;^ 7O*I^I70W<EV9LFH<<_QKTHW#C$TF$MX'O@ CS
M-R.7]3.K<;]JW_,BY)[\OB//(IC.;^2=II%,:^H]."0([]%^NF)/6TU7\;6<
MWS BP8Q-<^FS?T]7?4J7S6A[\$E,7A![C9<;Y(WBC&KG&2?&1C(PSU,+8EH@
M\A9JE50XO 4MV /D4GH08<2QNI<PY+JN68%(O8 EUG6QMOG'.LKR[1#JB+7O
MH+\*,1E^V3G)W19Z\.RPY:P<;-^C\#P@T.)W0:1VU"^9[3 /KNS%D<CCQ)>8
M;&L5,=[P(-(\ $D2CT?0,E%C+_0H""(JT1%QO#7=RQW_L&=G7-3!\ O=Y)U
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
MC)ISR>4-OV_]%3D$%R46%'2 $&,H+Z9'=:J RO9AZ:]65)FC\J8&2K8YA$A
M$Y!D:82V4U)"+8SM.+'@WHF)#"."659C4A=_Y&5O\DH672TC0H@M5!.!6M@
M3DK.19I21_6 <#]SD<>>3F Y*;NMV%>E,P!@0U=7!C2H;FVGIE9V5C;'/O("
M%OI2.TU5>@.V6\OLXRHD0UNP<[Q+9C]=37QZ\)RR#B[CTH(EJS<$8-M6<]'J
MT0T->'4>5+9X0!N[FJ#K4-T1R _67W5C5SI0YZNFE2$:F@0<MZS@L&<=8I]%
M._M%<\!&L8(X<W?Q"QJA@9?5+32!5.L*V*S6!%6-7F@ 9V=*MZMG:@ X=*+W
M^$FT$4M[ #:1*ZS1"S*AH9BQ!NB\(V)M4(!S\YZ10TPKOOY;8 BK#P/8'-9=
MOMJT@Q."S 843W&::!C#+YA83G J32K9J 7] !O-%79I ;'0<%4GO++J#-I4
MUD1:AVIHD ]7*VQ1&W_XQ8IO2L^IU3#U&#GL_V>.N6?DXOC"!F6 8U&CG_W0
M]^S\'S(M!;+1R)=,;A>UV%V-< 6:D%4B)ZF_?IDZ8[F131=7EG$),P7RU_8D
M3.YO]112;YEA7Y74-B&$9CV-YF4*GHC$-Z5B\I&;%NT?>2N?;.-KR@6.1N7>
M)K.8:X%=F5)H *=1ZAERV!,@PD36LU80'(B:LIG/4SVC!QXLQW39(F0N&T)P
M!%8"YY(DP\^:]'<[[-G.E]>/Z ^?9$/"T]4@</1>,?GPZO7Y*R;I^#WV2_R-
M7O8C/7_5&RQ&AIXL*2&\QV(EH[A:8G+OEJ5''#.D>(^7E.BOOS:#E+X 6S^L
M_6<J-DY"&OW'.47T3[^?*H/O.6\$<%N8?Z>D-!1L(7)IJKPI:C,^^3KW&8#+
MGPV7_I<(2LK1_'R;R/RA6\2"[6 A\3W'2BK#!9MHX(]#FUO)7[F7R>->) K'
M_!T5 IID]Q);&\]W_37=J>G95<QI00>3Q[8RDP5S;X2_@3/!+T,/D_7^9]]E
M5O7 _T$NRT5=3 ;5BGE<-/O&<P<'!T4HAOH1>=&*ZFCQ(X'CR-_3=267;XW>
M)J-=Q4!H$-(N#.GF1B?P0QD@>/U-NI@K0,$CI?D%$C@#[+I!LBYE$/ ;FO29
MJNP_O#FWN^M\6O35-YE\8Y/.0SU!SL^[<9[^"^V0]\LOBDP]:VW2-Z?'U;.)
M-\Y6^G^BV#6H+K"\+JTR^+8*@WFS;VB7C;\W\U\P&6P<#Q6<=]+V[1HOK_0W
M7<G<V]U[AX_#_L?MT\^*PGS>O%U&:YN)LJDWSMI^Q!R>KH-FX5YNPBCT:I?1
MVJ:B @6-\SOV\'LH^<",^']@*SS85&-GZX18%0+U@=I%1=NX+$=4XT!-^Y[]
M./5"1'<Z]7-4T*M=""J9E0(*FN#W(OI[XT<+Y.V#Q(JBX#O(#8Z^G'V!BU!S
M@'91T+4H-8EI08N,PLT0!6$_8+LD5C\=)#W;A4#;T%2DHAW>]U?$L?3.96&_
M=OE>R085TM XU^\(^MMQ!_YVBXF%1UOV!B^[)/V%_6.Z2M1AY&$WT#NJ2X_;
M+FJ5;-S2-+9K2;"2!R&)+/:%3P$:CP>*&(H[M@M2)3M93$2[*!PT.V7/ST7[
M=D-2VJ:S=.YM^((_6NZE8_HWY%D;G,9NY&X+G0':!4/;O-8CIF6G\I_J9WNN
M;;L\KV1IY^;=-GL/JR_083.G3[OLKF1"<^??/-OCH%>TQ.MH@E]2VT79D-/J
MWBX8VL:T#BDMX;*)EBZ5C^*-7]*Z7:YKAV,E,V^<R<G#E]@+DQ2)C\2/=O+
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
MCL@!*2W5-(CN2=E.>/-T @FE?>J[J=R*&%9I)ACTKW;59B@>M35NEZINW(P
MH8M4*]T6Q8S#A;)VMPVJYQBB>\WDP:1[M2F(Q=V2][2K3))I.1:7NU8OU^F2
M9F-PNQQIVSM>YA%XS2</'2H8JB7N0H5>Z#JZT66<^M4Y5NE>PP\0DGY1I>AP
M"/KL.FYNB%9QSJO2#SFZ*JN>QMK*3HB15UWVQE?84ARN%I[:CX3[UU^N25BH
M>!0D?='HKD\W_AV]#EN^#WS="KGO%JB5+7.7:8+8+XLD;3[52'K][-^J;_;T
MIA?5N2\]M%9#8L4KEP-VP24Z7CYY?V6(PN;HT:-<T2R,Y+=%C2<5(C<?JA'A
M<'*?D(BV+E_L3=/0*>5<KL\G'PSFB7=(GFEP3SWV*HZ;H>Q $#TJ?7X217BI
MM7!6%"Y \O#FUO"9?[?GRG.;?'8\:HA'K[XWF%.R2=(;,^1XT*^1TVC2#R?$
M6-2SPHTS.3BA<).(N Y)).. QM<"XGJU+T[*)F3IT<!XUQ5$(34@$ '+F8(%
M7!/<<4'#)XW<';%B41$<P(W?AOV\.^/Z#*C_ODVG^8CBP?4H>W'DB[#F>9/4
ME(V,<4MWO$UQF;5Z%+!/M?7-D9D_U;MCGA0;:-'44T)>)&)&4MQ(:AJ<D*W@
M239=SW6JP;P.J]#W$$%>A"7LO%.C 7.S0ST73K*P*8K5B]HB]_]2%3/9UWD-
M$?MTN;P=Q:DITIHRK'O1,K6OP-+'9+K._WK7$K1#>.97]]P$/]Q4JJITMH<8
M=JIE[N4L3T_F07_*RH.[TJRFH<"G;R6O3B>%MEJ/**,DBZC<*G-.7/E%G!XA
MXS[9CD=_U']BCNOQE6>T33MUK"R5V6\GL3 -]JY5'4L-*P%RR-3P<UR_3C8(
M>\2PKL,*;3.;'I/,ID1@DD@<+3"E'$0*D@YI)]$T(_29D-E[X!FN9S''\,YD
M'M"#+XH.FE"1V947:G6?/XWO9Y():.%O$4X& 4@FKD)1^>/P50<U/(>KXD<]
MX F#]&-&T/H$OX7OVLP2M=.8$)?J2GL>X:]1XV?@]E<U]]!S-S=E&*/<RL>J
M2G^@O-:CF!,+U;R>OZZ:HI]KBB5N.<0YX2@1B7P(:7>\?JB3DM2KKMR!^TE.
MJGG@-8":T?KAB^B!.IV8W[VF\L(+J_Q9=2V3VBQP?B=+D\:+BK$O!P8,Y MC
M=03PUK<Y9G$,9HO39O7X2\?BHW\KY"P(!C6(PMX9]H$QW&PABU"6Y/IE&B#'
M_6METN">?(L8P7.$;+PQ3P.2@6JQ;Q*^9+R$QRY<ATR#P&/;4V!L;0I/7:#:
M-NG8&/DYNL/$G^-110$^>QJDFK,JN"C)O)#VBXV;]8J*^PY-Z" 'UL:FR1R;
MUB6"&*:;Z](9FN.&[N$-]$A]_SOQ*&0F-X08%V:"YZ32=F*A #H3+3+&>C68
M+2UUYQX.KK,.7//7O6M;W.:0+VLJF5R%RJA01]DLQ9A326(TB*.N28=X$S$%
M+Y)L29KOA C.&/!F&/.$.',),'>&8UC,<.!M%<,#(WY);L@6V)(/?#%H<> Q
MO+ZJCE3FQJ VE#X,GH6[%DOJK?>&1\N0MJ@M<CPM53&-FKD-$6-CN;R-MV^B
M?2Q.E@BZ6A&N9R6/7$D?Z$98I6MQV8^>@DJR-9EHFT+DY%.-J]"?*'O9!]2:
M<E,9+_3Y=-A2;[$3IO 7I\ /#,<*;TX5X5-=&LAQJY%)TGA6BP!BG&NF1U.7
MB;B1D!V1_,03CX(C2;'4"HW#VB54_N2+'7S"0YOC2;ZQK!LZA[7#/77< W,
M",F._T]&N*9AFR<[,L=;-(:,< PY\1@RY0K"E]8LL)R^^.^>V2<NN.(DE;1&
MCJ45:I9%@6%3Q/A8)7&7D6!(&T<LV+FBZ6C0ZE'3!O%@5[J&=$8<$X8:7,%[
MO=FAA IR+&MH%H7(L(@$8NQKJLE T:%6N!S:-J418I]P6KG[-[0E+F/$4/GF
M46*!]09\9)#_D!3R@Q8[N8\Z=:P[_@-[=$\=G[V&MP8JRN+6IX(<BQN:)?..
M83T2B+&XJ29-O>QN\;Q>/,[OIYO9/5EO^'^>9L^;-5D\D+O%TW(U^V'VO)[_
M."/S9_[W3/.313F6@+.(9\K-M3'>P\RD[)GQDKN_$U2]*=P9=>3.UK$9KUY+
M:D\:L7-VK6&[6]890>)JF7!HQB<_+LFD,%-/BJ/IZ0)4-C0S-LQF?WQPI"GA
M:@;_C\-LG56VB^Q67-*(SQSB+QDK105'IA[S>7AV?X(::GQAS%PK,GO-7ZQ;
MSB/%S1[,KX*I';(=(=[VH7WW6!RG3I?61X.KN"F1T_722"@WD8(3*7D:XG%!
M.*:?);*Y&=D\2-G8L/YYDC<UFN"YZ;/?!$I__!1B-'Q2.K$E92W]OY\,F^W.
M7..I_P.U7J@OTF<L%IS%GP5@W!,+I*C;IT$!7ON@KQE'+=<4)87%"!]@\+3V
MT.G!/3D!,78<;T2,!4CH4=,V?)_MF'GIJOX$0(^':!XUX)ZW1>6_OH!],L/D
MVL.N$+72=1;E#<.D4BMO&I=>)C=RAP@T(WM0;<);^APT!!60YK?8%L3P";<?
MH;L=-06E8QA;PT:3X>_)SG;?)!E97L%P".?":?_1#X\&>$OX,+K9)>]O\6\+
M5++HCG+LL@11$"&EUU6R6V]3,<JA4S+GBJJ]*9G(WS._H11K0F+!Y"?:IE24
MYOT^Y4"N<^DE&*;,*/-_Q5UU_68<>YDT2YC\+J?-*J.VGSB+./QNI\Y*A4<\
M>4:77XC'.Q*?:_?_SY]= WQOXZ?]#!H_7P.R$1!NI)-H;S:^F$:O_66PF71%
M3??%8>!OBUTV:!#5R+(&J&_=VO3'.W\V,Z7BU%F/^+AGS8:ZMIPP/<JE\<4,
M=D]OO$2&.&$@"73%-%3MM3JGCH&-6#UKW*RR)KU<9X%)KV<.=-/%P'9%-11+
M\BK'8+F2%XV&.ZS+,4\45L1U5'(/.6M5B^B>"])YN6>SI@_<.F:!^'"M+TT;
M9R*5':&ELQJ052*JRIO$;>?\:D HD+(?9/S=(V$/R/?[13H-'O=!2O"%")FS
MR(:Z+(]N*\HB/64)6R,HUU-BQ/IF'S5,U82@<<++<$'1D"F>+2*>7J(7W-5A
M4AG]Z1(YLL*K^EV/TK[(8:"6"0KN=11W1 P-]>3OXP['#]/G[V=K,G\FL[]_
MGF]^1N '4GMP9->!G=CI.RNJ(%S59RSCODSEW/&>UV$,X[Q4[I;%L!.JY!>@
M^[\U5GS(JGGO'@QV>092U1;YV"U5,5/K(:\AXK%:+F]78Y3\(@E?#=)A%FN:
ME1QT0175'GRB</.W.":]:H?< PM5NU@R91LA]KQB65NL!N)2HN072523Q_6G
MG+B_KL_#II8E#M<,>VDP:^[<&4?&%X"EWE;5![GG*:F<]L+2#H@]4DWNQCD7
M,74"Y/DZG(0,-/OJH&K?L%AM?4Z\H@&?IZD5540J]=["QLC=MES)M+_FMT3L
MJ!4"-QVJ$5D25^_2ZYA#J:EQ-DURK8L2:<IGUAK]D;MK;5-D9ES5SHB=NKX.
MC:>D5(9_21*?YED9FSETORHDSW!*X>"B"7*/SU,H\\Q:ZGO$?ILK9M.Q*(EI
M=KU.-8ICB<LS253'<OE9"J7.5M$%N?.I*)QY_Z:D/6+G5!*[\8LD^0DYFKVW
M;Y5O[A22D 9]I5K<\KL/;_O-G>NSU167]L'UW@ROJ QW?2K(_;NA62[>L*Y#
M C$*--6DJ9?,XSNH]^D[J&FF?XQ>NOX%&).0LR;(0&P?C6=)<E' 5P S<4UY
MX5SN1VR,]X]%^_^JG9'#2#TC9(ZBE'HB!HV:"C0^UXG9$,D';@=?;5%-NK]'
M_:TT@4-?8.5;>I@UM"5N9&& 5,4"4?,92@88EGN,+G=-UY\)=]X_W7S]+;:5
M0X1P\"K\[<GGMO*A/LL6*EA?7Y!M2PLYB+0R4?4BI((08HAIIT_'RQ9QE4I.
MRZ+41\2:I'AC6M'T;::IR0,0/[Y)ZI^V/K.8X3&=Q^]/S'$]'A9%1HCB)S#"
MBEKT(,"Q*(%2O3=R1*EIAC2&*'9%C!IU->@<)R*&$B=2+ F?I)=<U3U\R7UF
M7G3%9JC(92A3I;&BZ)[1'[EYWAR.=7O6J-9+-P"R ?U/WEFLM7XT[!,5LGO4
MNG-AERC8NT5[)(I=D4-''0.D<4.E'V+0J"5^4S>(F,B5_(0(/A,2<8)"BWY
M)+,^(6%3%5$,8HT5/::P,(ALXVO.X,OH+M,)(^55K'758TS^GJ]NH9MGFX_%
MNPND[LJI)?G$J_6L"?K4N,AQ15[Q!^F_&A,!IDD=QXU;D+PH+ +:B.>"J..+
M-=&*RC"%KJGWRDPJJZRGBO0(*"Q*R.B?+7(H&<KPV5SB?GDB!K7!5&^>VAL+
M" D-EPG.2:9O")HW0E"2EG1"8EE)*&SXL -)B:LK+QJY_=-&-5/L==YJY5/$
MW/=/U$J_8R'4%=\MY()S]DX]D_F%$5<3.LC!L[%ILC=B:Q)!#&_-=6GL+R*
MD2PO7Y$)EVJR2<B9Q*SU -#P%HHHB0U?669:LD '*3+D[0!3R@F-$U04C*.
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
M=L$0L6,/HW?C62XEG;@*G,@W(4)"F.O3,O*/0RE)2DRQR$P$)9&D"&(#W#\
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
MU/$@#VPUO]MPWWN>Z:^?%=F#JU_SCJ):SY%XCX+Z>0Y2TFT$/J B?>-A'O-
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
M$4JKU0[NJRQ! CDM43K/5:!EQT$HP-B)M_$"N%7/D8P<P^(>/OEP<?42EGU
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
M-RBFY":>M,&.J$TB&P)-YC=;&&PIOTB1K7=WG!^!Q;4"H,KO,=WZ^RUY]X,
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
M:Y \<J0P;4@54TS11HP^QE4<<!L@$X2HDL"5""D+=V%5F@4Y0K=%&=YL7:%
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
MO/IP-TQGRNQ4GCC:5CC#*"+%68/F4B.E >00AU,FM.I]@? D4XUD_"'-/I.
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
M6 Q9[2%J+YP69^6K=?$FU#V5&2EL$KR(PB0*?*@7#?/R+Z&K_.%I_Y+XGN_
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
M#YK\%P*_E><<7VE(UWXJ5-Y#XF0^)2Q?DC1VW/HS@#Z4YN+CW<U3Z?GZ9.:
M!SVT,8 2DBOY)/E^OR %:U+P9JL(R=TV@$QHIX?L[6Q^9\I70,8VQL!+F[(F
MZHGZ7RF3EN;VHLG5!S-'%'M^Z,0'#KAP2L-Z,LL'_/%Q<<"BA4EC<YX%ADUB
M_E/,&Y4M>HR<1ON!F/H)I/Q>%!"N!M(7+BHI,)@FD*ZAB"L"M04I2URD<.*
MXEE\#FGLLX?NZ;_47QJJ)X;HOR8TSPB2SPZ'SQ)_99:2N57Z((+(T7.XL51P
M[$\-,?894*KWN9A@K4#6?%;R",S&@ @K#/4RVMSAI#MDS!86)G%]C(Y]'LZ;
M76@V%T0,HXC<[0V8J^J^_WG%$2:T&EPS8(Z1! K#88:C?G:;/:ST@([YPL,T
M$(#2P<_$B:'F8A1"VMEJ;7!S8C!5Y"!@R&RE-<<PDHA!Q)1F_5^[R/C#??TY
M!ANV+?@<I? 2:;Z3.N2*<TUR=%X=)=</ZK \4G!&/_"Y0LOTFGI,N6 9>CP_
M@OWD!*4.1P8T3!HI*HUAP#Q3VQ!=[(G=IM7L[6H;2CQ&+TE]EZP%.Y(PN??,
MDPZB,B!4#8*R@KM<!N)&\2Z2;W[E7BH:[G:![\(]4+(/&3E"0P8)(NX@@?.>
M0&(YI(\7Y9=W,84?)25^>.46N%CDEHMRSJSKCE>+_H& \/^2"_LOA1!^PMO%
M]'4?.+'R=_X =LRDA/\?," ,'5%IFK5(#@F<$DV<P8YE(!3EHI09"RB3LBQ0
M*59*PP=%(<]Q1PMI\EB,J1I(\9IC7VDNQ67$7@T52U!9C*'!BQ\RF%B;,-V
MP$ Y0;Z.8NJ_AA<9UC7,^5J],$_G^FKG,W5[%^R3< <-#-RS@AFI?MX4KQ6
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
MHK2\\Y[L_32Y]@/JP1[$^^]1_.<=3^H^TKIC5Z2NU\< 10EGO7[8+VIT5</
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
MZ/Q7^M^S 9_!>:"_)JLH8'>">E1JO"2WB_H]LQN23I*$I&QI?1J%213X[/F
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
MC4F2D/0:AWC)IX8S$C_[7G,DJ5,>J%]J0ZVV-52%H6]K:,D^\+9&S(RVV-3
MK'^TK@1 22Z!Y0T-HVK@C:.Z=50T[W)#PP+@PX\Z(!?=7K?2SV$1R(PC 521
MS-[OT'E%)J[Q@_FWZ-_Q>O-?Z-H1DPP-_)8B < 7P\,J/].L/S<<<7(K"I,H
M\.?<@BY2LDX:)LO*@D"YI!U<=52KL13 ^8.&L+UWWL5F$6]WZ"EP3W-LG/&V
M%!V521[.;U7E1F.6 \WK&@W3R3P6#$R+VR;E&N^,+%F0H]YSE)<&ZH^:,'<V
M1IJ+ O1*78E[QRW5^G_9L.N-#^- D[QAESD\7 M<BO/ 7_OYRQA*KVRK ]PW
MM2#OYO H*@#V4SVY^V>SU*TCH7G'/FL6M-#B<"FD6F%LE37TF43+&&]6OH<#
MR<1*51:H<VI!+"-9:4& SJ@G;^_3TT*#3F97Q<@HRB&=7JG*0C;+-HB56<H*
M0C7+5GE[9YL5P\*N>3J;8YD#J@70K >>9W&T:5ZJ;_@9L)\U 2E=2_P-J#<U
MBM@[SN"-.;S,R ":OFZ1E'Z1$._C,GK^H7BYGKG&3^7_8)[QD^ 9Y>OVD\?]
M%7?Q!Z#><"@\WZJJ_@K0 QJ$Z[W#B;X^VMZ&&5#Z+$EC'/C8B;G_-I$@XS\
M-_=:>-'<?YL -G=!N+X&\QN-VQV9^P#2B[=U.['X\YD$W'D7'(XLOA9>M/CS
M&6"+%X3K'0Z@KS-'%C^ ]+,-C?&=F/K-E005_P&XJ=?"BZ9^<P78U 7A^AK+
M#?IZY<C4AY">L',9[(6RWHN=1QG\YU,)-OX#<(.OA1<-_O,I8(,7A.N]((*^
MGCHR^ &D?PQ]EO%]Z8?+>;1V8O/3WR3P^ _ ;;X67K3YZ6^ ;5X0KG>F!?KZ
MFR.;'T+ZOXBW&C)[F(T94RZ?3Q+%ZF1[::C6K@>S3B^6%@6?:=PNN?&DXXB?
M#?5*(6A)E MB._G8G"[RXZ]5V\CIZJ\5L+WB2=G1J35AJP^*LU)[!2#32B.8
M^C24^"MT\F@6=B"^6%8;;PC'!+-+"(O^3AA#O- ?5KP@K<'N8\S/EA/;E[D-
MJX.B-:=GFP8%]$ _4-&BFQGFZ;TDL.(_0"6* ^'%:/OT'G"T+0C7UV9.T==[
M1]'V$-+?3WZ[N')BZ]?_D,#B/P"W]5IXT=:O_P'8U@7A^EK+-?KZ#T>V/H3T
MY+OO#?E2XFY4VAKWJ8M#-7A-H)+9Y:@B1!W1!SX?WSJW+*1P.KD<5A/[LTL
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
M3Y>0'(ZLDR5??2/Y4@V](2])QZYM*DNR18PD A.@(6D]BSUE5-W3JAC)!6'
MM3T3?>(;=7F1/7@KM):2[M,5E362#?Q(JR9OT80&.Z'UT4ZJAWYD6I!V!?4E
M0"FS$1V7(4<)M,O!1VOP .+_]MQCS]P8386/GO]F^:3[M8*MZ$L4NLZ/R2(#
MN"%&JV/@$D/VY#2N'>]DT*=H!JM-6)*XNH[NO*!1YX=JHZA2FW)\-;H7!!MB
M#@%"Z3/AE AZ2498/4A2]@*QN51@ ):T,<H_KZT\?.-\KG6:2UQ5DJSUIL87
M16MG;#C%;R?.YV 6XI<%\L9W)(U+TE+*53DOR]NKNV\7)K*R@C"J6J +\\7N
MJ?55)R-E*GR<._5^@\8?"/#%U!?H1A00LEXRVCH3XLF330W6\0H7)^6P\#")
M=RI[+)<QL,$J DG:%'+6/A.F59%&5>LZ8XY3]!I$+IXE>KVG/4/"16@Z'G8V
MX*S0/"$_A*IGPJO2HI";:%VKIUES,HF/ZJE0> B5KW&./.*00 WYV)5OZ#.!
MV%./$%D5B0;?XXJNY:$C5*3Z,4"B"F ()L!_A3,0GX@R-]RCD<F^Y5++9\^$
MP4K$*"VCO4XI"")MQ,;-[ $_DD+TMV&\6>F^ W\& ^*L*MS.F3!5CEQ,R8A/
MD$:\!DF@&Z6A\^:;J&"D9=.7,]>9EAS(//Z=1EZRLO^3O"V*-J-LT]1D\Q)
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
M1F56V>8:RBJI<!-&W2AC%.&(3GO)D+[#$*W>,!9(@9=H_58[K>].U9/->NU
MU#Z/LIFU&JGC<J@2U7YM^!*Q>V*.[SA!*MXPQ9>"DVC\FVZ#.??2&<<PII5O
MF![+X4D4>=?PH9L^PMSQ5B_0C1]^I^[?R!4:IO:2@%(KT(5N(SAYRG"&SB8!
M9-MVN.KD)7"C+@^7R%)<!E.JU:8;]XCOUO&MS+S5&\8+*?!2BC3= HA=-M%]
MO VPDW3+NQF/)UJ26;>AY"B/+66&.CLB[T.#/&X@@9H-TW159*F>FV[1^^YY
M]AMT'#0#'K[7=OAOZE90N)V&\44NSI0]VEGO1CY8Q]';CY[?MUS[.0!CN%@R
M]@Q"=1NF^>K84FVKL]I)RG)4_$ *=5Z@UFD8$\IC2AG0>./>:FU!'Z,=^FB/
MM/8"RQG.^YZ[B!X(Y;$856FJH7R1!C6ED3J+H2P;<?QB6\=:P]!RX)^9R M>
MLS%W"TTE346$*5>:;I2,1L?^MNSPQ8$+#M,DJUI#65$*5AJNI,Y,*8<*\;-0
M\6M0?-,$I49#"2"**-5]TXV9E"12O'&+O TTE!D5 :9$:;I)<Y<DF'<C45P\
M+Z/;J[NOETT@@1"<5.5-CWD<@U?@;L CDA>F/9;-3Q@NTTPZ?$00:Z2A])
M,B6-.L,G\?$PN%[C-,1H]OO-<FU48X$3$_#;N44::!@!) %,E:_.;BEKQ@@
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
M$QZ2(!?4CA^EMB.<N"CJ5KS?2".?CT<'\_88NZ:^.J:KZUC/9<'6>IOU=+>
M)F"!L?;<*(?0SA'$:V,HN%\^Z7Z/4LCU!H_#\5-[VAL.&F)92&0Q!FO/QR=7
M@A&!7$RM^?*P7QF=WF^3/_+;*(5:TV8Z8*FPV!!9':OR':!L,B7/M6,C;!<-
M?A^!21_D#MIAZ,.7R$O@/7H^@ NW@]_ P<^VW&^_ V_A6^LEG+5]8/$33OH7
M&T[*T\C#D.TJ7L6CA+!Q0-6A#/@"TL0::22])$ T)?9L[PF-,I[]A#;(S/NT
MT7>_3>X:8"OW!/BO<":2(T[R]QK)P]-*H[F7OJ)4>SOH0EOS@HOZ3^U_#,>M
MSO-D.GSJCI4]HI0'Q73:<=;18K]TO\UW]'Z[&P[)\!"-C2[;L#;3@I#*J5LA
M.3)H[F6O-$X'V#@N KB!^'F]X YH%*WV^;X]Z>)X@*=1=S!ITJ%]CR6^!92*
M90P<*\22"L(@$ASNH)WF>R'E_*C8F&(#0"$_Q@#U#LY0]R<A&A//+D0]QO=6
MVC@D6/QBJ92O:#,[R:$/P:Q0FZ0:/(>ED<8C'[HSN+:<Y %=-(F// ?B6)'L
M@[@/WN8EG&^<S NX#R"TH,,WXWVY0*/F:,9[?GIJCW]O#1];HW%OT.F-VGU\
M%7[X'$5#M4;#?B\*B/K<VG6EA?:F+3OI3,O?]Z;U7TE_-)\G"\1,3ZM)JZ!B
MGL-9\(^#X0B=+RZLS:S#KY3LS"( 2M\PF",0]]L!SM<#*!%1U#K:*55 31PZ
M9D)MBJH3'-3()DH-_=7,U!1+VVR\AK@9>BY:B:-TKR!$RS0Q8HE97G-2L!5Z
M3 DQK(80XF@LL:).R!4TIT35Y:!T-(J"3+:RTCR!M07M))E'V[6'X1+XL?^B
ML_&Q^$EQLNR:^K-%-)ZE+&B1;806IT3B:\ZBY\.K"N?#M!-_::UQ-UJ6:[=
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
M407HV9=U^6^3YC]H6ZLD9>WVZ'8G+>+])DNX7N,@2-?^S7)M]*5%QPNP<R$
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
M<-303L-2%O6RP&N-,I*5D8#;0#OQ]D+.,D*H@9R<KB_4&;S+ZO2 %=7!FWA
M4.,_:3:=Y&"O-8?"K1HVC=!I&P [>$22GEAY@VZ2381T]N2I:B"'2L.6M&))
MNX-+C) /EH^.]_8 @]"'+QO<2^*DPE'#( J415M#4*RFR] 86 Y^WC--CS]T
MD9C67D!\Z%:T&8/8)%4$-6=Z4+0Z$=9K')@^75KN%*S6GF_YVWV6=K%-#Z6A
MLR&:L! DY9)@W.]0%402B2/S-]'XD:.'D6GQ(]''6G#_M7.-'/G(.L!E/E$Y
M#^F2=8!YMC_W&)#K2R2@V\:9!E.]UA0#DDI%.6WJC %1J?I:M%4Z!H2I;O/O
M'ZLF0PEM'1RUR^'55>4G3SW0? )4@JVK7[#K>F]49><*&*91-C9#;D.INEQG
MS.Y/DAR4SP*2_#36-I:<UYXA,?A [+8=;_7F48FN_0+W315)*-]:--J%;"*=
MJHE"KZS\&@:QF$092;)H1'JEP0;O[X;S>\_RD[-:L']0^WX[78)D^HU?0-H6
M\4:X$<.Y(T<>RC,T"5"&EQ5GJ'B:;JMZ@57O3X[V:&F*])[[#P^ZX0_TQXU/
MVIUPUC:7,S($4:N35UJHDA>$XKM8D:IYV5Q=7UQ<&4*2RE*0];" 3D%-/7?F
MK0 .M\'1?6)';*ZZYO*INA@20GUK^.*UCY[)><%)K"DN?08\$0">,..N[LC9
MVF..L <K_I_N^QJX 1"++KHZ?K^DWVU/NOB_N-$6B%MM2A11U&E6,IG#0DH>
M&L)]P(LE3U^SY;0;Q\4BSSTHQ(5!DB54LWC3V-4<C] Q7"S1W/0<@.BUQ?;*
M\T/X9Z0K@O8Y:^O)":;&CYE2!6^M-[-NU+-G]ZA7/"-S,.:@AI$LX<%8JTU<
M$3.&:^ C7;F+G1 )A#@N: P/.*'5:MY6_7XM2_W'!8U1/R>T6J]**1K]+*V;
MIVPN'5>V4A<^2:G%#$]?]0O+ZJE[ZDF!'X>D-;WNJZ_9K4JQ"DG%\JBOKR\N
M%>?F(&M/",)IG,VGL;OL+NX*VER.,@*G-A?<8&N.6ORPMYS@))5XLX9N^N+Q
M8<R 6.4&C5@)P$P\;N>7G]39R;7FIH4;2 (!((V(+DL1/'I^<M'#7:0S=>1"
MRK*^:#46:J!!"I<$3J]P,3DC_\#8.'Q!BZ\+[)[;?9\M\5L_2%SY<<):,RJT
MV"!*U86VUD.[(IL-CXRR@T\&PPK;,Y1?_%AK"&I3YOMMVS:,N]]SYYZ_BIH5
M/9 <I9A(#R3[UEMPW_S'Z:36C>=/@-D.[/8K^NT"C &^"I?^$1L\+[FVI.QF
M\H/CB_KWC$0WJR4AUGIV4;2Z9&>_T@02:Z2!])$ 4*\ST GF'[PP>!LW'%LA
M2"(XR\P_!<TTD$!2()KHD:2,+'X"B3720/I( 'B:H]%I-J_YT10\6>$&]0,"
MP1QI5Q=?2!O8W1=:3O0)]*O]5S[VL;6N(^DA#$DZM3H];  #AD@3#9P *L,S
M<>_:!^A0#PCVH8Q@!F@&F+X!YQ4\>6ZX)%GFRS:G'9TJDZ4HCD*B;,Z9B[\#
MRY^^>14IF+22E^[-63./)A(3\^4+R05]F!0#)-S.!^EXA5+K>:T!M'OT-J2W
MHT2;^2 =ITQJ/>8U@7/P5<9,AYOYX!RG3&KUBRD+E>833'N.NBV)>+FV/M@G
M(IA:LT1H/NU59-T'T1BRD)5?HO"6@*+\$@<6U,<-SK_R!%VXVJS*&MV8K6C'
M-%&[6SF$NMTY."F#.AO?Y_7\L1K1CC\RV%&:<S2AF!]E311+SYV^>7BOP!>
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
M)IN7 -K0\K=DLDAJ.B_..R1.Q0FQRM.H3HD8LH-X=H-]XCCJ.Z0%)<V@BBA
MY:$Q?%,+X[X[]SS"U8X93) +7WFT.H$GC]"UW!DZ*^V.860ND,H:I&\AB(:$
MF4M[+UX#S9<_,W*"(\[WZC57\;UX#;3'J0.6\BCHE)\$Y.="K_1>O'9*I^BN
MP"K ATY/I7-Y?(9O+OKJ$JX)/KK<W[53;3GG'!O3R=Y<$M,1T?=V4$(;/?%)
MFZ =G6=9D@F.PW"BK06$5_B'UC,!^X5F,V3%B).^A(>:;RYTRP$OLJ<506C(
M8::O\-TI_<A"5SE]0U4*NJ2)1*_7ACAX8C /:'I69_"FF#WWL+.Y)!X=#\G?
M78R /\.Z6!2F5!:I;XC.Y>"NP0ZN_#VA5 P=+PB#GCO#H?PV(S,'M8XAC"F/
M55<K> X)6N!@:#GPS^CMD[W%OVB^X*JHG=K%%7<P792'7<-)8S]/?*N?#OP/
M# DW<E8T$1!!#7L-Y9>D#FZ^,!:3I)11!!'!6.OF0C$#<K(3V508S08V4EE;
MB<)'LW><J/V"W"X7<G0M,+DT*G81[LO%Y>%%N,EOP_'T\[0[?FH-AM/NI#5J
M_]Z^[W>;<M<M*PS"AKNXB!PS<9%."FW%107S;+V\OKBX4S,N:4+<FX>Y(=1F
M(ZY]C+5G,W\#[)_X&J@;;J.Y16R(W1P/L7:G,W[N/K1^ML?C]F#Z>ZLSG$PG
M31E@: =F;V9A(A((@CVV@##@^*JH6$J?O%<0FRTFH>7:EF_C/66BRWRWMVA-
M\8&%[QK'_QU[CO/H^6^H$F'QE=2Z-M."B.JS2W.=<C#$_W0@A6C>L9R!%^]C
MB(DQ6-6TH<XIJ'!,O%+BD<0H=$R%GHU0^J%VO!KY +S#((PNNN6%+$0T2CMY
MT5Y=7UPI?@%,!^:)RDNYKZ16$B9)K\08EU3ZH)>H<*I:0@I3!BEY\X@IWT0<
M2*0 +MPXC])L.T5_"YR($]\MZ/:]@/A6DKPOG#E/ZY:DB6D_3[(5/#LFEA*/
MI,BF>"O8=>W3&B_VKUX/0.)8$[-=W![;+L;=R73<ZTR[#ZU!=]IJ3R;=YI@N
M4H'@I Z(/1T/RP[:>#U#U'MV9YE?[((?(=&L4;TY*3;')^CB**OV>NU[:/**
M>#.<1_E#I]8[XOT<AE/O.W"!;SFHS\!_1=3XSP8B^M)#6N2TG!]9UVAD?5,S
M\<A2_\X"6J-\##%KM%?XJOUP7C 5B6B L.1):MU(@IY"1I*.ITI>V43(T7=#
M^.* R'\AMC)^/5X9.\/!C^YXVL.^LMAS5ONJ2%@0CJ"Q4C]RUD(<N+G]<GEY
M>WUU=W-Q>W?W[:N:645>>LB;F^O+BPLUH[V*U(_'.2]2CK2$UWKD+:J2A$JE
M7D4U<JQ+;G@GRS%969E5DU#IH%!NM; U2D%HR,XO,[$Q4\(4EM5>_10='A.
M'Z(A^K^W',N=@<D2@+"//X,519[12<7S(KJ]OE9MM2H_JPM!U#>]8!$,ZNQ.
MKJ"=<H54Q*=A"E)#1GJ:3R^-%XLR[.&HJ3ZT7O ]0'1\I$[__ TT@C 4C1<<
MSZMA-X1"-=R^UH <Y9<*$822(MSS1I@*3C""46+D>S, ["C-\L%FJ.<BFEM.
M+P@V># 5&2?X:VO. KHN#^S+%5'7>F%*^&(EU[7;#,IAU-U1Y#I[]/RV;<.X
M_S2>E&_-)-Y(ED*MMZAD\8@R5OBH(]2 26RI#MS$&]SD:^V3$#M'B)Y3\08,
M(9,DX":&]/S_[7U;<]NXLNY?<9VGLQ_V+-M*XJ1JUZF293GQC&UI2\K,FO4R
MA5"0Q!F*U/#B1//K#\"+)(K$C00$$%+5.6M/+(!D]_?AUMWH)D[(V7]&2,()
M!OB&BTN4_E93251N2=$[TG;&*KC4]_TTKCBO&IM'@'+1J+ZKU0P2$%E2=5VC
MR5,[H)!V'-AB(LKZ6TTC4;DEU>OM"I=FZ"W1*O .5OK18AH'SE^ICF:ANUP2
MC8$MGUK6_YW^J^V*>-="&VUK!W=J@[73TRP$<]=?/H MGUF1\8RSXQE+=DF%
MASO&*AP_!YT$5P@^4)#PZLEZWMFQ340/A9GSV@SJB=HY)W .UYE=#L_<A_/Y
M*(DC?#4"Y] K]JQ9/.?82Z+<450<L!\#STNS;(Z<[$J#@_,PHI< UY^!'Q/H
MX</W\*WFRIUY'V@)X3NBV&($&>(ID!Z M"L@3T[*PMG+$EZVD;8@BU5)U8[#
M<',%#*@W[NB=[*4*K[ %4XQQ3<O:%6;?GA5\@FE.H,\A^38QL;UE#!&3LR"'
MQ7;^0]?'<+& #M[.MO ;U3S#.@JUE;V@E<QB!-IIA79^:.;])[]?N"LTEXXP
M\M4X8I>RXC[JN^\FAS3"HA8<:6O;-XHC1\E0L4J'/QPOP4>(0PT1^,+;W3+N
MM!*[X)%E=OU")^4=7M^?,U-0</2TE#^B$A?4L<H(/X&;/ '1:'$42$0@#*6'
M9401E;0@B&)[NO)KUD\^^B.<@1_HQ!@&;R[VE#X&X<&?Q2Y>?ZQ>O'YZ'8Q>
MAE>S_K^'4_3/W6NN%D%XY:8ONHKQF[J2IF2G'.;%;6I+/6M'_D&(XSC+79K+
MB6)N([8W9OAS@%%>$$0$(D9H:\6NG\2K=**@W->K;VP,:LW@H,#)%M-P+*E7
M]$C-S<63C0</F!0IC;A9%15,B*#STS)X^U=Z62S<8B+<%?_ '+@[X$#^YS\&
M_6,WW^Z'LL2?D,1WIN%*@>; OT:7J/L8?IT2,/PZM0U#@D1&I,!M-PY?2>/P
MU38,"1(IN!]R8@Q_'A,P_'EL&X8$B4RMOS>*5S#\.0G=:)YG3B,7Z":UM09"
M82$M*=U<M\U_9MPBI_8QEQ%M#S+<TBJ]]:DI=\E."[F]_Q[Z<.'&F4X2'$&U
M@6$**RGG:XLG=8)3=$Y0>-52#T9LU641#*<KSV_35K1P#Q=!R2PZ_(&T@L1W
M?1!N4]5CWP'JB03RTD(1F8N!BY!*WVPN@5N2CT3KTVOS,@Q8ZCL]_0VE_>G)
M>=)A<JKAH=UKFON,Y6U-FC_04*:KF. E*\D(*Y5J+C;BFW&<DHR\*+5./Z]I
M.FL5X<#R)K863S2.A>KH)UM+1AAOE=.Q&>6,HY5L\(7I=3;3VR!8;P(_"^B2
MN'=K]]22]C_@<O<?;)WF5&A*NX]#J953S))I')54 ,YMSZ31I?6T%L3 ,R-$
M\P']1Q2[SB.<XY)5.%];@DBZQ;>(@7"1G(_7MXQ8S>)]5XOLA5=1\48<L7D5
MXG=>HC8[&K6I<])0$K7)'/=F1/JUB]HT8:H7@X,")UM,P[%L'[5I%)YL/'C
MI$AIB?^D6!<'64P.M7I";=L.4(""8LVIDUM((QAPDIC/#L/*D,@(:_I)X@4M
MP) @D1%FPU88/@P)&#X,;<.0()$1]I!6&/Y*BKW^M1RI_.&F=WWWOM,8$B0R
M(L*S%8:S+P0,9U]LPY @D:1<U!HQ_/(+ <,OO]B&(4$B23F@)6,XAVYV*D'_
M<7P807_ZXQDN@3=$A_!:LT)-"W/1%+0E\,I&W*N> )WLTVIM!,<_&X,+KU[+
M2#!%T7[L(]5BSZWO4VQ]1_^3I$X)1$KR+15&%Z.09.)R,#\VE:T3T'Z=]OE!
M/6QL#YQ,J;0?ZWF '/HP7&[[SM^)&Z6UKP;!3YRPDKO: [*@C-JM #R0_PPV
MP/_E%TZ42ZWM 98MEG9K -?P?1GV/Z^_?>$=LJ7F]J#)(9=VPP /G"_ 3Q;
MB9,0;=U_=6'L@S6:<9[C.2? K ?8 WDC2;5;%GA(D%X)\4'V:?S0UW>S!W !
M^;0;'X3'^FP%7 _X\XS!O#LP]B/*ZKE%IWY-=<GDCG=^6154?S(E9.E9VHU_
MG<20'@3#+:W2,K["8=J$*6.7"'PG'XY,G$ G\!W7<S.$XCR L>_/TW20Z"?@
ME3K43262'MT))M&9<#3OJ%2,J=:=@ZC8QR"$[A*==,--@$-2*11B][*/'0UE
M-M4:-('SQ('S7)02@4=^WTG=/*-%&B&>5V^J+:?5X#'V44.6$I2N3#U)Q'E-
M\*9KM+@/0#C'=Q3>8!2G);]PLN>%Z^!H]D-9ZV@C_!#[2"-'!4K+R&LJ:?;5
M#]&:N_3=?^ <*2"_FQ+M-#Z&2,+8A1%:@W<9';):<80M<8LG6D4\5?K0;F23
ME=G_<*LW6A#4=%@Z \WLT3BK08C/I\'P!U@C,.9I04)T:/6C2>!Y:&7XCD8Y
M@9VJ7VLEA;4H38$=T=395FPF+6NKIY]B6NC!/='6JDO2$7$#$:/FTQB$L<:I
ME+S"A!!$,)K */'PV$\S*F6I1,;IE^/E)\B<KH(D%'SXA;.BFX/6VM5^&%9*
M[@=8IZ$QGN#;4EOHT1=B"Q&[O6[;GML_9;3VX1)7L#:/V/5#O[""9;6XM[,0
M^)%'*[XGZ>D7>DN8MP75J]3,H"DCH=!T((OLHD^_D%W"7-Z,[(VM&;73N:ET
M;WW.N[GP451?DLP(V4EOZ)=W#"=-I)-_+KY%%$4PQO;"9Q=\0W!@ZZ%H'IT>
M*X]._KHT:PY(7W@%_/F5MW_E)8V.\D_'Z9(@=E30<N>4&Y6'P3LT#+I1YI!#
M"HK51G/JOE^!EV0Z];S@._"=U)R/%D88OL%HAEY/2:'#U]D87 4 JZ+<0E8.
M]#69=>E"41/N\'0U#OD6((HR@J(![6$^JL@S6E36>FJZ'H$G=(Q*%/1YB"2F
M!DOXM)N6GQFQJ]6&QK&CT1+#*1?%/FY0'F#&KE\@]R_GD\SE !W.*@]D":\T
MU;2F'4M%'Y_#(.)-EE_?R3CBR,*_RJP&BK!D<:E(CH]W^=_R],;%VHTTG(8Q
M 2_Z#80A\.-M\1,OOQH]W#@>-F +!^7DZ>:LJ;G;*SX&X4.0?(L7B9='$<NE
M*>U%%\JVT),E<0X5;>$@91_G+>>EX:[#F=")+J^I:2(J8CPF<1+"!WRM(7;1
M*2<?&K4W0+@[VT4!";+;&+M?T<@X##8PC+=C#RWZ:$X=_IVX&WQTXIU"B ^P
MBT^2Y+<D$K_A.IU=43@X1,G=+E4>7X;@?>_Z]M9&"LK4CM(0>N'0"MX%<0(]
M',LQ"Z; @Z,%&I-_0B?.?N-:%&D/L(M%DN17D,O#O,4QK]_D+W%MX0$Z&&\7
M6=0)]\1%?H)=K)*E $OR@E34@../@(>CCXHH-ZP/_@60U/],6"0D?LZA3]U:
MPHI[G,_NVHWK(E=YN]E%B592%V;*:[M7J7A%+LM3V]@NBC20M2"&=0;L5&]"
MOK@SX0)9UH(+K:W!!P4TC>!"-;B%EQC5GF?"$D[!"\IT_T9910.OD-ORAYJ>
M"2U(DA8\:&TB-F?J.+ /(:GYHSOJ^QG'CY,$> CHPCY/9.E^2>B^ 9RQCV-+
M4M_/. (U@YF7+BS)E<:5:;KX5J^)%GXIGJ>4M?NA=WVG^9Z<6EZ)Z4'[I,2V
MF93&3/97)./"C7>V:Y;=G^,)UI%$E@Z4)D(4-JL(L>7)CY(0;^SQQ=0W&-;<
MD1/L?4XLX99?:>R$<*I,E0M5U32=WE]':D82?P8N,95,T\=9QS<E"I$4:($X
M_BTP?:_$:0 ^[G%F1"++K+W\B%QR["Y1\P?:U'6QGA[<0LN*=3#2RM/(Q%.O
M<0,X<FK[#E41VN.)%<TKO);B:@?C^-( 58X)A2ZOS4:<NCE5@"CE7F7MW:&1
MV;.1+1Q"M[7(,%)>?="^(&4C1H@TA%YVDT9$:%G+S\&V1?L\(QR1R1M_: !1
M&M]:%Y11@7E7OO6.+-,T^88MDS@OW,8-B9%R0@_H/A<DR6R69?<4J9;N@4<)
MC>'JVWWVM!=7J<%W5QOUE,D3RYDK17,EOF/D2BP__9(6L55IO+I,A[5MRM3]
MV+O^=&=THD-^(8B'2@DS;A3&!Q1!_SJF!_K3'Q/@+^LR%I9^,T;__(K=@\&6
MQ P0:A._'?UJ#!!LI=8 0)'!S,PD7."]N+Z[3M9$^$J_FP<@Y;O*$++EZ#*(
MX <=Q,/?NPPB4PY3HX@.9OUG0KI#8CMC &NR?HE))0F^L@-=Q_&OOFQT5MHN
M06?E_- <^-&LMJ(TW3\FZ>G&$HM.DNH)4J4^M"\+EA2#UTBO4]#D:,93J4))
MC&PS2;;@Y!B&:X"=Y0\N:HUCJR#ZDU,-LI;PQ L#I6I.^^9*Y=I<UDQ=V?9"
M2;&+9198F,4>?::D5:Y"2P)C>/2#_O@E\-PYV)(\E()/*2OT4^^ZI]G98!XG
M6=IJZZM@1%-H2@'/J9E]36]R6&B31UUX*4=EEF0(Y-''8(5-3D]^\\P%DM]R
MX;!R;5H2:R^BJJ&/(,C*%U9/^>T?>"&M3,4IS6NHZ>(:CXK2VS']^9])%./
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
M;4S@)@@Q'0C&=7(S+3?C=EGAC[_K -7[;?XCS<C>X$G&3 4LZ$J7WR3)J=W
MBV8M-++=>?K!Z7Q'L,;7-S0&/-G E"W  L*?+):_(;Q$^SVIJ3$0"P+!0I B
MG78CKIQI?5=X-&<[O4 OH;7A\%-0K,[:(B):PH$G/_V"5-RAYZY=/]4=E0G4
M/C;Q05Q0[28Z21N^HJKQ?1*A<TX4%0."<@N0VL<85JC;!S37 Y$T6J#/OI9>
MK.^P35FD3T@DS0&9X@#4@,B44/O\3[#&O 28UOGWDUUU-<W, Y()PI&9A5<H
M4[$;^C!<;IG8U33K/G:\0IEE[E9C%#I8@EBN4IZNYI%#W>+;5!T*+.TZF%1X
M'3,%8,45BQ^!/^0.YK&F*;95F@A*;:-WEJ+-<1@LW!C[+!BI<H2>83.?VBM"
MZ;+6TY[2%3N_L.R_N?%JD$1QL(;ADY_?><$)D-'_F\_ #P+1&CRI2W3CY$B5
M=[+THJ2,JO8I#B>0&RT^!\$<7YG(,ZK6)2)G=S@+-@F*;^-._'.(U)8ID,"1
M@Q9G00J6O#864MWY = $BN91K#664V3?\BQ8P2OW:2JCZHAA<1?H^]'?/L-@
M&8+-RG6>,2'13X)W36^K=TWKXEMPD_R55\O=.Z^\XJ67 )B3!,#D.ZXT4?80
M01HB-A?;+;QJXOO;SSC,-ZOJP1<+T^2AI>'VZ1H-M_=="HN1)K+V")F=NV$_
M$P"/$"1#;&L,F@J1*@=<B*E"/\H9RP\_EA@I0VQK#,KB !R!)R2A=G=+<]B'
M"4ZC6.N*.?[9+'"% "J#RQ3*"#RC M (.C\M@[=_I=6.PRW&]*[X!X;T[@#2
M_,]_]+\>^]5V/Q@%(Q.* R<:78+N8_8P)&#V,.PZ9@0)C @F:H79?_H$S/[3
M[SIF! F,\".VPFPX)6 VG'8=,X($"HP4)\;L]9F V>MSUS$C2)!CUK:\G4;,
M/M\3,/M\WW7,"!+DF,FL3W=BS ;_(6 V^$_7,2-(D&/6MM2;]%"YM*1RFK8C
M=&%$.:8Q6G<6M@9BY5C*K*4FIX;T&H;HA$J&K]2@+-H-$DU3N;,VYVQ.L;I_
M OA*VDU^G1H#)"<8U3F3($/WS]KW$P)J]Y/NHT:0H?MC;4 Z;0_ZW4>-($/W
MS]LO_R:@]O+O[J-&D$'[B9MK5\G<EU":=QBZ)I(9<1QOYN+I1VX]Q.4?C0&T
MK7N'(5+W)]2?QX0)]>>Q42 R@*A.IH3O[_YV<_!*VKB\=ALQPO=W?ZOY"^F
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
MIP EM3<>31HD7(!2Y+0ELTA9:&HZSMJV72 !!48F#2A2VD(!O,F<P$T2.BN
M2^(%RQ"L:9,[L8/Q9!"9W\6DI/B8-">:J!>$G?69T*4L_8?>];MW!IS^^('B
M19HBK24#?R]R?QG"+.$=(Q\SJ4-'2$'!M$H+06DM(<71C/G,R@]):&X>(:3M
M].DRVI*6$><1WX^ ^4,2[C*3I6.+2 AF1].I0<>WAA[-)%8P7^AW<U%40;5C
ML_J=$V?( K>-8]K=M8DKA/EP,HOMH^L#WW&!-T4/2U?5(B'ODYCQ]JYJO-T]
M^VKW\*OBZ5=/FBRY7!FY!P&2T4=,V(GPY"^"<)WJ>[08IX3$?@+@;T>^M]V+
M3;#SRGDHHN&'CXA^'V^O/]V]^]A[=_=>4[:\=9#X\6BQKW3Q"N-^%,$8!QP@
M01'?W#F^0M;WYU]]Y^ />*BZB)*A2URT)#W=F%E*(?C5N4RE\K1OJ@GI3F?H
MUV@5>#B-DX-!74+9W%3VGO-BZ6G5V-WREI1E^1YXZ"<X74$HZF"]JU:X9*S1
M_WUUWW_NOPZ&5],OPZ$V]VN7%^W3U1'9EU*H?O4.W:C.JRO8NSS8[M!@^]#E
M.>MP@I*A"97^1=Z1L)LDASX:_FB"))3H(C4U"N*V@)3A%1*9LN61ZTAH#&RM
MZX#>V"APA>!@(TF14/OVM3GPI5F,6"BJII7Q4%/P*H/-*UR'4=[K!WUR:L!B
MSMJ'#8W"6M6<S13X9*[?AI!RS-?EID;!*@ $"T$[9^H)W 1AC&G]#)? *Z8Y
M<H%-6GO#H>>>N\6%[# #://= &0QX21'KG!_HQ@B?<YOJ0=+O+^9-8Q@I*AO
M9!0MV@-98^9FBVOF%-(0_4$28A5SD>"HK3%<$,".!#B/:);@/@#1JN_/\?_!
M5XS>@(?'2S\>@##<NOZ2YL'GZFLH+W@@KM*CN<26T&7O/ZE7!3&(D-[-*I(T
M$E:!$TE[YN*^XV O<32!#D3"H_W8*XQSG9*6%DH7JT@B+*BD7>8FB-"AZ,V8
MBH@/"7Q$2IU #YOKQB#$)S8Z1VA=RJK[B%2G.5-(&XX("RHIB\811W308AS"
M#7#G><U&-(>FUYU+RB2P@Z.G521I*J\EA?EX*&$O^-PPM[[EC_,)R RF>DIS
M+.##^9//"H@BM3442DX,Q453ND>\40!L?[%P/1<M7DQ8]RTM Y4AF*1=G=<:
M34F[N?RCGWPG6,,9^)$I#VUM27LY8H=N\Z"A?$KJ4.]9T=/#BH,=R6O@.]2U
MNK:M'5S@%\VJO1EU4V8'LA19M.^_Y$#Y[()O:!U+HZ;\>7J3"8=6(X)EB:D8
M'@/>[L;0095#J94BK"D9>* %/H\3N8,QC)&",)4P/));XF88X!1\8>QBLVB
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
MSR@]SH=#HDI0<B-!^\7?@Q,P4D@2.BL0P9)"QH5X:5HGAA&*]S'G0S,IFC'
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
MUN)@QVBEH.S'V/<>CUA#NR6RPP8(NO2H<DC+,J>RW<.(,R_PF\F&%Z5T-MI
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
MWF2&>:HUGA'L!OLSV*78!7?K]OOJV^,$0&_6R";1'E.,L/(FML]NUJ5"7L/
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
M=FK= ]GG\:&*X8R<A$/M L. =FE6CX&JK;O0Y? /+\Z>%W7/M_.RYB1_/W$
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
M_1DG*XTAM*D 5%2 H5QT+D"\X\"%82T65W'1)!BBV:?#?J/6J$^@=0HP'6D
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
MFD-"OW*=!'5G"Q%]-];79[.Y4YJ'Q)3"PK3Q4ND!7;A+/=M96M]+2 1_H1/
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
M]1#_AX,Q>J:7"$NNN\#W<;_F@.3I*AX%*[ !T/[]*CWE&1[HT=<X3=(06*Q
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
M]9=O-<LJ!FF +77HMZ\-&;:W;J%<86I-P:)#P<S, IVOKM^N#&3!)\25I-*
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
M<6NJG#$B?WI#"O4O6N'[[ #-M=FHHEG*0*DLP1P7I.5Q445%\F'*IC\CKL0
M8,62W,3\AN,EYP>IS+E@A12PZYA&D_KN"2.F #2$BX\2EN<U;=#$<"Q),!R,
M!\E["Z%1O!H?VJ*%;N-3[V=VT;1W*B\0ML]\[TQJ(_)P2+9B3Z%#90NU4_FX
M<(DZ&6PVLOBGN(%<6,F@#\-0.^N NI87VUJ4%_&8=P'*J2T=U50<ZQT+-#,2
M#DDP:Z(K]!&EB/X9+2B^F['^<=,M/S.-KR%9^*A-B>261QK_=:?\)Q_@>1,1
MF,]TK57DY,1S<L_ ?^342A:$ 94TLZE[3-Z-E$ G9/(]MY^!#@$7UM03]+B5
MM;1=T\EV,J"3 >F1G7R/&),25Z/[]F0C]]A&?+.#*A)R=,-^9.SB-]"!/67A
MKA%;EW47RM7>V+8M$#U9U3VV*E3YE&D73"ET@E2R7XB/*E _X:,,CB.AD)=J
M/5G3/;<F$3/G<IQ9E?FD);20 +(A"9 ^X95 &%UIE_T0[<'AHTXL$B?+.FI9
M77EER9DIWHYXQ1_L*#V[5_&9DR'=8T-R8903(#;-!]K2+KIRF[6,,C8B,RL!
M49!4E7#47ZCPWXF![F1EY*[&QO0%XFQ?MO4H^7Z7*E"Z+PS_R63NN\DH-)UJ
MY53))ZP3N9A$0"1J/+XT%(U,TTN0?AMV\><BQR1'O9-UG:SKFOB)"GHXSYG6
M%]>CFP<77;72VAW_(Y,,217DDW7=9^MR7023)@+FNCH9QSTVCKPZDK!*TT*)
MQD(D=;L; /<=I$?NL&YBHCNGXLE]MZ^+T%J+!#5:;=N*(1I-&?_%*,JR'P \
MJ2!$+:KT>2O*B2CO9%N'>@53?8*<BV*:$OB&4(#])KJHL5G%SW\,3?1[YU61
M$&(K,@M"F4 =E+!.^] P74BO4J#TO2X@E_4Z3O-F\73-;2G0!:?_>[.A4"[^
MQS?E9CA9Z#VVT"D_4M;C*C4;VUJS+LMKS.9C;YEY<FJ9.;7,?,B6F9.?_*/[
M29?WY]YNS[QP.J3>=_/(#ZFD&6LP3TJY$FM\?"8HX@[X@/##U'[=Q&UFF41]
MG=+LR9[NL3U-A<Z\$C2DS18K9AEP?FG=]GT\NJ['4!O\N#L)"IP,*TNUUG5[
M1<DQ;F9;M>/Y0,FT<KGDOA5I3N&O@/U%8#4GL[G'9D,9^0;MC%<=O1OXI4X6
M<9\M8KLKJ2\:=6(CVB\8+LS9@W^.%81Y3G9RLI-D)^A'H$[ITY'I9!AF&!.&
M(2)=J*N3AN\]MY$5$1X0U21:!#:$DA1"&#">M,QH\& <HK'\"BJ5DUNYYR:3
M-4P"C1OZPYXFU?\SXMI@-,A* (;>II.XR\FD_HOH;5;CEO2<"V5I5;6@1-&W
M&H>]2/.Q'/08'HP[]5H?H;!*3F))G ;,0UJ3X.O*LT$[H@O/B4Y_7PZ2I"(&
M!*92=T(2&= 4',NIB]FNJF26L&.E@NHW\=M@ P2'1R9@ FYP5SQ7/@?TF]58
MX,,F&@Q+U(;E<(SS&-#7 ^YK?2XZT_ C1_=0&R7OE7!Z=-O)#Y5!8BT@6WDJ
M(7KB3Y4!=H;/8XYY0E\L/JN]HV^BJ[:<KVF:,<$OP32:R"Q8G2/U26VJ/A[D
M@78YD*#XS=E$OIOF/7_A!*<D/9E/Y5IR8T]]>HQ2)?'D] GD[(E5[HZ.A$B2
MMN7/+1J,%*<&J603QB%E&CPR*<,PE4V\,$F."#L:\Z89,D11(_A-#A,QF= N
M$'\UL4%108LI1AFC0E@F938]ABIY.A+;4>WP*(F1SOV1*:"F;Y=<I/<KMWW5
M[.7PA5U<!647I\4S!<*%D)B2P@93\V"A?5S:00@>#OY3H6([>4=8LJBR'HGL
M:=SJKTB*:4?PL&+:<@@8="#&5J;:3>]=M[3XJ'MH0Y3>SA$"7D;/_NK'9V>+
M[VC)JE@._2_\&- -S(E7M\09Y4AI>8*=&/%YV;QUI/1^,-.XN6$M,ELZL""B
M6.^3W$#9*YUQ_ ]*]UQ&RVTLK&+2O2"?3^_O[AI?]=IU/T%*J>Z0408>F'YQ
M *7Z=P*HX&83[Y:"ONP=+N)20RV&"=M!OTY!9HS2B+YV./R%-G+\Q^-/SSY;
M1)]3"RT=+Q.@$^=^=R$\>?_QQ=GG]C/Z]G_$X&MZH;32)MR,=^;X2-M#!9S<
MRL9X#3/3"S9HFBC/C)S<%O'+84- /353U";6P^:"A+I3O0P<R\:0F#"@<$U'
M1"#SWQR,/UV$'L4S[!/??$7DT<042FS[4EK9"!<>?F. TKCP?6.A,;'QBQ7:
MP+.E&*U+H%,AA9;]D%G6W K*EDSF0J>#;"7#Q02[*!A7Z($ASOM]L"-_=8)Z
MG:!>OST[\NW]XFOJ)1;]1A7.VX05,<%Z>9@#9#&D %BKY(C_7%"$?''XR_B'
MJ[(#'J7="?\D*;(L)^2.)F*2E$R%DA/^#:F. ;3 5Z1TA*5IFCKT"@R5DDO#
MFW?,$=*T2BI)"H&]R@?0\*E?U-_''S=]N71B.W*T<V$1@B (&*0CHA=7692L
MNW,1I[1!8$7B3"*BV(?TC N692 =!PXKY< (_PI7R^?>2? R,S=Y-(-CF+R0
M:)C$<QKQ@I*KWS*E=1"UH42+S_3V+#XDVQ@$GB:;$&Z"'6C5XH)N:*8OB+-J
MQVS/N[$CQ01FO(S1@+2NFZ3->:BK0$R6<4N:&RC<1NF:X^D!5HNG19:VWD_G
M[VSQ=Y*RV80:Y[;I-:OFLHWQM0N<F1"<+:**UGK5V);4TG%\[2_/OXL[/G51
MY_J[TKWH+(*N' _J->EKI-DE^Y#LH9\RZ?%7ZE"5M51$#D7(V>\+#H 3=VLQ
MV9TOJ[YR?95.7\GQO2HC*:V._.=;8L+%9:$X1Z5Y6I!)DB./.$4VB#/J=)$Y
MDXT31ESK)+W#@>C9%X=QZ'\\>G(DJOR/QX_./IU\\M79XB]Y)/P.SU BL63G
MNYGIL#S1=)HJ7E:I<PQ15+46GFVZN_\96<\ELS%G\8XED9P2ED]OC0TGFX([
MT2'I<H#ERA?JW?#5_P\HW%GC8N:(PND51)N;<KLC%G+"_A#Y+]/U'B@I4YI0
M=(N8;4X=63SU9SR_ZJ1SW>8=>*')NYD(RDI6.I^DL%71\.6VG@VF&(*UMQ>'
M0DJZ2)T>*[QH6$WR<N_HQ#\(M>^->:B/(27WU"U1Y&U-,PO"05#)B9>4D? K
M0@="95GP>WY+D]FZ4]&&IX=TO5.Q7J<@P]GLP]>=2/]X%G[7!I@LL9?4!^WA
MX(L7[;&R8S)Z*#"%U=?^;#K(Z;CT&7-BNN[ 41V?A$N=G$^JV-@KJ$BO?AZU
MD*[16<_1%6O-CSLB;(_6:().\?*J'H5W9,6=@TO1,R'KO(O?L%]BQUT'[P?B
M,\5XLL]>2,@#:AY&WI/S;\0UO'S[X%P<P98\*-]$O6D^0/$JD)R0 _',@^DW
M/@EG%V<%VUV%X+;A;9$#Q76,3DIZR3A"%"[K%[UP$@\+!1E_SIXB??\O3Y^^
M^IH>M>K2G.FCE5["D,#AN-Y(!21^@?C/#:CH]XE*2!3!.>+>E407KQ<F^<!T
M:S(D7"FI$^C!@?,/X9+F-EJWA.HL%Y N +N@:LV-"UU"G-0 VX=C"RE7O=;*
MT$?NZU['?0@33NLA[06KL.5UUKP-JO.6BLS+_9+R]1PEER+795DC5G#T@_&;
M5AXF$C:FU%GU7JNR_^#C<+;XEG],IG<C'3;O_ @_G/*9][I)!H<R<D62R,U%
M-_UVI"]%*U$-67:HF7EC_OZR89H!HBD)LIJC@ZN3'HY_EW[?#T&XOPYER;A?
MW V8*EL<A2>0JL7A1%Q3!)LO++)<Z5M1W00KT"6'@TPHE3%-?20KT4ES2^!N
MRMQT8B/J_AEA;I%D=;VKB?>!YC$>-QN41;/N+:$>U0(OBRKVQ\0L9<A$H(4V
MW3O7+[CC@5$5C3R"AQRJE]!('[E;I+*L/83O<P)EGJ39B@-!ZEP2%8JLOE?Y
MFA>989:=N+@C<WF2;[AW\![RRZI\V955'R:'&).\H4B1@VHAR\[KQ,([&TV^
M@G^VWTUJPM$:.5@O4K1VL(187 H)$JOFHL2-_0!?BL<)1(^E$$?&+YR0C_?8
MCE<ACK3F-JE*'U^]&UG 7O,<T"&;$ZW92DS/%DF>_CSL6W&O(G7O@1!R,TIG
M:9L'_2WZ\RY:\IXM\C)N2]<W''[DY</'#T_EPU/Y\,04<7+#[^R&J;DV-)3O
MI8.#JLLE!79BOXR!+L4-YX"NA4L*-QSVHQR'3<NZD*=]_3X;%&VJJGI_1 PR
MUX 4$&,  E(2B:<&AOMK0>NRJL=.CN8D11T4@5\V,"P4\RS?"PC@Q]RN,)>.
M.);CN$YLYM;9"PJAI2^"(+!=("]=+*@A00K)J^-/</3&-&D+5H6>-":P?"HI
MG8\D>EJ!"5=9V%8ID7I46U"(&UI1(TXE5O<P<<<)]<>2>?]I9B)F1X&0%.NZ
MY<H/%QTY"X:9.R"B;@)]2)+0!)4921TM[V_)$J3E*F[47-'<T;-.VU+G\V.<
MNN9ID/[F%8UMBV/1G68'?Z*,;O1JU8[SU2()GYI4&*[-+X?"VJH:@!K+\#%<
MM&";03U?WB=C-BK,Q"0?&4]"5\.FB!.R 5#(]=3(_ %%RJ,M:T4N1NTMM5^1
MFI#!M/A-[U8SDPB7"I=OR5]>CZT /P?HP0,^DV:N$#4]?D+Y;[8UNSZ@-2@\
M7#_N#&WPXTH^A3N4U%'D[Y#LLUAL2 ?:993B1SV5,?E(SI=+G2,\P*0B(F,?
MYPB)31HQ&JR?VSCZ"V+T8, @@182!7=?2 Z!5-U'JUG-#I%>G4NI*IHNN(RL
MM'-D@JI_+P(FSYO[)=_Y11Z#ISYN?(*3XASZ5=N]E56.;R6?TH_G5.0>."6'
M4A55H:@8ROT6ZIJ/3:B'AQ]1W[;19[! VIL(C!C_IQ)FZTXSA;0RCS_R[?*(
M!.W+E-1%Z_PEP ?D++B(V4S>-ST8AQ7R<-2>TNNZ80R\TP_'AWFMA?PS.NDH
M-Z_945HSFF.M]QYAD]>^W/"J[#KC^;!+QZ/4>)%$Z1:[\3SN1/7^ :$?!7%0
M-ONCG8+("^NX7E9Z ;@1V0%6X7R >CT#_*7$R MQVD<@$/MWR;X=U#]DXF<V
MO;S24:)X&+@#ZU3LN-]' 8?&F$&D%==4D%/D=<I&W&,#XJ"\GO%KM.LE'^1@
MM.?[7(EQ!NZ ..'$MG RL/_U7]IZ5TQ:\MHI0B>URO*)N^[#%;64?(S)BR^N
MS5W(3J[A#Z40T)92[[71#P,PB>%$Z,1B.$8_\R&,UA1B<?;=XO%O0$9K\^0=
M0=*?W5+:7MIK<3R50%$&3$_;YG7FD2K'OJU]  <?4 #5-C0BAEJEEB0$RBE$
M0UNFFX,V/MQ\1FD]TGSYU)LEEB@;D759X0KB9.N]$%@P)B\>"^18Q>-"F-SR
MEP<M-2/$:2L4@A_#TC@#U*._=RN'CW\MM>6_)B"=_3N+=],+=_@[A@%I%FUS
ML;1RD<#.2SV NO#T\'EE7#8@'F "9!1+! 6=PX5FHY,<,#\ESY@W9B(AZ!BC
M?DZ3EIIP\Q/73>DW"W_P;#JJ,A;HR9+3@2::VLF),R6),O,N;I%Z G"8<B89
M<*I2FR0L;J*8]L=S P-8!F:?BE'".9W0AG'QV&,PV 6GK5J@T)<A37Y: 7Z)
MS+LD9Q0S U-8<DFR#NP4CHR5_^XM4B=\,*N(B>!\A*-IPD#'Y D>[<;\AK9%
M7]$YD/(<;2,(6 =D(ZHI9%28(^8\RUP)$)1&GH]R&2Y\U6H?6[AH.6'T;OTE
M*55]BZ:2CQUV\>@$NSC!+G[[KNT/6]_ 6G:Y0]JDPWG<HFS92GH88O;I:RYI
MEOUBVIW(._%Q<'C:43<A^O2-;;K.#1W=^6A#CZ/9KWG/B"<A]/EH24$"3*3
MVO.:^I?OG$KIG@XQ]I*C[^RVD;C[Q*T,-93XN[C-!^5X'WM[T'X3-_9-M-E
M@>)W+:5S2])9C-&>X$QQR5.^\'Z<QA'U'X3VSDRG]GA*#MYC:\F*D9=C39XN
MF8T&KII"-)(EUOR5$VO*\)Q,Z1Z;4I[P65%_&FV:9;;532A%[8PN;)?I&(A\
M!/46ZFY*+;5[Y8CT.Z;PT@"3N1KQ_0/Q\X/;Z<EV4H MYJ$6AMY!!D%7P[+M
MXNO0.RH1R\G^[[']IXUW78=?E!ZF8JQ>(T1.E):(#G>I=.@3E3K-"8C-,1),
MW.Q)K_AD= =&%VUK"9=+6) LMT4BV*0*-907@<$2E$$$ZF>B6\=954X91]MC
MXR+_>K*L>VQ9<&>%,/X8#7$Z+V>P=?#&5J#^N@SQ&X-1<.4[]1S!Y^2H$N>Q
MBQOTM(OS5&H^&:4[KC U S,;>U.QNN+'75*>I2E;3]FCWR'OE?"?%Y2><@1#
M6F'E:[G?TZ^9.X\[Z[6VMJ8=9=*!BC5:QZ%?[:_/UA%$O>,=A])8 M1<_ULI
MBB<,*?^^S!V7'1E7R:Q,#IR5D,..I-\:QK5>F=B.0?,CFA3'R(O-VQ9YM>B]
MP(@)P8IZ:EA$E_5^!=79PYIK7L!1376BF.^-*-F&S%SF*__")S.S=;B'C*.[
M9+!YN6IW5#/-2IY&T(F7D_QQ/1*:53B_E)?&#HQ:V/987'\"+% <AWF Q:O@
M36^T^B7M@@Z\.WEZ$'2&@).FX$_E+BAV]_;,!+YRQ7VBKHD/0 9#[#.P6$SZ
M7JNUU=I0P!DD03"C1CZ;4%Z>?)X2S'V8-!MDHA2\L4,N)#^A>+"O8\YQJ?6,
M0ZMD2(0[[AS T:(OXK*Z!JWQV<WJ6UC7V# ^S7&;,MIZ%?JJ(QLJ$C3'0R8)
M.H+SOI72YV>9^+ABJ -G@'@:F&Z98?4*[17!\)OIF>UL\72.98L=X6WPT+?,
MU_X^"L*/3P7A4T'XCU80WH[]P/1B>Q'N$#<[=RQ*1R&P*6-G-/2/+>P*Z)E$
M<HRX,'5_@K,)3G8W#G3.!ZG;NJ2X3"]++MQ=YFXYZ7Z0V(->B-5-+KJ@VXML
MNQX9IF-"[WK>M>7*7L>(+T6&9NY77@*%KZVA!4*1Z,&C>U^^M7]AB$%N'7=M
M^^M,H+R7#[GD7#75=MSJ5NT;[63; Y).\L"%4 !,6VFBMP ).)[!VDTDUN=H
M/)=GD% @O2UO';,%/?3_^GSB?.=*"R6J;0B#Y+]YTZ->O?X8:I7MNW*G_NRA
M#K&=\4WB(JB9_4],80+H4HQK?.I^$JF U[UNSXEW@=[E@D\G%A*#AK5JA:23
M[KXLQU[O+2<DUVY(,BM*5MUQJ*C$<#'LW3*C7[4*"!?\02F7"YMEF'43X+W
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
M HT4D3(,&4RAU"75)R_%0\4YM?K 7._&%Y&VR*S<W_E8U0,S/G!/.Z5$C*W
M*OPN.P,$J" ?J:[-*>L9]VV)GNCIHR-'ZK\ W=L%-5LTR)NX"I?')C*ZCW=!
M,JXBK3 I 3#7X$01U6=N)$\5UXIN%IJ#X8B4<+$H0RG.P \/ 4FP' @<6,/N
MQ+@2@\JMQR1U&-'/VITN>:K4KO;\1!T\!K6&5ET!(IGNO.HWW .+:B#UPFA+
M+/DV2*;! [//HHGS'4Q6<O#/*8]4A;G6&Q#RQ8"1AL[YR3M3C8^K5+O,T+/#
M^(?4W' >UH ]MMMM=#)Q$+%[S"K7.=>;!0_B?AG"N:YH*6^DJI64$ZG2SC,E
M)B>-&,LR>O]J4)U(J7D0.Q7)UFUT;_*$,]&"= DMN65HNL:8&TA?5K@[@8::
M/+>L'"X(K<*6\:E#2&\@QZC#2P%=L=, @K-/T>2"Y&_QQBBX4Y\0T4O)R0L'
M*KF<>^?%)^S2N$%1 <1R=^G CI:SJO#M/\\U4=L2O/Z5Y0^$T" 2$3_NA;(8
M=>VN0V\9HXX^>?[JF4HG<4</,VW9DM&1[_[L^J<8]0H'ORJW);%7Q-G>:?-9
M? XZB@FSI12^<'&^%<I<=]0X\--,M^)!YV%)8'M:QFM71YC@W;.V L0(UWF
MQ3\.F?!8XV!:IB@<F:VWV6TY,,@[I]*;"WI<: (RE6)RJ_0FJ$<2P2;?HPO5
M]ISQX4 ;VOZND,1X! (_'+PYKTTE". OK!BW%,\.?6%0=DU03)^.(P0M&;(I
M'6$,O,UKPIM3F-VMIF/+A3_:3BL-IWJF$JA2YQ+'*EO"S_V*S<9*KBRC*74[
M(:A)6R45=,D3N$+L\>B*%@W["=XVE^V.2Z&@&0.8O14B:1V*JG>O@N9%1N7O
MXRE-.@EN3;4JS3I*W/J[P)=_<4K2G)(TOWV2YL/7O<$9YWIA<*8"R&\]ULQW
MFB' <G#(!$Z00"G"W"*GY(MVF$@.4R#&\* [+8F#H9XK(_Y9^;^G3^QZ[RUN
MO(H^^ZNS+Q9_^:E8?![_/[[^Z.S)Y_A+\M#49US.$X2A<_M0GKK@_0>M/R"I
M,K'FF0>^S:,J^M=.Q=(SASF=Z9&7K UB/>[7(QH*54>@C$$&\9;]SXL_+S?1
M[P<B#CM;_)!-=P:@=9!TIODA! _#3NKP"UUYJ3BX>=R@ =8\/[[F9PS+4P%O
MY3'0V0:>VZ-FL.C)JP:$])=5@D3E<#<F,^.G)&R9(,^<,D-B5X@_9J@9OR[#
MCG"0<'T&3:MXM$XNYB94%V6/7I 5(@P44YK@2*9FE=,RWH+L\5,LO;:\PHVF
MA1FA.^/XD]W>FX;'=U7-<:WP^-LI]ER!\E1:4XZ2GH<MG1&3=CMG%AUA<W)=
MM0F[9VYKZK&.>:5W(US+]2%22WXN"*LIA"HQEV0=%/$-8\25'U0\S&^N.^(-
M168'"@!!5=[)#?83_2FFK&X/H68]:!7C42)>$B4Z#DJKRVS1*4(7 ' :9A3R
MO*4A:IU[V&^LPU?_['&,=@'M41UQ>>!"@5U+T2[./<JBH=AN<9QQK0B2$-/E
M=0@9LKVZHU.>3R(GOVY[[:KJR(#DI26+=8.?!-"S!33)FVVF*J&)J-EN,=&Y
M6&+P&R/\X,"D18)I-JTDV=95U4N+!O<&1%]/=BH&#?M]T"_+.O-?-[\6VH'K
MR]#/D('$6]J0(8NF8'%'GW/#Y:'87-C R,!S?SM.A_SW&P:V\-0XOKL;2ZCI
M/?L=,6#;TV(0SO>32X,.\JJYX=F+0^]R+=W*'+\*^2  .U:!B,*AIA(6U$7]
M^.'7+RC+^<79XEL,"@AW7H>FBC_YP:A1<-OGT8>U^Q!ZM%\__OK;L_2G,USL
MT=<?%: 34[3<H'A'72L[AJI@GS4_?9!>G"@O'>SYZ!2Y:Q2G[K2R$-JQCQ,<
MFHT>QBFDJ42OQ,<XQ>VB1:5@SZ@HI,WKAO&B:(D8Q)?Q@+"DW\2!PJ6T2Y3*
MH!DG>]S9B+E'.KN$,DUN?C3**M3S^'@LK?]QT#= X&95"_H6$U]XF.K0MK4T
M(4XQU3X.+G11.M\KZS/%?'-YQ=M>A?>J+OR,=9KSW\]K^O!<&#LY;<\=MS'F
MHY:-*W,93(-*Z"T)NP4'5;2+VU%![G0W&Z4U8$E/*"$!5!0@\?E2&Q&M:=W5
M+"3A_#C'@/$7FW%+;])U+3.1E6IX)G248M]X]E^/C6Q378KIU4J9?(G&>E8&
MPMM.JO7Z5N*>0A8L5^L*\W5F:;)".!T#?')2E7(&UVV[HEVKC6'6"FH:V*;H
M#AP&B\P"MW=SG>AH,Z0D.)F2-!E4&ND82;LUQF7H&)P-86<PKMGC#XX#>:&^
M"[LXZ(L0G2]?0) '^V4=LG;@53COJJ/"#P=V+W&\>PHM$O3_$N//!]QZYC35
MR@%5ACB3'1J0,!@,*Z=S#$XZT23ZMFE"/=GO;TVB=J>-<"^3[)Z<MX2H .8Z
M:05G>KI"#TI>WOY=!H9(6);=6!GT@K]*_\+!?UV12Y@;T(2&P%F%SCX(<.$]
MARH!4N9:ZPI,YB5.UH(8D%=6YJ.JSP[^EM"1FMT-#R>=6QU:=P0=>7,CDXP<
M1YC")9WG08[=<5[V3Z_GIB!=)6B4]_ZV^3O([W]YRN^?\OM_J/S^[?AC<FI%
MB+U0\3A^DJAQC=G*"#;GV3LRUR Y4;<3K&OJF$V:.8(.U8OQ9GZ'?"K9$0L-
MR67FRB>*(K/(/M[OKAE6'\'&^&KHJAC'(C(5A!%EABYB0-BR#@  +)JY3+D
M *WB/__S^:MGJ73.3"5QP2[64/].5'I[ ]TMJ E#:Q)T$*82;^#</Z 7OU1;
M;EY\_&7T$L7BTT=G7_T)MWW\V=GC/^GK-P#[R369_>1+U#.>\'=!">/K'QS=
MQJ%<5CO#N+3O:)2JFL7Y'TVO"/D'EK#*<,1UW,<P-#2@>$U-O0XT)M%QLDY+
M[-Y@FO;BIT:_^]'S(HGB@H_)0>HRH/_ /Z!6PBS #=*2R*^IH_ \F&K)IQ:^
M>VQ.*26\/AG,R6!N-IARUB82\6DJ>,[Q@8+2.3[8UXM3Z^;)C*XQ(^M]R!+&
MH IA:NWE_E]KO?SWUUA[P8D;?LGA9K*R64J[<AZ#HF:G >6NP-IW,TJCQ](Q
MAC/P;6!IM)F9O/]8^$X28?=<Z*TU>&8\Y,+*7FJZGD4SYTT"K:=^ECB3AIP$
M"IB!)>6A0!$C6'V!M%]TU2JG@H>BILZE/,F"GV2V#P9Z.RK8)Z?)JG][M[G1
M;#Z\1]EUX0%\RO_Z+Y:O!+RX*YM>.B$8'J-'1#EX^D&N^D6H4,S8MDU+".!?
M.3(EN /(9QK*<W6E])%MB8+JYS&.P:I:)L#]=9,?8Q34'YP5H/'@EF8 E,8%
M\9@M+D(;3[6[.)TQ\EE*(84=%:5A_7O3S,ORY(/QP')'*P$2M2B4:U^X%WO<
MC>?1R,TV>/"TUW'9RI('KB!K'S/:J#(?M%W;UCP.BIP^'_<Z"/Y%I>$A,?T<
M=!YEPHWQOGBP:0;\N*B.-$]%BWSUZJF^CS(_'EYH38R%].WDT?2L_(Z/G12:
M*Q-:,.:N.(RVP.J]=C7.68U#3W5M'9CK#@O?L3D>K'\L83JM\\&=_B.WL+/%
M=V-'LT?ALT+09X5I# 68:L-Q$/^SM;=-SYHDSD69U.F@FMHIBZ./2@(,MG8C
MO(?Z@30JH, K%<#MCG4%MZS!0329D%*ZPDQ+\XQ 77K9=PH/SO23)_@KFSN9
M+VUO\-KH[&']P!J_IRLLLRDI0L10:J_*)44,B[^4;'?/Y1D6S[#PF +MU5_^
MG_CUKY\7<8*?4:6@[9JJ?,"*(KH>8;6:.Y1=H<^;7OR6 !_HA*OB;5X\%=@-
M5@'*-B,D<FK)8*GBQQ+C,\A5A)R760CC-:Q J8^]@#K8EMH\&9= C'87(/5,
MS2<9#W832!F%NFJB6UL%;2QEA*+J;3M^((]SS!*(V6)3XCZ\WJT?4F-^X^A>
MO\]*/UM\BT0<%B0Y[LNRJP(#:)FA,DM>FM;XLNI5O]59@;R(FP\2>1C2)^S5
MT](J[-=)><E5U@FRJRB>+:C#(<K+*#1)RM >%S]"3RKU *&)*"W0T7=ZOA O
MBI&VU>#4.64Q'&,"+PW2R_G!FF7E?'*0P:@Z0#3P;B;32]#A+?UA^MR>$MGU
M/I7D(Y9P&^*&2$,DIW).<V4(3WKS[P*1.];*1?UC^ODSZ\)<?/+=\Q^?_=DU
M#Z$F2A&' Z]>5N$JD1*4_4+K'36(02$"JPV*M$DQ'9N12B/;?%G6^F"'MF+C
M17Z"*BV(O+>"9K6=L!^J';T#VI>B5ZF&29Y8SL73-6N+.[$K+ZE1"[56>TQK
M^:*IL?U4C/0:AX5'>_;TQ>N79M TJ _XM>.SOHRK;?&4Z^5O? #T)BZ\]?IL
MD4O9H<>Q5\"3#0"G[=482"4--N-[4='<.))OJ-7_J [+ >%I_#JM>]*;9FKF
MS)"$D1G%"_148G[]LPNMJ94S(%84#XZ5]-X!F_1S "5UW&1415SNI<RU[F%U
MX0'F:04'7LZFNT8CH:5L.:,E54<9IT9FTH56C ,U!D^5(0<86^,!\1DVWI!T
MQKF2J$/15M#GHZO$WZBU"@(&3Y_PS%X9*_DDNGZNW6+'G>1FXW(O.RX?Y5N*
M$R>W6$J0#!I9A M!.1W#AOJCT<=>H7]RJM"?*O1_J K]*\'3UI5&/M*?ZR0O
M#^(0:3_AHZ]&V9ZCQ:?\8O 8!J)<EH[XNU8IB>$?<QVAHP!><H;(V>,HH?A*
M(KU( 7%#.$3DIL*HNV.#)PY]3#TNLQ*P"J.OZ+CP\TA;([G=<MC$3:F:$!KW
M%E#[W;.07AD[ ",:&7M.*$J(B8MSGN9MA?*AGM],C'9T_349)I5 GXQF+AB/
MO<,6YUA7;/-!07O*7$3:L9;F.1PP:^C.-*3YV*X:=$E9C8ZP$+"+)K?X>5SQ
MWE*QKH8UC')3/N4.&*WJ;)F/8^Z[<4J#02R.SN<UB^&V9B_ -@]2/6A:T_WY
M;/&<\E>5"2/>^%1,DL"*M$G8!F&'#2SA\T)>Z4L!E0._*)G21Y(K!M*S1<12
M++[MSO@Q7V_*JV;Q?\8"<;J'S#@V\$L)HCA=MQ?E1FD<"_V01&LH-*F98L*"
M\/0M6</B/$AA8Q.?C74R[M"7/<63_( ^1F[D??P00[)(H]'ZT7JV*2OJD8BG
MFO@BT++A$\*F"NO%\U_"<D0#XDNJO- /SJ.'(0PGK)D3GH\^+;[ZXK/BRT>/
MP)A#X38- ,>PCS\]^\+0.>TXH(,5K:SXSB3EZ9_T-M.6*'L<?FDF*$6X+S"E
M<AE76"_'%RJ%M#41LB2J%R7/$D)Z]P@4E-:UO@TY!I4NA[\5'['2)B7749)5
MN-INASP>L7TPPA[]D2G)JW@NZ$(0FQ)K0?=T "TY^48G>_0",-=-*7DY26$"
M3.]Z)Y$0\RF#5=AU-*_S1HNWCX^P(W#9V$BV0W0A(;; ,@MRC*ODUV E4V*E
M,B,A\^MK2VO7M\B9[KM\,YG01^)@$OF^V_!)8*.2MKLBOE2?*(+R/<^XXK(^
M4YD/$8,WOYR./W(.7,Z0#%+:X-!)"P_R%?K#[QQJ/\'8SR#I?:/S* R)J4D:
M?R86P >;]BJIKQR-C!PY&^=<HW/1.='T)OEGP J%4X>@]/N#H["JR?EVY;"X
MC,9@ZJ3"/;/6R>0 G?F]YGN^%X0FY/S-)16IC3>@!_Z=9JX0E26DT87XYY\C
M$8>I@%\9C\U[H]M!;3?N-^ FDVI:#,$XO6KM5GE&CHH*G+23!W$$<Q3.X"$S
M4]94_675UN:)Y@?RZ/A]&\-!]O+S/^S'"@U"?'=R,^R/N5\GK, 0Q=$0)]#2
M0)6KN$XJ= B#8<C]0'H3D)&CQ+=@_0EC\H#\_+A-["#9^J$F?,H["5O8FDC6
MK(M59</6R5ZY[9_;?+3YU/4NY-6G*P[R\52L#A16NL4VY0/TC:=6+PG+7,L8
M$)X%"!D&K%BU===,H7W(BXNQ) JEH/5MU*3YB(%6QW2C51MZQ#4Z]PNOJ'C=
M?.MNU04J1=%N8'5(*1X1+#O97=OE]L761VEH.R:J_U-#Y:XN>N#\.GZVK;9E
M+)NH I;2L"^-;;(2V&UZEYE"9>2"G?ER$<V[VSZ$M_$'2Z:^.J0,X%I'/$&"
MCJ1K]V7-?XY['&C)#G3N\N>BPY<<I>A;F^J\,B+5 TFJ&69/7;+N,)DH*F@]
MQB,\$/&TDM* \A AC0\E:%>610%29S7[,W<8\J9O5 IMY^]MC\6RTM-YK'H]
M1@"]\SOIO/GJE-<[Y?7^4'D]*I1'+VA5)<?F'!<]2C:\!28\@>RP1KC"==,F
MGELFUV)0@_^I $P^2'Z02NM-2'5I)AWJ99.@ ]'"[R?BE@QGYUJ;[[A]AT(X
MD_\43H[XKDRD251)G@26 $GU9%;<B')7C;V49OYH4Z^(QOB*U&BOJ'6D6%Q$
M)TVU,_S-'TNE@939%^-G&G\XR@Y3[1.*]WC09LE;Y?],&T7^K((!HE.\DJ*O
M0#;F'QM0"V AA3(J([*_"I/3]W3 XH(*E^C?O=EXD=IA N/:R?QQ'"<=-OEE
M=F1$7"M3CM\<L-EK:I4:?1!'RO?H95*1>BUZM0."H&;('XLV]E6[$S@<RM(C
M2S8R_:NDE_C5*TU3\PHC,%6V0#6?ZX9-*Y!:T?=C* ^.@C\C)X[:FZ<S]S:,
MLZC+TJPE7F4BL(QAA[ @"!?\ KRS\^G<(7([BOZE#@C7)8\,@4(",K0B3=H$
M9*6-<"LCXTG\O\:@B@,Q@L.<,&"2T9],&(*IS N\$--@[UNA<CO6>\>*U7;Z
M-P-0VV36+1K,DC"PU78/*>>O(>_Q_&8,,A(>&.2A]!#2<19)4(9.D!!0I*J/
MP61'V2VBSBI_+;L5^2RQK:4Q_>>Q\[ON&0B^=;OHK]\;/E3JZ1CP]K:Y)[ :
M<GU)#\0$RRRCM;!(,PN/%XM-B">/N)/OHH?>5LN^,(*;9R__Y\6W#ZCYT;'<
ME ,)Q+:[3:)2EB&>G(U!N#&E!;GS#)--4I(!OZFKGXSQ8)Q\.<J/@(Y5#..&
M333-MVPU$,\5FI--M''""C4K OP"4,(BY+,$+ID?<5+QB1BE0+ISI(R": L8
M04Q<O_$;DI4&3TQ%'$7#$$\:<W0JDWC '>YN.U""4U8C\A 9'1J0U8\#3BY(
M\EY6$)!&8O[7TH:C7(Y<E=M5':.X^GVSB@?G@*+ ZZ<_OBX6_[=Z6R[B$%&6
M\WFT=OL'W860D3&4N0P$F(JC6.*S-'4<'4T-GIPQ\BJ,]:_[<,50\OBOB[H]
MITV=8@WZ+ERG=.!"!4 9))@LHQ>.(3@C3IM)7SGR-WNFW[D )BF:%FULZE4+
M0<\H\G%9=<MQ*UZLF&Z@_^2<#2D0,2(N/8C&7C9+)8515DWQ4C SNB/<W$#*
M%)1V*KN*7*1NR\C2=[Z<X5EV,OQR.<;G$L(L;&1;RH&;(V<_VA#@BF8+STS8
M*PAA&R%G1=E/SB]B_J1PP5F\;7PK,('2T4#?->YRBI%<!0I0=7]VJQ;QOACJ
MWF/9XUELI2@_?7^JBK9HD3EX8R']I'9JM& K (P*-)<XG@S,&T@$1'%OAASR
M*E\*T20FYIBL-3_OZ/<<5 H5+#%=(*K5<B4DO&J[>J7%@ /"S^O)/N\\W'K1
MD ^-UO9=..]&&GBN0]*+_$0OLO@K#\#+[J)LJE]+X?I:UBQ#/G$R!UX /L3M
M:(M7/*QRU>=J$/3C%\P *N>J9U1BZQJ0!Y>-I'HY3RYIK44?+;,T$4%;V?2/
M=)D-C6S(5L;0MF\-I&@V::;M*Y0L9J09ON_')CIQ&OC_C[22-BA'[HNT8O!%
M7ESG)6T'9,8 .P/_K.:K\QT$C$XZ+D(\I/YENF2IB/" 8;+D6%18R9:C+-*
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
MN]9LHW:A&F2')(\?$:0_D21!$)[_FW;L\I>$/\4X,6<W_A[]2#GJP*3A8"L
M@*;\A0AH1>XV3VQ<UZ::H&+YB2]UO^=C.M.^>K?P_>>T-G==W.7C,H6$V9LX
M0'$G38F2%V_XWP?K,E%&FQ^7>HW;PZ]2[N4P'RV(W"_QS1SR^/@KQCSZ\I8]
M"N3LZ)P?8^T'G$,)@MS%NPBC=GR=GNH4V0<Y*JJD/9;03.Y+9%,T$F0JG11Y
M'W_^)XXYY!EHY[DD\E;AJB(%,^ZSQ\\&HG?E)NW6,;''BUTP93*D;%C])EC7
MX\_!^*Y*5FQIFPO0IN^<<E]H1(C52C?()YQ1OTKT325MFT7VS@!C =Z']A))
MU)+[P07_3NP2-.9O$H-/L@M/ZO?7O[]Y7LQL?8\^_]-UXR=CM;*,Z-Z( (2@
MG*F3Z+!$[S("'>UCLSO*4SV3B9*, WD"2EM4JZKL,B6"9Z]?I&%[WH0N#ME?
MHU.*3IG_]JP]*_B_OA]69TP9?OPWPNQEE%AQO_.=^I]\/[;[&$_\F7\;%VJZ
MHGR4_Z+@Z(CHQC%GO1C.SW'_6.76>GS:C)#;W"AYOACB*L8V[H-48464*/V&
MQ%CU>OQUTXZ+UV6S[^5EA !GD0SLZ"A-?UW@+9^%NNZO'5E\XZ9Q?$8ILGXS
MS@VD?C8=2?O[F[BGI@FT;KU;O%-VB4)?\2]EN]R,\9.X0J9V\6WBYK]II-QE
M"L'>Z]TH;WB+AZ*OB<6\C[&(GB(LYG>1A?OLE(4[9>$^YBS<^P3"0MGB>RQ2
M3:D*7HX>H6YT\LKC8PT:#OS"Y1HL\=''7^)$RJO?A RA3/Y=>09$!M"_-UJA
MCQ'TS#:>'(28OO?#)R$R13H?8GFN947C<W!\!:"!Q%RKP+(9OBO_O%WM-<:B
MSL!V60IB3WAYF!^#+DG%*3F>T&0)D1#";% F,SM_/97A9MP*A[F/KP_5+!,A
M[/_\N1^AZT9$T3/O\+K4<-)P9.J;335]14=VS_H(,07'5%#"8OM,(FK2VY8.
MN::276AMST)OHW2#U$(:((%JD802Q1/QDB^D669I+%!<I97'HI@8W<'Q(/K
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
M22P2ES3S_"IKR3%GN%J$>^ V-F+LL-*(1!WL,78UBZ6@3NO(..$9;SDCZ<3
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
M21%Z<FH2A$*5P#)*1(&I_"[0A(A"T-GUC-'3614T>&Z7DH*'^,8T7D@%P9S
M(,B0C2/QG,L@"8S=*RD4A)LNX_9Y^(CP0#.$-O7B*PPE8I.#A<I.!6, >)W%
M<5T"X CE+?;2T_;:( ^EN-DIS=R3IE#-E4]19BRT=XD,49KWM8R,N*9EXU6@
MCSNUG\M]$8.>0%6H42+;%<;V["*M(ODDJ-'H,%+8DKFMTL8/F#/C8UXY-F4G
MS\Y8?7C+)*]QN75^V&=ZQA!AU[._D!25+"U61M@I4^_TH.(1]&8&$H'O_$1_
MM]UBN[@Q0!;++9%7UYXU..Z$DN ?4<\F<Q?#%) '2/*0%$M2&)^B8BA[LEQ:
M$U-[UDHJ6HP>I0Q6#B9"G6BU78">:LM>&FB:#J;$8? T^X&Z,9:YSL>,K7XH
M#45A@ANPK+P&JU;>I)P&'%=6_!)VPO6COK/#'<V?S_6XWZ/6]V]1<\E<'R>X
MP75:+02( 2?\1SV^D**-H;1QB D K8J^ -X)=QM2=%R*QC(\80#(2Y@5Z*K$
MZ#^CM<8!-$,#((4;8X2-*Z19D%",,P2/KGN00C?9<F"_K5&I:"V-_BHA^ 1L
MQQ\DE_69CD1)4-D$/HQKQ'Q6%:!#.P^1 EAGW,12 M1Z+BF)XMH5(>V 5X0_
M<0N54H$_FDO46)\&QK(849:VB'T0L)9M6"H]E04IDM"Q/#[HV>!2;.S& XM7
MN0C,RM<PJD@;*<,[W/,)XL6#@B$VEEPFJ>TWL/!MA"72F)@Q==WP+&!&3['G
MQ;:A#_(P[0XW:*$BV.>D]/I9+ A'.@_@+V78CM[%>T#HBU*3.\HO,JHU+MI6
M8[*\"-Z8J3^-S1 MI9292,"6?]^\3,U%\59/<16E7VKH;:R"!; 3IQ'9[)Z<
MD:ID[!;:F8M]Q+$P19!O.%G 7 B83+#," &)48B65N^.BW#S%,70I7D^B2C?
M01?EZZ)\7U64[Q3-N=\R,ET)7[*4,XU\QD,$SJ^HOT",X 4Q\ #I2F^]/-IU
M6&Y>;G&CL?_P72HC/$AHBZ [6K/WZXY+\8+E%'I'$8>7_^;*76"212THKR^7
MU@R9(*&>X<72W(OK56Y>T "C6?H6A$/VU''M7M#T4I.30&[V>GA9_$VG3OI=
MM8]?'_?4H**.7OWH TED^X5Z(LK AFH,+VA4C<$S[3J.O;UFJ(!1>P$C_M/F
MG&$4W%XQQ+-%>./5+VI]%CRIC%ZTPV@+(K;T(2)8T\8@7E+T8&C2Q("I<&7^
MPJ"6MY2&I+@4<!:(^RQ04+/?->P]K[@/:PI/'35WTA$:.X5P:RQ6-F-L<DPD
MTP9TJ%5SBRAIFXA]?$!#"1^L$Q>>@!> _H0)T+'$@.%U0K[G]1"C$+P@K^46
M2[5RD6T2"L1U0<#>:7ZU :^QV-VV?1F-+0 #;# $K?,8+FBW>I9D\H+HA,(Q
M'XT@9I<.!!41?7R(<D:F+Y=8CK^L2^$E6F,'-LF:G89^T&]O'!$B+QT;:0^I
M*$-TP(G+HL)62:C":HCZ#'K7ZG&M&KO'.6"ZT21.4H'[91!BV\:J-$(-Y$/P
M )20?E1H7#N"$"AW!@RG0J"2N0%MMO(=GQ(10&VZ4)<%::<,:$GIRQX";'/)
MV9<:\E0"AKY1CC$ NX7UH6,\H>XU& 9UTT>PDG'-T<AQ3KN);IN,=@$FAL7Y
M/F,2Z^!V/*:!ZT\,QGL<(_R[7EP!E[L]7=9E8U1(IL$X.-PY@04A9S9'2E>^
M  \>)2$Z=Y<PELR@/8P[O4Q448P$/F/T2.RW9)>8XM'8NT#B1#[H=Y.MV>4H
MIYR& U<1FF5%DA_UF*1DB&5I5$W^L;P2/%-!9_6\!TCL!,\IW,Y/J?2%WB.)
M?'ZP_9I&:5R6<,24(.;X\=*TH=9*,$TS*Q3[2G% 0^6/N?7M-$#<YY:[?GI4
M<=,? A>).+U$Q0M=:BX+Q_4BG?AMS,D5)8UIKRQ#\/0,PH2ZW5Z@&^#U*6AM
MR'9NY%?:V.,V"HC-*O,R28:&LQD()QM>&TDK4WS<UN;6IK((Q8#WGRZ!8^-!
M'O<<^%J64;FET-:59BMK9X7,7-&34"Q>+$0\<O&=6\@52/97QB'74W-'&KF%
M!I.M;*X$GOK&4EP[/^0RRXS:=]MJ8W!X:VG22ZH27&IMYXWN;KN)PPKFD$QZ
MQ*B('7IXTFF>?]Q0&&QB6KW())5TMG:6S/XN63+(S4#S+VW/FXGZA?@MI253
M^9W[![KG["Y91/Q0.2XOM,T=]H31,X8-&;'E^H7U1CL<$GI(&7IM7X)TI:!,
M,+"X8M5,<UGDC404W%7;JO]3DXZM&/<Z;E-VO#\]Z:LCF7>2ZEE*("IHI2:^
M7(4K1P>U:&TQF8W68QXBWGM/@FED7O.B63Z6/"N_.X*,!Z>KX6W6:2XNL)VQ
MWQS)?QYE:F+\ITA&>(MWHKP.XPM<]S29++Q(0V/T;A5ZA )>38.AL"<SI0/B
M<PP??QQWFT-.8;]C3K'A0SV4SN&,BQ=$V^* [G$M+W,Z7I0SR1R4L6^$@XIB
MX*]Z7,KF6+2V. D@*/A-:=I@]M0(Q]$F3"GQ) !(*43-)MN)#/($T<&1_N40
M"WO"C>&VXV$+:-\)CDC;R(2IEP=I9<L]':JI:=%->-U9/4&-*C1@[3YBBJ>$
M;!"EG..WLG<\.,=B+V#&H),;KREBR*U.T<N*3N=WW+@E.N> !PFLTW?G/>9]
M\45AC,## O]2>5G:E0'=@A!EL.$FF%R-C+5;\_QV!KO$,O/"S0<&V6AX$G.*
M$9D@,M"GX=$^[#S:G4?[RWNT[]#(*D0(6JU)"X9BXT?AS2[UN]8T*G)6ILE'
MXB>YTP:Y%B*4/LNNPNM8A]-N5;EU0;+ 2KC(\S'S/IN#56=#T,E(95#O52D%
M?!-)T9"RZF&<4A)F.<5N5R]<BKN\VKZR*;F64_N74M#]C'D/$/4EFRL8;)9?
M;-.XX0(["+-LP%;"_ZF3T4?ARR6-AQ P$OA>#1Y@X#"&"YGX#!M!4%J[=FUA
M@&5N,"0-&+7\H+1YT-=L9&"A!&]FYVU<3G79<$=9XT,=EE7IH&]PB[88ZH(O
M:305%KX49HZP0MC("+1E0WE!5 H$.WIA=R G^9W:M7C-+;1HY5.R_-0(I/T2
MTUR$^0QH,1\C?"@C<UM@+$YB)/6B%&QQI,O5_8M1M$EB5IH:2I_%Q?>>CT$+
M^_B[$:Y/1LXY0,1K)(&7ZG4X?=<>*-^JIF2KT,1BLY_LK(>Q]CDV=(N#+H:&
MT-!JOP484Z66KTTT\4*<U:>@!O)O@TTX$2X![=2YQ,@)N?7]21];K?K?M+SQ
MM=B&KC>KO6%K\/U+2F63AI^6 [@N7)_AN)'\=[0RK2-UY8KT00DT7V )X(8S
M.;?:Y.W4>5*.V9/2E\6Z%_]<TR>'>2&<)?+=-!D#^5&NY\'6YO;WO@LKCI+Q
M_W[S?SLC,YJ,MN/_&XZ,^;^=_=WA_QV.QL/_VS^,1_&>V=S?GAQ^P\*<[SA]
M?_)FY_37UV_?O3EZ?_KVU[>_OO_IY/CMF[.C7_\-=^UO;\GEZVPP@H/B'=J1
M-!O^?VHK<O<0MIM=!/^#^44RP<_W 08JYO9>@T]L;._]Y34X"F:^M JK;Z4!
MC+%S'E'Q=US*"%RD^4M#8__F'S\E)4$'(Y-^Y>"#U104:O_,WBZWU^0P%Y>;
M49'XY>Y]Z$+/XADY+6P^TSEB.O+BP!FF2 FY09'UL ^M-=^1[%O,O!(L@[<@
MB8HD[VEJ$_"WMZ,JMP'5K<W- 3>IF#)6/4JF/X"GEV.&L.%VFE3O0JC*]HUV
MI,H4[;@TSM1SU\71#VI7'SL7H*MI._[A^*CGBKVB?]:9R+@!=Q"@&E^752B"
MB1LFLNI%[X+'!&Q5^!THM&^]'M8PV'/*5@")JF%0$FZ.[?K!&%$V_?G)S8'+
MA+H6N(9[?^1A1[WUE(LB@<U!(F.)6KJ$^DA4YWZV7;.MTR,I;6XG*$>[.[LB
M5.;&C"^QR/F(W1<?0%STHA]KD\ZGO24B^W7PLVS>R1[GGU<F-?,IIDA(XG6L
MGK'QN) 7OQAL[ X.7T8'V_L;@X.#@<V4G("8E=L:EVWM[F[R"T"KY.:A;:FD
MFD:Z+";QQ+WG;SRZC,ZI;UW/7XO!8,#7G2!;FLI"]'#3^/M_Y\7'QD<5Z)N#
MP;H2%J@$'1,1I "U+C6H1ZFQ19#AKHM/#KKF#@DA7T-,I:$51V?5,,<*3=R(
M*P,D7Q$ON[JZZH^$2Q!$;1\8GC;M=L=+2@O%JBND.ZZHZ*X[I3YXG(LUB$]@
MRY+X7J*)^KSJ' G]G&5_.#GXP_KEH&6_;R_Q?)BKQ]/.S(UH?=%+J2.@G"T6
MFE=YD8YMID.*706 F[<B*TON?&IB8OQ:ZY0N-C")X8)%L]3D<.F:]Q0)IF"J
M&S,J?IQTRH0K:R\IPZ\=R*)?Z:P=@<H K^N!AE#['Q$,<6[LUQ/^MJ*&P>,Q
M'*:3&'GV48UUT&G"-1%'91*O1S!]T#J\GK9QD'05;4QK9)E@27,*8,83\H6,
M3)IB?RI8MM3XI7IMJ\H\J.T7FW]%,!Y8#<57^<_%, (H8]AJC)]@GRKT$BA?
M+E^<=3F.:U'OZYNZ[OH-;^%=L&$;%!ND[8A8AC>&'7,S(4=..O!AG:04'9$<
M*9Z%NDDX%%=SIWGIS6,?I.4B";9!\)113@D;(Z7@1W\YO;@8DRPLSOF*98ND
M)2O%^J@+!Q7IA,,G+TS8I\-;90O4D124B6(?+>KS/#65\?;-.UT2748IP$68
M]-HI6L-VY!\,%V/G_HJ#Q ,J!O(791=_%'6RJ9VSZCB$!16U M7X)Q$$V=GL
M@B!=$.0I!4&"%?/KB.>%V:!*8D(7Q#[;8 F@;[+T8(@$EFDLT1*O]7A/Y9 T
M6_:[,6?<0DBR;$I#U5+,H,/O/*:!7(F[D#?$$$6QO19&S/QC]$P[*,*6>TI[
M(?>!=%D*K2.AH"PAYXS!<NYO_KT7[6SU!W^GIVQM]7=M$4-F,*1"=@R)I*W-
MP3ZG5_.UA* EP77*Z\?L=W',@^F8<3ZB:QM'&:E48N;E$2'_G>0IMQ5MG1VZ
MPU4TLF6/P167#PILZ*IE&]#F1]E'.A@"\=9NE>?)W*!:K(G7N/>:R7!R=NQ4
M+YM>)>H:34D%$>43O*'6"+ 6NSRVD61YOS,ZPQ,:5B_ZY9=C\F787WJ>DL@S
MEQD($6A6:>NJJ.EI[:]TP1I'FH!$ST1_>V\^Q65/,RP*@WUF@B;Q(>%;^1RL
MDN*G:>=#S>[J!6N*$B'-+Z(7#&&&E!Y3#065?0-'@O/3BT![1;_N1CDBPFY_
MX<N>S0A&'8]P=73>I _0F<7@$G>W!^%_#-.>1-BE.7J%>@&IX 7#@HX$U'-H
M1!D2>Y]*SE'%QS1<G(HP!2HA-V..$WW2?(KM_GYTD5S$5W#^HSE(,MK,'S_,
M&1TC&O1V#_>CF6E>\0:O6-;.![W-@WW\$7_[!0^W^^U@<T]_08TO.HM)8<-5
MMS^<O#DY@I.[JY])7V3CN;D6'.PL;3(FU?TN,%K+:9.R^KYOAU-K-!(C>"!C
MRB_,/- JNW&X%:4X&DOK/<5^H2!Q81P^6R-***,7=:DU$".3S"M-&+)U$B:[
M3(H\PWLXAYB01RCY"S0(#V".LF*H.*$7O3Y]S_SP[.RHO!WA6F:P1+G$5&+X
M G2 C5DROAL16SH:#(!T?OP0E*TJ7%GS]+ #+GQ2C[(@VZ:A\(6#+2(#QT$]
MWNE*K_+L>S%-[\9T>2+(I0X.-OO\*LE!LBVL*+,9'8 N^2LX/7\;]#>C89*F
M5 ?QFB*8>6D:YQI/K)?/166Q&$23!L]C0_N?9^DB3!3@_#8@PN@'V[06,Q2!
MW=4E51/X@#"D^NO Q<ZQ0V]S#Y]S"V3N9ZS)\\<J!C3LQKS[G*6/WDEK>R8;
M^JHAW/&Y?IG-?;WUK547Y/VTMV>^NF#Q.D^<NA"XNM$:'Q7)W$^,DUQ$+<F[
MB6[6FF_N59YI1ALAKOD^G&&1QV-TVXP*L/#@C..I+^$LC]!<778*:(X?\TVQ
M>!>! 2Z7L,E,.2)JN,([9V:,@%U2R%A7\YK+S($M8BP#%MUD(] ,B$\&5\TP
MD6_#'R8IH7F6!U_*NXA!7!G*E @< 4MV+X=R6/U(%RW&+54Y@9)/$6[5="CU
M%)<!N_8BXHEVTR2G&/H,FLU[\>1J^PQIP-%C$>5YF'K1CP91M6$%WIA/L E-
MY]3Y/$;]^^<<5!168DZSL7I G#\ N8;3KVV%&?44%K^9.M[HNX:NK1@+6,>/
M?+\HOT4=T$%[KXM^&?05<SE26 XTQYSK,/)<AR[A.!^;5)'U9D,A5LDD#9U+
M(]@"2EQF-%9R]#L@<@54):I%BXZ]:IS%2GZVH+23G>F:1</MP3/0%2CD2,T,
ML63.=OX>B<M+7]?@($S$#6<:@W5XYSE\IZCC);%WG)$F$?'2,<($T#)WGB;M
MKYR"T./60F,S\Q3_=>UP"$(<U*M:).(.>>]YH((-MD$A)+%$<%62SA^<A_;S
MVVOH58?]/7D2:^6>$J]&00],EP%>E&3,7ZTKV6;>(Z(TB6[&N#,7Z!GN6L\\
M8P)U=-5"H2@<;DF?0GHKZ/,&<B3R[<CP&9/A;AL1DD:R2K]I<C^RK#H SN=+
M0H/^02L541SYME3T&+LF!;:#<X=C+->#[4.4;2[#(PM>C%U6ZJVE[$?9*2^9
M,I0I!?\J\YD^NO6U9ONF5]F[5K['%I4&+UII#S3F2 4M_KO4\KXR]LF22M\6
MH+E.V0*#I?3T)V?;JJ$T!J,^7<AJ:BZ"X-U0.L+8J%^=G +;@_YN-"+\%'+K
MHX<8GF\+IC&T@A/;VNSOW'#= 5O"$ZZ%P)L&!_V#&VXZI%5D9W@S+*-#U<KR
MI870TN^PSC?(OQ#W!*W_^EI#.(+PYS/)1S4YNPM$>J',BJ5<"YX8&*K)C$Q)
M&X$A*H>GH0,$)^J[:4PVY?8EC8<M$D/U @2P*:\LXBMG7M/;GD;8?]"%_;NP
M_Y</^]]SUXHS/RU(2JO+M0(3O_5+QR7OR2;DN_X2U57N+A-Q57X7O3D_MV%M
MG$*;//.O<=Y06]SO@.Y[?C2NU^!EFDK 0 %A.EA[FJ(3CNV9<[V5:7.2W89?
MB9OV8U(Q0D,X8Q3^UN.'OEF\\>U_Q[/Y]V]LK/[&M NWYI^=>.&T($V[8'>>
MGWOQ(,FSR6K2_^8?ELK?8N"#M5>E# D0_<^WR;V5_A#%!RG/J[14-5BN&?U?
MSUP^5ZKC6-<;IKK/G.C="BI6I8P2[DD! H\Q+%S4VF8YLO*$.#XF1G4.J!%3
M>#(P1,HZ%=2X#TZ?E2.)<1C#^-^K#AV>6L)'(?7S \6;L7',SLXN>0*9D@FS
M@E)?EB-.!%;9"#C9\2JV!J)I&TIS8>82S:E&.0L9PQ0!*(PHQS2A!"$V<4KC
M(+9F$ZPG25%6#5- 1CK8VYO-K/I)$>[9'!:DU%YS B-SR5E:,,C![EY_?]?>
MQ)QB1L#-H)O,&MNF&;7'Y]L_1R\&6YO1-$XG&Z+8A\]ZV</+?H/+=G:NO^R'
MY.>:KMWX8>/HQ^4;A@DP85069<Z<4]+RLE]:QN16A*_YT#*@X)H?DI]D/!]N
M-Y[F WY*7KV!VP<_12_V-M7HL?ML[VF.'^G-W0I$M3%,0:6TI@/Q?F]G_*/$
M!"9=+*Y+39;T#!_:19Y<SM! ]1]*%4%6/@5WK"OLE\9U-II*NLF_"!L'Z\$M
M-7**F9;C#;;[RQ>A/;RS 8K#,"Y\0P8ORKA$7=RO9.Z84JD,-#4+R$Z*A35W
M^K!%>V>PNUI^LC78_5X+EOCI[,%ZN3P<3L_RX]E#4UT9DT5;NU(Q]H%3"/<W
MY:-F?!FJQ2\%@H(C^"[2:RU\/!P41J>W$$>QRTAB&9$MJ0%/,I\3--EBECL3
MM:7,<;#3;UX4$!W'3?,:77<7E&H2<.F>\V\3U@(OK+3_G,9%.?7SF=18C,<+
MNF"PN[GY.V^< /9)!OK::;!U\<[AUNK5L;]ZYV9>>7%,S'_L+UTW :&&KIX8
ML?BR_)*, AO)]K 2A!H]<J4\**:@>97,%-L"%^NB2,8;%2(PGOW>..,_$*(N
M<!0-/5=%;$LV_X ID@8QS#_UEL9J$/$TPX0@%3KT]ED"/*,:34%/3@@(BYH^
MD51+<TIZT[:K6+P0$GVL @ST)5 NE]?'5VR#2S'5+J:46>SP0RFSFE2C[@3U
MP<T1@J7R2F-%E78)R^LAHM,FG]JCF'; W#)XS[]JW'\X*><U#)TSDU;EM?3O
M=#6=5P(](^PX5%3HT)Z=O#MNDE8C"9:YHNZ\8X)R3"V/)*;X\RV88D1&MK(-
M3Z"-8<$SZGKQ<N7D0CX:K^"D!P$GW=Y43NHQQ\9$Z+M@-A^,/>R># W]?':4
M-'7*03O?^\WG!;C9)%]+$PY=SG]IBVUDR"*H5&L0#9:*?V0+W#)9IZKG8M0-
MDYQ/+OK&(PF#P4F*$Q219+RYX/VP>@(U0_6EV<@T!\YE7!5C>R*[H:0QS8"J
M[.,<K.LE2Z8V3;G7HE;[_M+&/4BITF*%%.7UI*5PK>_0P,^9@$';=/8;J>-M
MMOCD'S8NG]B8YM1"6!*L8/E(R]/H@SN,/7Z ^Z+?_$*RHC"O+8MAO7!B[*K0
MZFUDD]*G=\5RPVFDLKM)C3$*&DO/3_NG:QJ'1=5PH2.IB"X1A@'1GX*STZ@@
M\%;H,D_KF6DLE!P9I2 Z*D,\TXWR04D1MNH5#LN>1AD?T</:DM2 R?^S3A>K
M>#Q.GE49+I"/?L]36KT@WS((\F@B,NOG-][L#$)V!L51D0,WJ:3>KZPV=!NK
M9LDL>OO9?<$:FL? 8D1LX+;DM",:$2D;K> DR0[;Y7U"&UO2Z+30 VL'BUI8
M5H4M)*?2-YY0/9/_U,Z4%6O9ZN/X(H6[DH%[3*JAF[M0@\%2Y"'!NI7:1H 6
M2]!\<)^(7)]$\&&K"SYTP8<O'WRX$S_DHK@F%_RY5E8E;6&UG@DU%>(Y.&A?
MC\'OM#D$'FU0B?"DDU#UC"=)O0)V]6FI#L:7HN1'\0T941^I[RB&,1D4IYY3
M %EU1RY<LMR98?9L3+-RS[S*BX_T%4AG-$Q@U-RLP4K\LQVGR00"W]G)2[*Z
MH:GS+)CI6G,Q>"XRO)]K_J)I0^*JLS>AU9G05!19YON6.XUOA?1I9":$YC.:
MS?#W3Z_>1"]^0IW[%>JRU4)\TR^M$,!4"\QBT'1ZRG%F<'2<.3Z !EVRZBY#
MY7J!%<;*'$'$L?U';$K8KRH9E4U_V1?P<O$Y.5@^)^05M5X=BS-IG8_6_<)H
ME)GB"P1M:'U<;MN7&H6%WYZ37])JIG#G:;'JJSR%%ZC,C8$*8$R4S@[R'92*
M.>*,8DD;MLO\6&HK6N^(BFB7:CL[%4NP[$2*V(FDPQ(MG$! )VZQ0"N/%:&T
M+!NZ-W[]DUM !O-@Q[G3US$I![O$.Y)NL9VE#2[.?T<-2:0V4>K]MC*I8:#Y
ML4WK-U+?"E3VR_';DQX"),:$X\D5LNT[3UY@';CE"=@V?'Y1Q&[??K*72; "
MS<D@GD!-QR65GXL7FKI[P[&Y=&K/Q"YM95,6=GT4E]0Y&"UTSSYQ+ ^M3[1[
M!/V;FA7DN$A-\]4.AOIP$2X[ET?GEN4JMCKJ@PS%I&M*E13$FOSAJH7]R^FK
M7O2+>7_ZBEY(A*M=.\LUN8)N68EOZQXT>8?\6>;37'&]O+*H1B#(U2_:W?&C
M0D1V:*BX=ZBI1L9B66YH0 T#(1\M"^IK8(0:.35#,A17^%,3BOB%9SO1"]X-
M%%XOU11VAEV,+ FM$>1%@2@.SAP1*[R_62-J/?RW?7=XTF@RN)XR+Q<P<)&T
ML]WHA4?;+ZUO@N6QQ.PP9'9S],F[3U^%7#L&2\@T8P)N_MM[,G_OV)4UE1-=
M)[MZ%@'NYI!7Z%C#,17484!Y!"M".SN[NA$_+'R&?%1?H)7IDRQFT&)Q[Z;K
M^L@IDHY'VW12LN5I5<@)%3Q:&V'U.#X;="+W?..N@"MFB=[86MXA;\I-;84%
MJT()JSM62D[5!Z<EH$[%>2U@P_XFL+Y""U'$,V1]N'Q3XP7T-'].)N%Q>RD=
M!A6):XH]1<4Z*9=T&S@8.#UTX&RP"BP[J7PO=$X2]B-($2XP9R#E^51@#BHQ
MGPG=D';CYUKBLS8\:?F!SZ=(:!"V'<M5_XG"IANR/<LW A9"7<V<RE MB7-2
M1;@G<<)M0T(>M.9VZC<D-UCMC#IHC]%TX5"79#,0Z)5TJ)!P!367B+,2.;@"
M#4C=)0CIN$S210B[M.+U;2!,K3A+#R[L'B2I1<NZU7>EJ3UK36O!]DRJH6E>
ME0XHX"H8WT@UNRMASBCIT'I?E5-W(HEK,N@8A^G]\'TOY/4!Y)K*_O5;+RY;
MW)L;<1@)1/94'B"?:3@%EXR39N&KR%9]M(^.AO*@6LRQ3D-$9\&-'NA!@_[N
M1\KK&6SA'WP!A0]+"W^"F.72K0Z_L88 !348,08+L+7D+^*VH.EG9:_=D;^\
MB><6?4VKM<D0@-.1@; :(5F4(-'8!@3[-ENB1B0G]82#"H$YE$46?30%J-89
MQ^!3=$6).]:TOE0;]<::ZQ=G)E7*]_S*]*0-,TLJV>]\S'UZ?CD!W9M^!>7C
MEV2#G,Z4#F6;;Z*VAF]F38'@5+'KT04E%=87*'"HA1/RR;K4#CRP.]0:D9Z-
MH8BI-// B8U  I/O.J95.W][3O8:5;A$!@[6!6>O$P'@TV;Y,+%NH2$8L?P8
M[.F(?A$FV#P#@>S,"KT'1TR=*[E2=#?Z/7IU[-V"UE#RF7T;'V62(5&$!"9^
M3AZ<$0<]AILILFR=4/8( M.(_ 1Z'7VD> EGNDHHKRDV)>F.D5$4)1%V-?-!
M$2V?PSS"$7GZY/4.7I-A>'-N6DT50XD";:/V2GVVC.(&H!<#1;K+I/4R?B4@
MMBG: "E<>!4Y"F:>J/?!M_!"P94@M4^JM)Y E&.[BW)T48XO'^5XC&RVF=OO
M2C76Q6V;E12>WT@3M0* 0&97!ZT5"?+C5FA%RF/&X7/\BHT&!O/28X-KT6IL
M0,L)6PR?(OAP+6/4MO.,XTA^%3".L9^C9R=K4PPJ?2 \+J]4 F'7?8!,U#3&
MF+J& ^"D-) /V.C>OI;R;F\!(/7%:BC\2J%F044(NO4UUE3<"%NVOA/IHHH]
MQO-DFD,%NHV  H3OMMH>S)+DOK#DGT7TT(Q=;Y2[@V 46MQ >)"VR4#<#$7F
MU#)D1(^H.#V'X#^E*2>/A"VJUI(C6^@EXRO=*5@ZX@RHU0#20M6^HC\5/XOP
ML1SPEM=H]&>@L7$^"^"W3H%..&SX*^S;$)&U/AAU6U>8KHCAG4]P'"LVJ\0:
MQX34)&M;7C"7;",TA[[%?B+LFXPU*<9PK@UQ#/I+'S3*J5=I;-/U>(7)[3V!
M[ZGXUL*OT2U<?T5CC06%-F('PD2-KGE=E+5ACS(;O_4"%4@M:VZGHB^# O@9
MT'M?F\FU L30E=ZU01BNE2UIR_5&AV#9'#=0&[/6CN :H]9"RP"R^2BMIL1O
M_$X![;#/A9]P01*5BA:E[:,.CXPH)BSX)LDYZH"=+(=F@OYFN&#!T)M@<ZW&
M3!6P48*G,]52'27/-\ -59#0^.*B,)0[;Z,82P"A%EKT883^G<N&SQD#XW@:
M4P6.*C>?[W[_BXK)_15QWLWQZ2O#'I P]8UU.'OYD%LC(I\:2JA>TS&U+D%
M128A=$9;4P\'I"'2W$<M\>!^O0Y#(# E9>,_-:*14-#-]A#"DN<402UAL*:8
M:4>CT30CWVK8$4-1S"O*%/'>IH#%[JUZH[R>GMVS!Y<.GB"7L)(],]A&+2EG
M#+0Y_J,N*TD91CT3!&3"C4+G5W$Q)D?;&-03^M!SL6[M^VJC*WUJVV-#B1ZP
M/7DC-)LX]G)9TQSX/:$ARL9X$Z5SJUB?NO@6"U*=/>R#(<\"93(AK+EQ).#V
MV\?"X'1MXA\AHHC /M, ^J"T:%!GQ>B4Y]JQ](3FR/>%Q"IE$!AYH$W6$E-X
M*6H*(V64'R6Y@MK5+O@5L!TY3PJCZ#7&IBP!(0IVJ7E$2W?:&A1\/48&"4.J
M(G72.N5A0T@GBR^H,(0I0)!EA!3PB:RLH*.N84%:$)HX2,U!"\M7&4*L'W(G
M"QY.Z!04>11X[:@1H38Y"HZ?KC@%HG\\_L7VNB=ZX_8*L&' 9+B&(E\ZP':J
M=E-YL^!A5ME&D<.5SRV-!!B?-IDP1!&^B1!/A3UD 3B/HY"U%=/9^?DUWK3(
M_@$4H%;)8>-D'6)&CJ*31BY(V"YH"9U) NCQI>2Q-3'ZL!8]N_!/D:,%"DBX
MI?*,*$Y>>G">^[[);:5=4;JPCI=6'2;H+XR9&51L6#+0D2O&$%_&?VHCYPT-
M2&9<Q (\-P=;!N-X1EENV,:9O=AN0,*K&L\98KMCQ;N5"L^D_,@H'QKS#I&&
ML"R@2E+6P%P=B"P<NYT(5#^7IM:R:GR2*>-"%\QC$;E_=O6T6G5-,I3@\/XS
M 7(HZ^A\6F<3@Y;5$8%G>2E8:J+VY'N!C[+I=@T"6H&F1EF/P9EM$ATUU\XR
M1#/&5((2)8FR%,IJ#&%]XW$\IX%(UVMN3FJ1NJWH8=XD<+^PJSU_#9Y&M&"G
MBQ9TT8(O'RVX@V6,&6/,^/BU)(R$C:G.V53GD"<$D&F>%"S#+NC1=C_Z&=CE
M<N/S5WUN>O(:.%!N/3+O:"CO<"C,4"F3D?LZLW\=/I_Z^"-;W_]RC7*,IC6)
MC*0B])-D5*>5=-'SM/JE&;%4D&:KHN1IH1E:_64. G^"7 ]?S*7H.$36Y@+9
M:$U\;',ZA%^H%RJBG7/."*$P%G2WZW_:HJPJAR6%E?>H-)YZ+XH=OFD8-.9(
MN18>7?3WV0?^3@;QO3KA/R="Q,M5!DL=*MB^ZMV$[M+\RE8/C^)F6@>X+Q-S
MZR!4J['T]4+/URH8!;:=BXEG9%N"RL]U/:#Z;^#PN95WP>>'=!KK</>\28&;
MFNPD :V(T\]*NKM'[\T;7Q'I(2^U/7#XS.MB/"M_#A8^E*69D819,@.'B["B
M3$&A7*84JXZ8XA$/AQ8MCDIGI3YLIHX&=/E3$R=Q;1(#S";)15TX5*LT7F@F
MK ^-)>G;:2Q<4)X+3[V,1W4]ZT7D::"O83!3$UMWO.; N%N 5BOQ0%'Z%-,)
M7)PSX$"<UO":>@8&6JQEW48,L@"4:WG!8*(HO"A#E?.6)?L.KH:%*\ 0RU/L
MH8<]0=DDFN5)*9 H8S1<T>'A%]&M$3RUI*WAB D6Z\<U*+DD(UUTEY1QJA:D
M?0(SSR(%64_+:*%.Z@E&?*?<V]@%4=%<$'P-RGIW]6JM77"EJA]]$"CEW5B$
M?[9>[27O\2R2D9(/=X%)9HC3DQ<^YJ!4)I85&;SOIZYRB\<E1V4A+7YLS?F2
M+6*]>$3:Y-IN7\OR8T)YSERR[3O/0'%CG!=OB052T.7 ?^4RMM$+6B2>;5_6
MHS3CBCH"E5)0]2V&\$0PM0K0+QE'!0&,K BY$'5FFM.(1$%HPDTZZ;RB(UN
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
MEM-D3I_C""N07-&%*29Y 1>,C'LH%:=<U#%^,H:[B\:CJJ;J#;PKKZMY72F
MKXRS[P59O2CQ*(6WX<F::I6#N JV<2GN(TR\TB6PM>/!)//"8VEM& K^?_^?
M(*:]Q"G$C>%-0V+I6W3\+\P&A\P)HN"[.+V*%Z669NST=VVO@^^L*P0G'@VV
M^OM_C]R?./VEM9O%GS:\%0I+U>BNL"I$OKLA;B_;4.7S^]N#U6<TCJ:%F?SO
M-__U_NUQVY&][1N\\YTAQ:;!^9:O/%+ 14*?#]7G *4>P]780]4>\_@?MR#8
M</W;%O:A6066C@5E4AJR']9)6G'-%]7;P0^7R=C0"9\E6*OFGWUXRC!.Z9QC
MW=6BK,SL6C;B=:GMV1:U>!'P+"G.RC!M(N.VM?@%%3A&O!4P*M/S*[G@XI(9
M+=[$Y8/:P!>N2O(Q#JR>8R4<;%2$?$Y+O+ DL-+VM<F?TB 7OVE9F7YTFF%5
M6YY>XH6C-$YFI8P-;[GUJD@5XZ6AV_(Y%YYBQ=S,C!<\)F 5%U/LQ!PG10_^
MG=3%,"FGU%TWQPK%>0KBF3].J+!OCA_ZT0=Y-/#I/"*N1=5Z,/D2=@\GY8]3
MAI2H-. FR?-YFIB"N@(CW\+%PQ_<Q0]4S]>@T*.2.@&K.)#VO\.Z!/HI@3:'
M!JL/8==GLZ0L81%QZ=I(FA8<B0/H*9!,%18LXGKG^/,D*68LH_P&U]P8F7=*
MB ZHD&@T!A4)"RH9ACYFRBOA:F[]JS62MLTR49 >HE%<&AX9;96>,B)<VPI:
M*E"10)KCEK.#7:NQK_2,#@S67MH9B&A=?A2^0PX$7 ;3+O$&&*4<#IQQB61F
M/HVP_S-=!M+8I%CCR8_SYAR](!D5Q>,_:EY/F@2_G?<C <H9<]/GE[0*=.HN
MJ2NV#O<64Y8O2FFS[*\[M_^F$MHY:"D5=Y%>1"].SHXY8 $[# LTJF!L.#4]
M,KKRQ4O0<+ O^ AH+4W@YS$5YH[C&0CC$G=[+G6Z. [4"+#]C9;-RL/A:<")
M:(HCL & ^S%O@RE@&^UHF&<UDO6"7HTO''(O<^#Z<$XG=UZ)>)A?FF EUG,X
ML?!6NX43RU"M5YGQI,Z8>T_A6U0W*S.:9JB:PHK ZA;(=$B3%+:X0=(/5Z$L
M:U,*N\5U9K*DLP(3A7O@(N0(]@#R22L-5C['S+<,]DZ'E20Q7=-W/!"^L]GG
M_#\UL@(\OR)]8/<RDE>@(,.B@3I-W;J+?&*(U\ T8 %A@QYRN3TTA%.N*Z=%
M*( PKF0-8$3$UJS(!7*K"R*4$69@(HU6CKUX[=2IZ3VNGM3:ZYK RI\#*\"E
MV<)@'X&*G.I3Z>O!]WP"N5S^=F1PE8 U@L<DP=)Z>"=O)7>&G^'XC-Y4^FH'
MCTZ.L!WB(S'[\MG<5+2@#VF.7H,%\<T_WIR?PWY=(#]9&U(#8AO CQ]9U#5E
M+M(C')T2)3,O#^HCL,WFDG4GTE+X1\-ZQQ%L*K"&C+Z-LP2995F/IEB-_YKD
M$P-6D%E=9X1;T:-/1V42;PQ!EH[=O?;67W)0-GO1>U VXU[TSR3[F,,_1][#
M?HJSJVD<_2LZ!F,9*1_(2Q4.'7X.(A$A%<8@L-)\3EJB3A0_V"GS,% I38'Y
M9*3*R^(0\P/#[R*86C4%!C-)TEET]KNSKWLL$U$XU&FE>!"DU8WR$MZCFEP%
MLX&1I+3P< \HTAYH!JU(6=&D?+.?APN_HB)UX8W!&X .<!2/9TD-6A&L#C"+
ML1'V"*(0A#IHV_#;!2CN^&\)ZD%&)U;G"IHNR[!4Q\]#!2X G FY:&0FDV24
MF&R$BAWH-#FH^17J^#!)H&]15F2%X88>[W+!:@_M4K$@VP&40GN/[^>PV\/T
M$BMUP(;":N"G<F1 !T<Y42&(S AEB"E5?>,E1RV>'[Z:1IS>/30CO$:]@"ER
MY<I<$)9(C\%$ZCFH:R9&_)ITH>.&4UE/4'$J1"OEB8C]H,](<! >6$IOR6*1
MLPDSD/77TZ9J/B:FP!UU,6*X%Y(H)"IIC3SR%5TD1IX,#!QI G<O$R'"[W.:
MRGJ4#V ?('\2<^EINQ_-(F X$U+U[#;>R*X8V>2[NX)OW(V[JX_* ^M =PG-
M'M^YD<:+O*Z^FR2?S'@Y]U]=I&%BB5PFP$$-%_6=!MEP6].&P/BN<5QO]@^6
MO-7__5^'>_N'WS='TG!I^\(V=(FMPWU#:KKS(2\YLCL*^-HI@,Q%CBVP!9TF
MESY#0)^ JILHT]$*8&65&4J!%B3*(5!J:AAA1TS/F)C4"OM/'1-!L:91YJ.$
M+%HUAMBR[2CE&5-*%L_0=XO^*5) D%)8'?-]/*#APG45L9Z)NM] F76:.=]=
MY:DAL[PCJN=,5 2RMP$C<KS&&<%B/;"[6"28B[9T=-/1#='-Q,1@=WITP[B2
MXHKXB/$_,:C!/$X,.=%'4Q//B0VQ?TX(JZ.I9TQ3OH>9.0]:Y7F& 3!+6[.\
MSBA2Q)>4/=6_#7EH8A" HX\47A'/[[!&WWU'6,^8L(8%^9 9PY8C!XOH(L_'
M& VO)10)# Q]IAB#1"\;&WD86DB8S-C-HW%_C$G WQA.1CUK&&<?R?";)!FK
M81H#9E?ID@=UN"!2Q1VHR5$GH?-KZ/21YS'M;G9Y3%T>TWWF,76,^6MGS#;^
MR]N>4VH1!]+'25D5R; FWCR:8L \+;^/J%W@%Y/DFQW!/ +7JRGA'Y@PYNR8
MN+"Y<BW!F?YJ8FEGVWNR&\2ZUI&:@3-*9C,SILRC28V6%*5J!&$J#!AZ+F>-
M@(_-W&1C<C(WKE"G-,8@-\P$<R@QM.4%K5QZ"F>CT*FC.RE631]G<9)1)E(,
M*U'DH,BP*H6N*!>SGL*>6?^E?0.E<O!-X>FF..(XO\HDC.EEC[SUXJ(P7-*N
M*"RZ>J)V;CP1TOPIP:><1H@A1N/0C,IRBAEY,E$[N;QN,B :(F>XH3J74.91
M"8.J.=.']F129^/6I,$^2D0J.8\U0=.%68$P8+[% K,<XA068+R(\M&H+BAP
M2SZ64I*R.%)M$U\D>D"I\DPGE T1T E92:/@[90],X2UG"25#3RC BS/2V&'
M-D#!FBT_38.CEN+([JI'(]B72<W!Z? 9.'C.&4(U%W[.\DN2Y[U55%(%H5<*
MKHD L'3HA<"IDT;)R7KQ:,K#E !L:1U8&*\?P;2Q0X.+X:^R(,6QA4S4%!+K
M]]T;ZJ%7-P>3Z46.1$&SS8$$BS 1JCU23*/5D\GK=H4I>;\<OSWI1T?6_$T7
MRQP@9H.%@]&2.P)K,F-J1O)J.VMTZQ5EMU%V-MDO1-UNJ'10;>8ND8NF8]42
M!&]DY)CL,H&74=KP^M.63CBO8-V92V]=(G')KZ8CC*F$.+0-)-*LQ.71/&->
MZ*R&5<YI)>7DL]F7S&-*[/U "0?&+3!FKJ %&D= 0A=&M"%,>S$1&E!S9"AI
M/I)<8GPOI5QP5H6TO9'30P3M,[%+[& DFZYIIL#4Z%#:+"AJ05.:($7E$@\3
M$H/!W%%*:OG38)8.4N%\"M)XDH_JX&V8\<YY(A2JL!V$,/F2&+CF<2)UQBR@
MX T$;<:9*0AVUXL(XZHG'9IZ$4$=]2*&PN'K3G[K14>XN$ BL1<8X=,"&X$=
M._$<\"#0.43KQH* +-L@LXPD'J]Y,DG,6'*79G!&1L2&0)R,2Y@')@Y19NV4
ML\E-03/'RPMS 98]K-W"/R]E6QZ)OV-X48\;!GFK!C1!&X".>!C1"$@'N"^1
M";Q'VA[)7SQ6X'&%<&[ZD[D6\-<9/J>9H+:*G!P9>:/).;;4+OH"&7)C;LU%
MF@]MJO?*]?"$9I=K\YS4?9VIG\#&7-4FP06);YV7]QD3"_"F65)ILOT2#T&=
MNL!\4<DHQH]54G:1@>=,,Y[_G_3H HO6L*MC,>[HXEG3A;.B6.!<8$D,J7!1
M7%?3O'#JZT>8<VK&7-+%FM0<[.]1TN76/&LB$HM<-.J4RF?%_D&+D6A'HI!-
M:N-XXK(^GA<78*']&7MN*)--R;<5DUN&RZ/DA6**=7K1LR9#I_B,M9(RB:5<
MT7PRHQH-,[21<S(%:30)5GNK$]1:7^IJ2L 0IKIDZ]]$YY=U>V#;U%*P/KMX
M34=[J&4[G9M5<+#_N4P3&>+)V?%C#-0$54.C.,ORJA=-\RLP*HJ>0Z,1S_N*
MTBZI2\L+]JSBWUSM-;Z,J0Z\Y,[AXFI5[]H%&+=8ANPA!WBNM9XKB>Y)U$/Q
M'=CQY5QON- NS40=8N3_TA*O-=4A']=%8=!O1<YM/\QD(3OP$V;:-*$.U&T7
MQ*1:(4@2<I0EZ&]E=YC69VGB3N!2%%>C>A:/B@LL3\-?Q,EX"G*:^9YU+P:.
M0BRT0]?Y0EW#&/S(,1L"W8#.QRZ 23JMK)X-<7,GXGM535(!!8@$; 0<;O *
M^FW%NNQE/SJ=X()>)>74>C,9MR.#;3L[.V*?(P%TM"U9/<^9\)+,\O-Y82YI
M$?%V <'PBFZ#0CXW!?8N MVXV"#&'_&!HO/T_)F@JBP-S%TA.*Q/Z:&TE++G
MEL0M1^EQL"AZX?871CU.1I5&!VD><,G+'AXG R9>)0M*ZSOG4F""38#A8DH6
M,."1'QK!NN(29CSBE?6ZM[L&[W";AS'BQY3P:Y@(O+<8(6=')Y7Q8E>YU0AQ
M4<4CJL*V)X.9Q".<38R#)I$((LH9K.KHB$?_J1-.H7D:J%>[@RY;K,L6>_RH
M5Y[\0MBK25V0? 7>#%RB]*+[?I"C2,J/+O:*T;U>5#I@C%-,;=[N1S^;!<@9
MJMS!V0A>QJM^] [NCUYSI$2^?4>/?"<X)\ Z,)IS+)%\Y 3X^51XA]SS@QG%
M=6F\(F:2C\Q7/):.6C]&Y],P5(-/!:XR^HC23? 7$#J)'SK#%Z\J95?MQ:DA
MB#% 8C]'W0/?.$,$IG@<SSD]@-(TY-D*<N4$IN^8BR1E(PS&DI!"X /4L(:8
MN\M5^3K)(&V!P&-:+W=)(84MZ&=(0:X"+Z<P]KY F3P.*!$+L+)FN$B[5 B<
M9! Q">G>0Y%1)QCK#.QJQ67V<684=X-VZE+2*"S"4D_%'V%?: *#R]@ ):?0
M>+4#K>$369JVH=A<D30O$:IAS(@R&:9V@"XSC?^,BS&_0*X A::T6>$U'E=X
M- KUT2@9,S;76Z(/'X !36 ^;:1ILO63EH8#T7$AHV7UP1K.Y.LIZKGH>3+X
M?O23VAQ>^%?0I322;6^#R7@GLVU4J%D8XF)4+\%Y[WC#)"F,,R'H*):(FE&G
M:%RB]2*G4N$^.'@_YM0$3L32#"U^*NE93I<CU9GRN2SM>$%S!9P '5L4N$"U
MXR0<^^-+N]_TU'R(CT.+ 77 RMMZVC?>A9-/F-4BK4CBV?S[Z)BOMD<(6&HQ
M%P6+$%+.DRPO*=7JN/G@I R U/+)I!2X-]33#&,7T9&0S0"*P5B\@';A46#-
M7/,P0G-!043XM<0()?'IDLG&#8V%0^&$ VKA&3+5I)"SDDIX(P/)22\EM9?6
M0X<79.Z-82 EYEC2/7B9M0U"-%=WET?4#&TX N:1-Q_@D?42,8R! $<V/25'
M@!=<#4<0[N;UF*P6$M$"\:DE9Q-Q5C S6 5,@%.O )7]TRYYM=T6-]&#1XQ^
MLZB0UA? 9D&3E?4:W[O7XT[D0U"^F!@*D\R&-1[1FK+@AF0Q(,,5N@/M*IG5
M,\:EM)3F)0B-#6'H(,'V+/$H_&X318Q1;U3Y85"\>GE2WKQ;P3Z;*,$!SPEN
M9B6046]\,&"6"BWH9DD9H-9D-6;<+6<_!B\1G+'24Z8\,W/I^(3)@+@A4C!$
M@P2U@[0?#Z!(",M#U40+B ZZ+9#\?-*_1ZWCQ.4TP::\B1$TKURG!G+R"<&7
M4(:A,@["VEB #4_/YL7[7&7[58Y;]X.3T^) 4D@[+UE3=5<KD!B6T5\L3E0H
MH\R@1AIKFA:#C.+E5B$8J<L,>6F1L$N%\'4C(5#S*6'@S%#2.[6I@>LJKR$T
M3G],905REMV%<,D?#GI/H5W;/$>H:Z".5$K"&[&\Y?G"V4%\2TP9JT=3WA&;
M,+:VW$U[T&9P+CF9;^%B'.&()7>/_$_"@/^ A2W1NR0^13&CX*<%G6\I8#9C
M6G J>P:-",0>A^3P]'I\Q0ZF.8Z3WX#N].71BY/CE]&O4B(].-S<_W9K<W-/
M02;5I0DW)(3@2DK+">8NR]]''*G^TSF,WAET*HY4EA]/S0R]R&7TXMW)T?%/
M+]<D6-_61>#C*XPOF-SRLXI!6,R@B\SR#(U,G#<< HZT-XY6D5>B>7E1>G61
M3N(D59M0%WV.ZCR[SCFIOO'$-+Y2\K8T(0Y1U(N'P< G>&Q1QI9SS 567ZI"
MT%'A.QYY67[>5T\_?ARL_4>7ZN!H<0V\W:./]YAR7LI.EH;39DGQ*NL99;"B
M3UG4$]\J"DYNH5!+K+IQ'KV8*7[ DG*/V85M+3;UF*.]/X5U,2(=]K^/R,?'
M=$KHNY@IC*:@V(VY>HAL_5I)1@CO=OU9NQQZ'@\:B[JQB@MJT/+:O/IW5B>2
M#/M?8JZ>H6:4D4<5KTA/QZCQVK+O3[/HM1D6=5R(/@2,<%?B.(C52R(-A6K;
M+-27COZEF7$E0RA-_PERTSYTT(N(P3*X,*J)EXGH%:]@KS%H8]]^R/JE7G+7
M]Q[-BR3UWCK8[/F$;AT6)#R US <[]0$.8TX3G28V6QLQ5RT9)CEV<8D+\O$
MHGG[.?EP"5B(<,E%D?A!)F"8%>L+PD7_%,T7=&V#<4L*K%#!DI<+A<$P!$J,
M+\&"'J:VFD<MACF\>!KS<%?&4DH+L*J13%W7)F"DQEJ>1KQCJXMW=/&.QQ_O
M")&:4Y0 R 8\SD0UB+;<"-G48IE)+77E:.-25VC2;TQ-'.*Y!-?HKYPFD*<M
M5Y[]'D9=!:'6>PA%J/\,F8;E<!)S+X,R*3S/*-]<U:"=,I9]4B0$-,>)*234
MG^::4E7%G^Q//O?S^7: FRN#M%95BX>FQ1ZQG-C7<]<EBG\%72 0AKOLC?KU
MU;MCG,BL3B_8=B;SI"$9-4P%,M4MR8_8-8$\L#%03GY1FYZSLGSK<Y)<U 67
M9<Z2C*QCPC0.!#E*\55#NLJ;"6QCJ\]HJ**<RPZT3@!$>^LK]U>\,LY4EDF;
M@A6OU[H[;SRN)P@.";7<:&;BDN"VJ)+,5)7:@9P/<;_"E?U]J 73*70(39B'
MD95&ZF6I;4=*"1U\'6R-V*0222SK.5;GEE@/IR0+?\TP0W:<3/@D!5G6,!C2
M@*00V1Y FRC#AS5%(N(0T$*8597,ZY0;FAC:3#@WB:TX;"X0JCZ>\Q2?WEP,
M]W,;?2RG0[91#5,)DLZZ3NE1?0'G[$;JQ"_?& )DQ\DC\OW&>ZSE]H_G61IG
MEI6M/-&X"PDG@/HBHT5<V*8UENDB^5S%6IX3,%=DJ3X+U'$L\=#$&X>)WM85
M8;O+AL#0BLK (Z?1:Z#*C7]C(;V=UZ\ZQI-1G@%G&7''@)S&]BKDW?BTLW?'
MJMZCI> '9FB5]7%G)@?JL-U"0!NX*,2'^ ;S@G1[!L*OKA_ETLJ_\JM&W7#\
M_=41X;ZW&#+X8DWLO?[EW R .BA$/]K#<=-K[;KR@(\\UL#9;,L#4LP'VYF(
MZJRQ65-%6\#T,\NK98NH3;*2=L))\HU,#87ONI:8FM!?@6IA*6XMAYK,74M+
M;W@AR1?R4\Y 8[B3OQ7#.-MX1P%MGW)?H/?;%)B 26?>N_W8:YKVDI>?$(?'
M5 <MTHB*L^O,.*FOXMF8CZ77F 6?WJ;PD2934M1<(SE>_#<,[UM]LA2%DG,Q
MQGC2J I;6&WS!4Z65 @Q@B@(_>B<VU[@S,,E/,?$.IA]C7@1H<QNSCL-' \Z
M<<OCEL4S._41D\*2E,V'(?6A38OZO!UNLO6C4 Z?(=,M68O,]$ >\QA=?Z_C
MY!+6PJ>(4J;;V)/&N?-W@N;7D#_"X,(E%RK#'X /).PSS> BV,(+^-8ZN3_D
M!072VT;=.CK*06J.<>G\MNE"WA1<HXP6E\WF04]%0>NPT']&CA]*QF7O3S\Z
M(I6'WYF3IL^&!J%LH,&U1/F>*=4HNW=A'J11=X"JW#9&TJ9KMEL*:ZX^.1]>
M1W:O!= 0%^JNY/A'GE#PRB=+B<U1*C;>!C<HF\<)GH:ZU)F G*S0J:(?%-/$
M)U>-RN'0O->M?O31:&12+[^:9W(4,IJ[OU^2PS'%HN6X,);/55.06%GL?MLH
M8^H;N5Y9\S904 [(1SE8)Z60]I!79--DT6O)O&SLRM*.P/:U;HJR;&J]B;[[
M.)'4R+ EWY(:4+,#6,%DY8BM;0\")LJ>XJTOMPNG,[:\+D -% <UBHS634G;
MMH1**6RWQ]<(H74D=J-XBMZX7/\W!NS$<7/G?-7O!N>W.UX^\-F\'J:(5^.8
M)\?W2#,A^"A-\XT1\66RL,U>)7;$AW?NKT!#*VE1)K\( 9V&&MM@AR76CY)J
M]Y92K'1"K9(98RIN_\^*)+/^N%<VQ"7K<\3QNL!67+934+C#B^#+%SBBC:W-
MK<V7NLD8L#,E*6"6*<O36]6-IJGN*^M,*'I[T!<8P[+3O,HO\[2*@1:P7B6X
MHL>N"8G0(C$\D3C#=A=GZ.(,3RG.<!HHUL 1KK6"7CM\[4!$G>*Y2&8@,CSG
M:,/7H&P.+35@?B1\E$TU/#Q+:L4YVVW6\%,7([\=$P!*R_IM\@IR*7G9Q'_9
M30Z+1HB6$F2C<I3/C72HY;42Y=*,U^=1##;*][#C4&]R]3A3[Z\*%'GP>]LF
M$C8*FVA9Y>%4 "<Q=PI'",)EVPF71A1+ .OL"HO!KVT1$1VULIT-R464UQ4[
MV,6QY,:1V!>OKZMOTW\P\#V\WFJ_G<,VB-&/)4.%F3)288IR&9%57289NHBL
MBY/B"6\,HB\GY6Q91"=6&W3AAYE>WD;9OG2.Q]B_WLKV$6?I^/=S,J=F)PQ!
M-YMBYJV+<WCZG:LTTH#=56(]^>10]L4]??U8\W#"S-H@ VM-R39'I4UC#;IF
MPXRQ!%Y[CE[%$UE<UL5&V.8SS$.5/MN)]*NG1PYA1E2GHJ$IE]O-L1S:VIQ*
M?*]B(#2*$_>B"]#1L"29OO-CO6(7XP/HMR:4*G4@5=\DST, 4F3<KLN(EZNG
M+<*Y,Z[6<8C10$B$7/XCJ>Z4#9B9BUBPB"7/K)%;*JY5[13+-1!A\F-,!>R&
M$\M=/*R1E>H5>Y!/J\K18]0C@TC@TT&:(V+,1(J:<.ELZ08'2&;Q']C/_L9\
M1[5NI$:NMF54GOO+?\:9R\*\+@L*6.[@\."0-@A^(3*3X)Z5[0DU+]]QCC9T
MJ@EG."N,5*'3;:@ %3G-^%>D'C11631</X+#_5N,X.".(SA*BMN^_^#@IO?#
M&'?)X;A)]O\N7?,7!O6!BC)O.ZR=6PQKC_V@.J#].P[H'&&J85AP:&^]6WLW
M[];F#JW3=KA:>TN#<ZG2[%GV:?B(7EM>-QAXT?8M2&=O]7:=L84JN=B@E]-7
MX]!C]1FOWG*AO7=^"DFV%!V0(?@V\IE@"ZPZVS?LTTU4[;26-6E,?O-MW /@
MN64R3I#9.A!<6;OS^L]I7EN<$)XHPCV/_XA'$H)\'R?3&G;R(Q;:V1AWBKI(
MEE]E;M(58[D/\S'Q=!)G(*-<\67/ESN<[E":<'Q)D!=TZPWE,?X0E\GJ[<HS
M<>V&3\7;_YG$V459<^ H4XV=3S-(]P8_P87S%^7Z8VR3;-79IIFT[4=Z7Y-D
MD:R]$Z7TW?3NH\FP8@:!#AR]QSB1FF(\(X_BPSF%*]F,>"<M.<J'7",KIX!/
MY78_TM)\6ZH<5!<TE(:PKB%(:0<-/!>D%>P+,%PT*WXEJ:P7&;%$@3Y1;78_
MD$[FPJL9F68@ZA>\MDL+.,7&D%4^GW,L5@R IG<-W]$^E$@Q^[FV'N<:$R0_
MW9: :+@PF:KL)?Q7$)9/RL.C4)I/9(;+P-BTQK:#6%U13A8V=\[374H@CIH0
MN?U%?*QV )YF"S'Q.B\,-N$\)03WM0+?OV?;+D/$>E\)%>64RLUD=,CV"BK9
M;#AHM=3"6.3O,[)1Z<_EN6E"$:KTRXF!?I&L5,B!MFZS!KVD''?L B_XOD6;
M6*H&<'%1CGB)1N//155O5[9?8NELJ5#QJ#YKW-'&<L=VC1(W2QO0TXCAL2LA
MIDHQ@;V"\=_J01K*T"-P(^F3V#-I<H&UO5*.ZN==*6OT[7;SR<P8:H JZ[G*
MM0SJ<4PZV:"PF05R$*:><-8?,@N$N;(!5RZ6Q*>GFBQ,#M]2\\0HG4B?SX5?
MSC1Z(I[YG<XSWWGF'[]GWH<_F"8I2VBTJ1R/!4Z9"G=Q+HA  PA;5S2$05GY
MB@[J=MZCK<-)X"YL5)7+D>B=I;[3+ZV<K/9"S>+1E"LS5]U$ T/FG114(DV+
M35G^?@'"N%@T^P:Q\UA?9L)AE$X]10W;%U+RW:XW<[U411H)*N]G+M_6UD&M
M+TVI,E'@1X";7Z!8P@>S3#/5:,W*SNY=E)W0= FU C-VPG&MF@^\&\YQ4DY9
M#K+&BT"&!55=$]4HH+,G6IE>X@7PN@WXQ\?Q1"]<)1B/5],<-7(1Z1ML-I(D
M 6')V?6%-0Y<4NT'ODV6:.,MW79B;V/W@I>GW'3M["U;)9N;GI]DA5'UCGK8
MRH,;8\CO.(;#S98Q#'0,.^R@;"R^XR@-4$A4/@2X!RVGJE'+BVO(ZH);0L5.
M:PY30G3>S\M#WVD.';X[[%G'T^8NNY^LE<J3\=^8-'VJK4Z).DM1O\3OR2W+
M"9I-Y<^5.Y [_ H6?WTQ*$H1PTD>]E;I\CC?AJG<:ZW!C2B]:0ML?'2H,[P"
M#/;6U":=[A!IS,2$Q.!Y,U"YM>2L8:<5HU5Z"%/WWQE)'"+<!*2K*L\_>KA7
MC6GT[6AEM\*C+7$#Q .S9,[4A#A1!=L\5&YRF[D/,7)G5I2CK)@FPM\5AE3J
MB@N!09=+FC#S&+S.BZ"X+J;R%XZQ3W /%Z"WK-N.OK5H.073":CH??R)IO#[
MT?NU"1 \N6[+T8C"D6 Y"]J,<3I2MJYPN?"30.31E6/#N+P64@L?*#!B[%,A
MLSP-@:-.3M\SWT)-TLJ65AH,H+Z"'YI!J3I+*#;</AUNJC:)MG;_SLQ.QN!5
M5RX9EW";-3!#'#3,#B-@/P;8"FS;T(U$PZ0V"W! ;#Y$6$!@63[JG89.)6B9
MF-J'[B-OSM2<4FWXGWY]?R+V,<J3E!7=.!KL_OV:->C]_^Q]:7/;R-G@]ZW:
M_X":C%/V%L3P$"G2SILJC>R9.!F/798GL]DO*9!LBAB# (-#,N?7[W-UHP$>
MDFR)XM%O[4YD$FQT/_W<9VFPZ@F:"V.."_$\IC_J'J4D NPU#O&R\/7B\BV]
M4'(O_IZ4B9SXU<]%L@C@W^]LC=MGOH9M:C0@Z49^3Q:J5MNU'I9F#*$,+^7>
MHE8'=C 5 &9C2FAG"41V"?ONO4N0M:05^[3/"];'Z<\INC2G17W/YO-/(#9\
MO<Y/03*:%O -8+@%ATKAU06H(@"X6$JD+HM8TA*>\R(O&%QF_2BD;JCI-T%G
M+YP>7>?T<$Z/W7=Z5&T^+;RJ_0%DVDXI+VRU+2ER=&F*8GA#D0CQ 8]EZJ5M
ML& L4#M]L>RGC#R6%HOVDL+GR)VY"#:3I!,*GJ&^*UU3L>>^JH<(M<QN;Y19
M$CT,4SV-D[^W-8J:2KD4K*+1SW<_[EA-2*<)**@)4"SK :FG*SMP](^Y3%!R
M!JXM]5-+J)I3AWS[XIOWL;HC2^)8@<4NBI/1(VB0 "L906P!J.%=A"G-RY#:
ME[:)41ID,+YN7?8W2D/*K2%-1NMMU-M?FNWB+N\((MP0WOF)'!N5#VPO.TU2
MOCTQ=<>56ZV@D=BSTAE9[TVG[>@]/0]>\!$9A&I&>,U-BDEC4G&8I/7+6/T-
M' "!:<KM):"@\R:Q$'O-)=4L>8Y^FG/!+1$2,XI.I#,AJV:8MADMS+FMMKED
MRS\?RO'&4EJ859J%5E]D[#RK)!TV.2U@=R:]T/AN^.UCZI=LZ\GB'J*I$)59
M7:C^:E3T*IL<67>P8CMZ9"]V6L1XK:7^#\'^U,E::#)2MV9V,F1@ 8O[<9@$
M*:O$JYJ9S12/$P=LI<$8=B($73#WYJU@%2WV?"S[[C:?T9,)>R*O$]D;OG5&
M":IT>L$8:^+4\EU/@V&8%Y)$0?S41N7S* ==ZFJZ3)Z6/UI/9&=BL=FU14S#
M1>4;2H(SFZ#6OME:I.)TU9*^#7&5K3KD\:5MLL$]B71B(')@JWV+OA+="%O+
M/V30H/3>AX/D.%8>7S=4QD]/C7S+?>L-:)G"U@CWYET!/DI8V?";"@==D:ZB
M7\T21"PR+=<L(/@@M82YYLQ/*#=[9=\-?I^J]MVXCRP*5KGA[--OL:W.DOU.
M5!;:+BL[)5/RNP60E=*M,LT,H385@\TVTUM LG!%I>Y0A0(!%C&(,TEU<\-Y
ML"B?T(/D.0A<C5LC#\&Y"G(+!ELL=#+:@$U9PI*_Y(1:*-W-3E"HFHU0R@K+
M YWU7:52:OB)=VD,LWF0R@XH>1=U$ #KF.5L%:>+I8LHW3-388Z";_B*6U#-
M] @NMV\/=B+PK73^"C:N.8'I/LKA^+++/?</XE?5[]^:)$"PPL%+ :99EWOC
M*0?F[;;$T/P$L!!8.ZMOI*V>\"6,M6(9X! O:GWPWT+QP*^J;JKW64=/Z?1C
M82GYXQ&C .P8.B2'T8*?""<6VE9Z/(34[;6F0R_?-(K'A7?%#;; BOE#F6E.
ME7,33(BU8"O["0_NDKDG,VR5A ]3&@BW'_J:@^*>">-I.]2AO(2R\0:FX;7&
MF;6(G^.O@0^@655.>H"#EI>LF[-C(W*9UU ]2I(:T.A4E%7((%"[*X!N-,[2
M+=[W:-)%RL 6/A*]"1![RQS:--*H%&A8<20$Z[^"J,"<3+Q$<CY70EV<7F1R
M@SDE*>24OHJM543JMBQD3C(D?U(UT[#E8UNE,B)&[X@)$0IL^FRXM8JOR%,J
MX,X"-N)Q.FU&/DUL6TQ.LE3-@S#56N<\"D;,Z[#M13C2,79<@-2"\F/4(V-.
M-&)5EOOSHI.+'+-EU!&3&JUY$[2)JFDL[M*Q[J;_K_-/#>^G-,DRWJO2G(SW
M(8)T>5%.EI*MTF@ULV$.&AH!:2$>O(Q9DB'?,^!3I*!P,J+I4;7:H<VO-J '
M]%7CVH*M9YN.0X55!FYU5_WR]FY=K3PSX4?]GNX.B=Z] &%>RS-L:F_="* S
M,CGH9+]-5<SXRSTR9*J)N6G];@8[;@9!<<)>PA(&9?+:ADU):BZ] +E<*K8P
M&!4ILMUJJ !4?:SZ)&L>?Q%R!W"D2.$4"$!.A\TIKS:(X&+'"\#I$*TO:1F0
MI/&C1G0WE'@"EUK77()5SE4IYU_X;]U- @>G%CQ]F*Z4P/TNL%LNXWM""R3!
M%Z!J!FD-W72 3.XM%;I68\VKJ&10QS$13TJ]-ZU]V;*^!!'%P>. FE/P%;9Z
MC&:HAXCM0<5=6PZOF]L8K+P-__:KP/O2/1]65'U("N?&"UOJ5SVH7)FV61_N
MZGJWWD[GV2N]A?)G3>MG.LL"$PZ,Z;IN/3[;X-E^Q%5Z+J[BXBI/'U=YS/H'
MG;7"<Z-'"^_-%RP-OU);2]_0.QCI'2C9@5T%8133T!Z 7$\W6SI,C0U_O$W-
M+TNF:FH^%K"*%=&TZJ$N59ZS'0'R(9 F!A^"A?:RZPUIH*[<D/<<7_O"9,65
MB_+W6TI5* >'<XE:##L=AI1#@X.HT]Q$&W3NK!ZU%W(/XVH#3WLT!X+"&,9^
MZ6^:,Z10*J7HYB=+@57#$UT HG/Q#%:0^1MP?**!E(J3$:OMXWCG$_*7XQ@B
MR1RM[5='MC(%!^)J<Y.Y)897@-4Q^@3EUU9Z!$I@FMIHR6$:[E;J!&)'L6.W
M&KN0_%;!!E3J64!>GO_X9CO7;GQ5^$KL&A#$/'1%AX.6+R"HXC G:K-5LZKY
M"+>[,,U&JLTRS_6<[H_DB=%/620@M[I$21=\J9E%9F7V59FWEQ%958,$G,1B
MJWT=J?DV7="P37)6RP.M9Q92P_X\TD[2)3AIM$,TH/%IJ:)4OY0FMZ/:1"F(
M5IQ,IOW%9#WRP4-K@DXU,U?V&&S*/=.#%,T2U-_&HE3QJY:H;;55U%.-/[[[
MP9Q%6(%V(DWJO'M%OC:2(5) A<"676KO[?*Q@2\YTH25%EKIBZPB%H)#>XCL
MKGGB3+ZPX]I+B%3%-4$K[%9)8>Q5Z--K<)JQ^$:6D:O^?"V]H8H+2WB3E1NR
MHFWKT,LWWXS5$(\P4;H2E+T0S(* (]G<-)*!=OJI4J0!2G)TF? #[]X,V:M<
M^<KM2D@BE?EG^C<4;*#U>((#,1AF[P!%3@](B=^:+H D(TYTH)5_]MSN:W,=
MT. 'DOQA*K47LMJC#EBK-(ZLEB+K9@B"M_7V63;RZDZ;EV'9_9!Z*U6Z_1A,
MOBB'T2US0HW>L<R,LE*0>;PN;L:\_)>D4>Z6V=U81=A318LH,SB >GK#A4M/
M[Z6KKT@O'FH8*VNF(5_D$"TDSCLI<OX'-X&R!2['@\R\#=HR>67M"1W#(/YL
M*H)23L;622,9 S*40VS>*Z']V+0PN]L>MS6UKS[RHJ=K9.^,5"42E;VF;E-%
M\>SOYSFH+G_@#W]2<8&#/_3<261XF% )J/ O8# 3*1BK-/T"T%%;'6J"8QIT
M(\=#:O\B-R/C"32/D-#[TGV%\23"<'QB;MBTES>ZHH4_TC*H/ MG!J.]IV(*
MPE:.,RJ/<VT=AWR4MN?25C;YA_:WPH+YGG"[NUKE_EK'*E];6OF3U[9G5G'[
M6G.!W;3 YJM57-Y2%5>E7=)CUV[=LV[KON^_I6[+7RJN^M;B*2/^*VD1:P-E
M5/-@O].TXNAOB4N:,&%& [0R?W,)AO$?8$05@UDE?E%:$[(NHW"#7E[,I&@$
M&"EFQ9,;%H#MV]4B*ZJ(:J4CF'4Y!KMFJ=E7K>]]<!MV5QP@=F .\Z$"2N("
M=H?M.W+RSJ*YBD$E]#.>\+ L.L?7;E^AC88%2)27DINL%F3C.'L!@^$YSGTE
M*T; 1U.)3-<1,K?-XRFMV"VWNFPYZ,H$\QNM7AI>P7TCL<@GFY8WRNF8G!I'
MG$3/NZ<8T29K:2IYKJ6"3C$F;IVM[ #3.O#BC>3!!%,CH@GNEW,#XR*CYJ3&
M^81HB$<9JDJB"BI<;"IQDP_=>$4,)>H)Y.F1ME'X7^S:4;;#W'5W^IESISMW
M^F&[T]^ N$P66^\<Q#TF5W:5+%4LXB!F?Y*DG=#T'MMY>X,S&B@IFUIR6C5S
MP+R2]+.V5+-@HKC-#$LQ&A4IDQU!]>>@Z50&(A#SLXI;A3TRJ^9>?9@70@7&
M=YXBC!T;*WI.4IOD0.W,</(*/E2;@#70(7$$"[^=#&E0]N]3GGS/J<<2.\!*
M[8BZH.E^;,G2B*Z^'D.!<J525/VQ.KF=9"Y"@,=VH65,UO2FK5V"5+%>UNI;
M+2;+]DPMW>'1CLM3M<<LS D94$:A88[Z("7*G-A-^<)K:15@ZV$F)3D!>SZE
M3#SII<%A_Q4HH4]9?EJY*C/F#F,39BE.10]&N;3SU@W!R6Y.*<4='\;E)%U:
MY3=*2?XIO:7@CL[/=9((GQ@=53S//N 4>SE4,,Q4S#V3 _[IBWH+!3)*N9IE
MP0J1*77(#''9%$7$F(V"2,^ 1*+DIA;P=!U6%:AH#7X=ZG!7.VOZJ=6QJIX(
M7JW/L&M)+,XATQR$PM&[>X4\ >?&4\^I(5V/OA/.8")VI"BA32>N+S_K>^(8
MA.T5L>T#IRES<6:WJR 0UAD1KZ4'Q=>4[PV894(WLM%4ST8A?*ML9P[:BXR3
M"G(J^.#L4^W1XGY:Z'*9%;-2L]YXA:B/BM=CK'MUZ7(?SO$WC$F(L3*9@\B4
M  I8'Y\PCZS? \?<L"",.OY+1(Y27#>?_B9%EW)<)3,VH,QFM).'U6K=BU%A
M2@JZOGDO<F](2)B@19X5"AK8;XTPBQ;T:H,QY6QA*[Z&M8/Z <:P2?A%C4^H
M7*'<Z+!6;X[.2RJ7"X&!59YE%1_-AN5UV!2+U0VN<D/1KM02LHKM"8)%.95
M'XKGV7 "-Y?J %SB$S*QX.+"9-R@&$0E/J3G+U1'S#'BO Y!M\JQ!=.59OSU
ML6A+,HG=U>).B N4!VPQ\5)8ER,\GAK-#1=4@*)/P/D]:,6@E0+?6X9GGF 0
MQ2QIL\]'C6<O>0BLF@O=X<47QW)-4ZH'L&4JZ5O#0T34U&=O7B(I\R"L&459
MS*B?6\>34D6Z$<N< H;2EYN;M%IUY49K"%Y5>Q'/4[S<>F7E&<JBELKH*F+Q
M'W4)'B4?\J\O=7S\MNWZ%21=T3KW0H2S,&LK4:+^JA])7UP-;6M\TLH=28.8
M=ML7KU?9I+*Z0S/&Q(JNO$.M+,8ME$!;L0T;<C\;+K9N*Z*KUIO_$ES>CT;%
M7"/*V_CW(KWEU7>' *N<I^NQJ*G;_6H%ZT[MCO60LW/CYZ'0PU=?&"4]>IU5
MMU6*@'I"NA'HBF+Y0P7,:%*Z\&S% K.$2^8FJH%)^A"W3$G[;*H@>\8H_<A#
M!8/C6\:J :E?VE'6Y_R#F1J'HZH9E-B7'/(E6U_/#-*!_4O^5/,5W4QB[*C
MACGM5'O)M.0NBV91:I+241\47M8!,FK$BY*IWTP3;Q*$458%LBY+DI)RM.-2
MKOBA6"X>68K<S3XDP!]4QOA@IRD1;WOALNH[EY5S63V]RVH]O(:5]>1XPR0:
M8TI?PV/%ZZ]_&6YZDL PQN)VXBLOR7N 0]WKW]20_+N_O:^V,+NDUJ0@4NF%
MCZ+EB<-KDF#V$U?Z4;J[CC^CSXJ]8=5&2Q7=#@0$U51Q5I_N]&!:JF)YLNFQ
MK9,5?5-346:-M7P=]VHWOT6KK1RO@O.HY@]I%L[+:3@&@, #J$<V.Z\,9L)K
M!0C"E(B!G)!S8YZIE_H/^ZT]\U9F#R 3$OT!,P?ZI,)";-\I/[/,#O)4[T+8
M7HO/E(_-B3"3%*22T!US=\T!6XU.[YD-#GF?!HU%=];ZZ.'$Z+L&D?[WR4T:
MS%\ROP7;8WPKJQ-10R_6CP;##&>?J0?F>_6+MAZ$+^]X[99<^NM?\O$=P#Q%
M"Q<6&"%;1/#H8S7.N@[P3P'X;J-SYB#O4/YX -]OM/L.\$^"\:=.NGX#X/^2
MIZCAV#>P9 "2VO1-.L[CG;VO[2);^;\K,*J8=Z]S?RT'OC<DEDR%C>81Z^[+
M_S7&RZ.<^39Y_U6'7NO3N ,8/J E)"/8)X][]B.\[]N$W=:O^[VV;!_YJC>+
MFJU<=?6$#\F]Q<06B=::?\'1(.'8TYZ1)SOX+\%,9F=C ZO]HN;]E6/,T[>,
M%-_"!"I.+X<E6\$2E@1[A23L^72"8D6<9S12:C+9LJ:_=#9LM$_=\'$Z0SC*
MO.>Z_;VTC;U(&N*C_CG7(;=;;O&6HSV=<J?OZA'/\"C*>>40'SY>N%MX6I69
M8A=V2*U3B?E6Q(F]R7FJR.<!SWBM9O,^\N*K;_.QF>.SC6QO5[B;]TF-IC%
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
M$1]@3ZJ, W)Y(OV&X&,59>H&/V2A=7NC(#17P\P^]"Q8X'ZHW L$VTV0CD]
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
MON"WLBB#F";9^*C,43,&, 9O4!D6LUEPE5['AV+ZQ/U($\9X.1A/9"]Z<E8
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
MIB3K+&;"7SIT)9\9&$^R//Y"H6D9!</$WC5.?(NHK'&*SGES" 2PL+(/'R^
MJY!\P1(E]-^',PZW6+5*41)4;0J^HQ'+$>0FPR#^K!O\U2!3 J,"(QL7:+<V
M.JRY#ZP.);+'/]!8N@:4TPP.*)<F[BKY'ANRKKZ@94_,%DS*'Z,"BU!-Q%,7
MTXNL9PNJ'CFO)52635;OW43W41W#]^Y>*>XH "%*"BK%WUZ/2M!'BDR[.^.
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
M)*D"ON;1+<>CA3<NMX_7/%7C*QZTKCOXIF'V.=/M;4US^%&033WLT0,W.P-
M13AGW?NHXED8#T/?NPAB' \?@W2(H@#O_X<42!A^-$>33_#A'P$< YL<_UO%
MODR<%$2DP??933 O=T6->&5G9E>P!SV*ROIEP],ST,Q$H\ ,_R8L-+=9'1]@
M@X-Z/ \:[;+',[?]-Y6"<+SO6_W&J>GTK-^P;O6-T*>HN/=]L]&_\WHKH*7'
MUF=Z"MS@&R'0;F^" 'S?LEI=/PP !M7UPOL H/'MLNJKF3S.0O,^!5^VQ.8K
M\QS*Z0QC-5'$PG/8"8_"9)X=\M!ZG'-(?:W5;)ZDR&#'X01^ O>![:E5?J.4
M3-;@J?$H=<T@#B92.BFNCX*8\&3UBQK$)V6F+[;9#N@EV-E;YF/ E=.$N'SE
MOF^FL)59.>!D%,0@+!#)>8 [398(:?8&30F,PL\XU $^CE&J\/<9;A9G"U.?
M[A0WLOIE.()PJ/00&[C6/[YME-R]+A!APA/M6 CB!5S\<'$.?-&;J#$ESN U
M%#RF@QALP#1#@RZN0*HKZ3\_"E(<D1Q[PR(+@<$2#;V/<Y#W"8X] 7!EQ?!W
MA0,E"^+[U)7<,&W]/EQ=?L;WQ=@P2E+$G%Q9F* '(,._AV$L@*5G;D A:_<:
MW6>$=3PG>&(:XF?2$;\Z&GDK0/_P\8*%(ZA"F7T61"<P 48%C^TLI\T$7ZC1
MN3PY5J@!T6%IC*.'"\H(39Z/C/":XZQETJ8"[&8/,)BM>6LJ$UC:W6<-[P)T
M)%1 1/#BTG!E60CWD_+,T@+CIIEW<?D6H:&;:*GT:N']/8G&>I@H?O]SD2R
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
MW67PHUCEY=LJ(6Z#G)H3:]RD4@"B'@F+$ES-JOY*3QTBBVR&3FABSG90V8(
M$97!WY6[M+T;^'@XF^/76%^"%K EO3#8&E/=$-Q*")M@ZV(<S'!RGWTE8A-4
M;24,UZX^$7D)[GNLS8"U3[6,3";)9116-R[>&G$TO)U87(:YCA&'"!P#2RHD
M :4\)^D>U#DKPCVU/"6V)X7X7\G7.;,F1XE<_EZ79)'93&D1]"=]K,TNS!"(
M!;F+62$<4U$81=":W1($7X.[%E#O@\.&_&TX@RH01#E!=!0%X0S_EVU^LD?@
MG^NP"=T+HW!N#ENYE%+=2<>67YKA /_2V9(KSX<_I21@P#LJ'QQ;-($E)S':
MVB:E85%"_="4F)IGDZAD>\K+I=91LA7;J.NSZSR=I1;.;D[;R[EJW8;WHZT>
MK7RU0: ;I5>5O!$ISM;.JM_)&99$2WZI&@5;'C);25OVF&G_9YT!5\LM\9.8
MKI..&E7J;LV><156 U"4$^-FS:0N7XG#F^1V^>VAH?H;U&Y2X"CY0M_!]C!]
MQ<O+(@?6LW47 +$0*W@9!<B76-,J2_X_?#AG5FQQT!.L96BUI?64U%F57)61
M7UF[(>25LCE8KX:W:L6^*Y8"[!M]B'F0EUR8]D6T:?_<> _+0Q/C155S%N:6
M$+]*0[ @/EB'6G,:8A$!:I:F]$_2!7A'K.T'L\P0FPEBD/"+U0WY9>QMEM$3
M*Q2<Y\%HRAL$\J'R"#H**(BE%LUJ6"4-CB(-[,MF&C,[UZYM3>\-[S5G.];K
M,;5CVUOMT[88Y/P. $.7]VGCS*MXNSMEH?=*1[>H7Q:0JE=H[2&,-9KL)OL
M@UD"+&RA;+,R7$([/B%CH'65@AHKY#<* _)T\3XCC,4$M&-?(\T$$P3)"82L
M7016&4/$.T$_#^P8PU3;JYQ&C5U.26>H'95*:O49Z7@Y;!6H%P-@BU$*:G:
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
MW([]/> 1?H];>U.DR5S1GPGV$0)@CT8@)? QQ(/V:>/TF0:JC9L-CW%V[DV
M7WBC(@/1A[\'R!K\!4D3P0W" P#YI87;*Q>^&_H1%;.W00LX$D8HW*)@GJF7
M^H]77\&^M"2W/D&A0CP WWD2!8NDR%].PB]J;(L9+1&9"52]-?)8G[^KJ5_W
MVF1-5R.V!/O;H*TU&_TE'>W/?QKTS@:OZCNI*7*&D56UAJ^5<"NX_1H)1_\&
MFD_2@$03:"XJ!4)7]6]J^LQW?T/:O&3:1-[Z=$?X[F_,W2NB[V$V<1]-08L:
M[TK%_Y^]+VUN&TD2_?XBWG] ]+@G[ B(S5NDO3L1LN1#W9:ML=3=;_;+1I$L
MDAB# !N'9,ZO?WE4%0H@2)&2+)$2(G:G+1(L5&5FY7T RTQ8G!2Y6,:D4-8T
MNKW:84[6'-;J1M0TW7;#DD6;BYHFV(C-K47-BU:K;@DV8!KXFR6N&I,8*GHB
MA=/H(*O1CR,[OPK]=,;RQC#\,L'!?-%(C!>M3K/6,_LH>5.[UO@9!172Z?9R
MJN:<PJIP_1(&.GROQ,(\!4..GSH@V9"=&<[EIWAC66C0H19Q(F?.-R\!T??N
M_!A>'5W!2^$OK"R)$N+S<+0O?Q>S^9LSZ_O-2:0!8.W]3)@["&'1 _R7)I#&
MH:U0 " R90,(JU'X!E#\)\)'(KQBN<&A$<_PZ]D\C!*!.\/S(C&E0.4A @/^
MN!;1B/24HNP!-+5(]N#A+$ J>9K.^12'B$RU=]HAEAX/$]SD#,]B4Q0B>IPF
ML..:T3.7+-=R4Z6K! *IZ_>F=#=[-98TF6JYE:8CDASJ-[FH#BAMTN@^+F%(
M@PB W6K7^C\[>5UI$\;!JJ99J5S5#'+88&J!?R %?P/\3V0X 7$X1:D)1YP
M[6FM<)@"5& E2UL*'%C]FP387$_Q2'HYF_I!9V[2"? \\-=A8]/SX'Z!@1ZV
M-OP!4.1,> %J4$#UL/LX]1,$J%9@#29AX4P/@]._C<1_/)]N.K[C]]I%39^L
MYES8/V,UT#IX[K"M'NT5U\F]C#1&#<[\3]J'?:(!P%0P].:D>A>VGSW/\(4%
M"0=P@@CDEU![*>P4E=ULF\!J,Y0T&_1*PDC3[6\,8(617J>Y*49J=S BU]W5
MRZW$A18T(\5TZ[56>W-17*\U^]N9>B342J\?67#I?$[VE;;A(M@E6F_R^U!*
M$E C.2-3CLRY;, B_CJ[H" ;OM,J9 )5>GZEYZ_2\]^!JC)95*J^V<0*S_]J
M_5\R!+60S[N;>IUNIJF1"=!!O<FH>&[GL+.=*L^,YQ!82GMK9Y,7;^YM N[Q
MHG?8MMYB=()5+J:7SHLVJ!JY7VB9Z8+= N9.T_[N>.H%PD5%MUEKV5_\*H
M7(>8W(MN.Z\%TXJ!AQCX#>[>*)R]*O=-%52G%X<M0,6-AX 'SN1W;Q@^A@YZ
M7\[1XS F]< X2/%:.9D6.U3?KW"2MGN'&4+82=JMM2W+M=_=DORTY=H&R[5Q
M[TY2GU!8@DZ%:Z0C^QFEO@,&TK$8@L&!@A5ALL++:5'2:(4% -LLARPI;',9
M8? )51(TO-<YJ=EJZJ-QM2E<#P]KW8V>KEQ^E2I0N?PV=?D=%Z^RLA_6./SJ
MA=A2'2YF)NO[S=9VS(^Y)OP0S/[;<,WU]OY-+*V<%S(?7<U!.::Q\GM+[F=.
MMWD:@26#.YF'_B+V@$X0@-=BK)UL0S#D8$,9FV3KJ]%'U@H/)K2P 8/B=7>0
MW[N>J="M,A6J3(6=S%0PCIC- J_7TAF$X3?)[K4!6%-CCR,)(DB\43J;(X<@
M'D#>Y^A*>.33&:7) O4\3#T*V><:@;I'/WW1:=H*;,;Z1!R'0X_,MVLOF>(W
ML$O<88SI2HW#-XX=/78&Q&Q"MCK2.7>60O,/V%($+T8GN0Z_B]',"SQTO"%,
M<4.>O(Z=H8@B#Q=)B7\:)^*)1/9*4H30.INADEAI:)6&5CEK[J"D@5:11M&&
M[IEN][#HGFG4FI;*UJK;P<J-5;9NJY-%?A_*S-UGA\6'*(QCYSP*@?G7ELAJ
M53:N<Y2/AE  ,8PD12\Y]LNV]H26G]/RQ82P;N9>4C'ZS#]W>-BYC<9^V.AM
MET/6KUG.&=XL ])2TCDD4T=U:^-X3!,3CS9T#&2)?3]<^G0KZ;.'TF=G_ ,K
MV$'-V06!],%F-7CU;G 9= XS 4/\I]6T)%"[7[^5_&GWMDP0<F]*/2U&3LN]
MI\4<@O)L"0Y@YIZ\,5UEA6?V#AFM->?#>DZ[A0NVV<$\EX<"="$A]N94'[@Q
MPZDS!=C RU3*@RUF?@!P5RLCE7%3B9<=-V[V3\*L-7,:O7[!S.GV+2VW>7@K
M(Z?7VM+&N9'UK8W,%MAU(6+6.-R&73<:FT;,2O>L."CL#',G53JMV3R8:7J3
MJR+,=_=//ZZY]F6..1 H =ZI4<E;&&UHZ81F 3UKN: 7M?M9K@!'H)M6[G0;
M6.,MXL_M3G_KO.DORSLM">F&Y;5'!9T"R*Z^!9&V;V6]/2YE7"C-X)9TH16+
M%50!(,D'V/H6432ZG=L01:-7M[)/[CNX1M[H1B^?^(*:L'%K3^%_\F=F;0V7
MA6<Y81!]U;:Z'*8E:C7GRS3R[_(%:#>D-=ZHY.%6F_GTG2LX5)BRM)$Q.MJ!
MQ,=2Y53 N[+Z!9N1 S')"!]EIC@,9S./?EUS+HH87G&;\![QC5IUFS:]'H3F
MSA8I$KMRESY0JAGG'A_E@PNWO%X3:\5"N,+@(Z\Z- O>L0;8.49O:-_JPC7;
M6ZH;VQ9*(AWW+=W$HRH'X46D&@VG@ T,S_@4S,%\;U#,A1<4#"T1PPV),6]M
MU872=R"7GC80(]C)(,E"4YMEIV6+P .)+VFO"BE\_\,@*Q'$-U$4B?. =?"+
M5K+K5Y%54(+Y7"Q0M]#:1P^TJ0UHX=:2KKOA=>/\I3V\FU]E#!L%-HW@.P$H
M^"%QX=O>S,A>;V2MMT(2-@N"L&L5,;?;%L5NKAP=UNI;WLJO-VYZ<P*BNA<,
MOFRV8WQC \Z\/=WL>F;'8979465V/'YFQ[V9BB1^,BN*IY"ZV.-X6YN15LHL
M1T^M!&S$+6@MK7;&RSBHU[7\';?K\-"H;QW3VUIK:=GY]O !<L@)JB:H7WLQ
MH)=EO.U7X$)5M[B4E8J(,G^"Y:4!,>=))"B[3R#3]7U=!YHS6):W@7VHB]M
M!PCH3@O0<'RL($6F+/]*V1[9(6&M)M\2]A4EAL$V$GI]G-FSE@_-\D4?7+U3
M"/0T;>.UU6UOYTU3NG2GMUT)^2[I4*>J7;G6F6[#%'3+<ZURE+*#9B>[N@SZ
M;JUO0-]OWRK$UM_::W!:V&MQE^U"MX!FRRX5JG>WT\^4D[9Q*^?&>JX523 G
M=.8:&3MDH&BAXYN^, 8[*F4.BU]!]'EC+!!.<@P+=) HO*99CKH4'#1%6/6O
M5&"Q/3[#AHL!H[IWL8\"UE\4-.1ZX;H=6A4LC<9M-&1T0>[K7?NDV/>QJ1A]
M#P:Q\X?P4P+_B8R\*\)>O.TU_%-2^7N$(!!*3J GR;:;X?^R6M4QOOE*OWF4
MO7E#C_S0ZEAEO;#1WQ*I3.KT>W. S6KTX5(8 9X=V+YJ:PZ,D@,N@4-Y:L%P
MD8, V_-F35N*KUDR=\^<^%K,K;/==BL;@V*YAX=^[]+ZJJ,$]P294^B$FBH)
M#(PD4Y%@/G!6#@"+3>4(=HX>%"-Y_728I$+'7>1W=3KF,;AK07Y+F2Q*SNC9
ML>E'OY;OU>;>Z4-\ &WOEY=X6U_=^@KJ$QO(L HY)AUVNZK1XF5;O71W2YV:
M"91^OC&AE=;,CR2  G.Z%3U\E<',"P:>(W#Q.,DRKD>86Q"MRB29YY<QS;?5
MKXAD+Z?"\_$? S%-S OLQ94K)+\6=H:(2Q_?(5(\I7G))-597[XE_7G9.DI
MLT6QG9J:)[SR-=N-+=W/M0TVVLY=D6)KO8 2%THF[FBEY1*,*[" ?&R%2K3P
M041$,7;XUU"D[BIR[@$DPTB8A%Z,*X]#V(/5@L3NHC/R1K"7A%-Z8@_V"Z<&
M-AK$P$E5)Y%=4T&4%78IOFN%_[8<+M (2V MK4P3\K:M+B[PMY4+=[=4_7H%
M-5KI)]D=V*#9H^K/A=L92&2\M*O-LXGE>,Q] ^EW*!U)#WYW^=6EUS?KW-)K
MU^@DF^[^SIKN_GM^NONIGNZ^;8!Y"LC6FL0FT^-9P[$\,:CI;6MT%\5H;K7.
MEDW@-@D_JWY46@"]0%,R"S#E8*"AK3D@?O@UC&44#K\9?@1;55%IR3RGW?\Y
M^RGSP!TB(6P.R^Q&Z5+.44%'_0R,_-ABY*?9(38E)\1"L,FDME*)X7@Q2Q:-
MC)N78H:@!4Z)-**UIJ$_4KVK=&!3)VBF@]@#G094X]BJPST-1F$@L?\I!9IU
MZZ@'0&>CN34^EQ"Y>DC*_3CWKBW!8Z&(&/IA8^LLZRRWH^"O[2[YJ ZI>-QF
M'#HOPMI#LW6X987*7@7#>E4PK J&/7XP+(?*5K? V@Y:W;4P'>3>F>_/_K9F
M#SK)#ST9K/OI[1.M/WD@MT?:/CD6<V2S&,L']C*4,;WW7EOS*3!LW;O^6,13
MY[T?7K-5_6<8?4,IIW;\D-H&6!\HI2/4>!0OGHEO$M0C[0FGOHHQN:.QAY\G
MR<]@U#+S(=+V3 Q!\LIHX3JJUP5HYY@S#"S)$]CG@N-[<-@0 W7%/A@UY]V5
M1/L@3"=3%E"T+WY_UKW2[)+='?9NJ;$Y_ *5D,4<JQ*P.-[QQ01LC>1:2C8_
M$H @OH"60>EC'QB%3>G^C5E+/\>?97NBE> [+[?677I!;H[%+\MY\@:C=ECB
M6A':4%T- KSZ-QF%<'E2 -X8U*=@R$H=.ZFH+B=6/6Y5<AGLU@M8*Q\AB10Z
MW9(:28 :+H:^+/10SI?YVBDV[$%5P48'^ZU>B6A!.AYV\V7W%B$"(0Z 6W";
M@YJM[[B,W 5H%195V[!(YP?C*"07B?:6Q%QOK=B%L4VGTK2J9Z,#7SG$*USP
MHD36OEG?BJ65Y7])?]NOXT8Q2,<FZ$1J,( V4*\SO??1]X9\'V]?&%.> *;D
MRR11EP]4+D"?F2F01I3L)P,@&2DC4OE@=S,O2>C?OIPH"N#E=683>6$0<F0-
M >32./-24T'&=X]?/Q#!-V<LAC@=Q^,6K4PX&F8!*-SI, ^.\@*($TG$AV=B
M&L);0)L+4M+Q5C6UTYYU9&**B'3Z<2S]\8&A9"Z:]HV$4/>#\3 ,4Q^KS6P"
MP4WYH$.1N6&.@CN,2'4%R.-?M@\-Z6(UD<>9H8F[S6]/;0%X3$@IG7 G8!F6
MEV;3#\-,3G6GZVO-"*C'1V1G &3\/YE&Q*SC:1@E!T"+,]64#I0*^BL+?](%
MI8A<6:^4J<"6B-U>K<>GME(\Z*XQKX)_(.*N .*ZWO)%I]6M'2[]"&W)R"-F
MA3]CS]'JE1#%0-?6R?!*X5.P'&:RNTSO ^$C1+0[?*:\XNIF,H81O6E@;4#0
MY<!0\@CDB;IV*<;T.4_^"IF'!^B KT#8I!%?*+HTD83K"+B<QDAYP$>Y$3S#
M+>0$2_N@9(*IEM!IS"^GVL.$DF)1F,LA,GDZCA@.Y3PQ)V(H6BA[$(ICLCBC
MA$NFB6;=T(2.HJ78@Y!8G,US*#P/(D),)F#88HS0]X#%T6V<P\7[[J'P]C$)
MP6VU&IDE6NBFKUZ&OK(9LD@$YM++EA?MM"WC=@> 5=A>MVNEYG %U_*U=/$+
M)MP7G8Z=^(Z4Q,0RXL$M.4)SE9O,U?WS*=@LX4:!I<.S!((D1)>,:^0\IYX[
M*FRP.L7J#=_L?L.N8*&!#(;+E!^@V[<3('[4 4!ZJAOLD,'K;GRB1L_NE+<"
M(\AR\B\\X!AO8KM9QBDJ0M;Q\C]Y&&KD6'S)$:[AB,S+0#!SW0&*2@"0%XXL
MQ0FL.8!++A6FV= ^P;$7 4O.?=FN$R '4N22<%#+41VK:%@N9]\?]GZF-GHB
M #7BD0&RA%/G0$7N5;!+,?Z%,Z)P?^Y,9'-,O:@ J5;=0*HDI:AU: LD(&T?
M7@S:C9()ZMV^)P::P0WD4"!1LZIF;1X7*'88TS[8U7H9_LJV& :D_HW8J$"N
M=3,F.X1)S%"M/PHJ2QG.G8B[OH:X@?)O $G@^4S:>7B0K;4LL%!V(HH"$/J
M!M1LJ8(MH,9R>"K >0I<90JJ3QBQM>R:4,@ K67MC@X'O!0 =A50@"A,Q);6
MI@>!2666U$*![<%4V5]% !!>L&(#2E.7CH=Z/F64O.C6:_6\[NB'(M! !$,3
M] HN6:+S430E("T8])'WRMPY#J.Y<DJ1A_OT_3&F+<^DMEW^#".@^[>H<7T
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
M\,;9AD2B\E78)FK ]>S9D4!.$20?WEI]:TF_/7Q GF^I-,:NL#2:4CK.?$0
MP:/?3[J9M?SR1<?J&Z#H5KM>+L-OB_" 6/; BT'K_?W]KZY#)$M*BX_#OU4;
MXY*8!WM8KD-%GV,!.GV>(;#5U3C$$=J?PF!"@,[BH8J5M7 RO/-%X$SVAO[6
M== [A^CX9PI*3.P3NO.NC2_#)%3<M51&#CSV=NM<$CX]EBC'Z%#D"@OG/09D
M;/%F'BCSGF6_SEPA8LCIJEA#E"N@S,Z,9Z43JNB%4M#SOU@*8ZR(%ZIV83I>
M!TA2I>?LIL+KP D_(!EPB4AB8A!"HM.PWP?/9,=15Y<SCQ1SP*MBT 6W@S>_
M&I,%'!8OUN?P*A.']*."(6,SD[T(-?3J5:BA"C7L6:C!&!:]@IC)"1<:^4,R
MAYPU!0=FHVM;9^WFLG4&S"26[*XTUL,F5FBG!<HIZD!?P"YT/GK_]JB\8 LE
MJ,!U+"G1?SP?V5I8EPIRD-SY:()NC0_$4VNL\&9E@#D68[&@&ND+X0,DSS'0
M X '(1I-2+<3RBPS+YT#MP(.Y.;<6L='[VF28/.-'6;2*D0A(*'2:<GN@!\Z
M1P?D+L+3M.JEL9%&YT 1&=PY-"KG @2\+WW'_+)1B*J81!M]$*R6+-N<%<P@
M8:-Z?5Q&8B17O9\\ L8[7MC)JHWH%^*_C]4E>9O"BK%S1!D6+^&)(3J '5_
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
M,9!#AZ\L4OO=IB_=H[UXK)#WSD+>@_I.2(L=R7(JHE[$.7<<.0J:?6O,F[;
M5C8;^T(*><GJ9(-D-B$U O1X&K<]0Y)0"_@.D6&*,6K:Z^<NP<M :BA?AS5*
MKL19H7N7EDAP/5_9S-S1S8(V]4CP^< $S7JW[0C1?<TB:.@OH"EL#^JE0))
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
M40'VB:3:NTU2:P1;K=\AV798.^P59=MJFEM#*I8>9B&TT60XL)YT!PW7"T;
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
M3[L\CP*.Q0>-TP'@V1/1PCF?ADEX+9+$.>6VZ]SB1)VG=F2=GQ9:/NLUD)'
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
M_A9/II>ZNM7#X^F[4_T)V%AJI>RS]L$SG8QD#<':$&=\-15_>(>*WQ @M"T
M=V>@9HO7-8[@3%VFKJ81..;KV@"A_L:C977Z_>;CH&[R_2P6S,OX*@XC:7#V
MQFAP6MT&T[SE!!XA@7O=^D0!:^A'T!"@>JF:U630Q!R/IXTA:SLCA@>,"KW(
MQ[1B6NEFSC6,@W)D3Y)U>M@VTXNH[8KLW2HMO$MFEJ4_^9I/*VM*%I.E081O
M)Z'RO3^#]QMOYZ]$L(97LUG?2,]]):DQ&)DC/7V[NU6?8;S9A<$(OG,=3URL
M9!6HU>U^]0($"MU4(F>>?/O4>@;K$6^*"U@[KR"CB]F,-D"X.YV0D=".8"(C
M@:.)R@\Q[.@I&QY/\^AKH7F</5PUH?S7D5:@T8AYU#9CEB.0VF&R@;ILKV_V
M:UW)]GCRJ?>H\HFQPBS@[&3E<*<^!B?3JF$FX;0SX>I$'>-B/\5N$A@CVVRL
M/_D:2RNN361_0>L"$'<JXK4%@J[67$/0Q?5O3:9NPWF'1D"HKRG)U&U'/'*
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
M8D\#+*[78N$ /-S;/9!C\C^4_/U:D_\C$-KQ0#X!$]K$,]>9 \F7(L#NYYL
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
MB\E43<P?'@IIZ$55=CEH33ZF5;MH54LYOIWDP/X&5DP;8G94;C@T:CX.V-_
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
M^Y^P<URVW8JR*[6W+E/:Y@PO.PEYX[.20A57A3F3OX"7V0%93IAOD:RH(^/
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
M#TK%5D+A+B7OC.GLO63CG(8'?H\G$6&[IY .C+D@UI.OU9-M;"Y V<'SE[8
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
MH>2^E\0U)+O%2[X7"^KS=^D$<Y 6](RMST[CQ'V)^?XJ/TQFVH7;<"6W)H4
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
M[((V>V*$'KSE M1\04K#T).II;I%C"_"^JFP"%-?51D66\Z1A2/06UBL8"
M#<+B(.J"E1@GTS$B!/13?6D02<>3,1V,R,\V7&0X%NSVS/A"FF8&6 4,2WTF
MK;&.7>Q/#4LZ]^")U3Y[GZO^8S-D3!2.MWU..N,ZSMG*&LK9$;.1V%W87X@:
MV@.[G6$BCJ?/$%^145;L7B63C>B[_-G5%E\-(_8AF,QHB9X1JC$-D^GH4@^9
MVW*_*ZS*TK@BHR6.P-!R*_D%='RC6X1!"(D8&3,5[B I_/"%71#(0ZP@')(Z
M_"*BBFXJBTR-O"<@?[%IE -KE+X.(PD2=U3O9D9;>E29)QFA%$X119^;4K6N
M,93(/<(29L#\+T@81IG?V+R'VMHX$@",NT1+[HE-[4(F(/<_9  9?184"L8;
M$IDKKL:?3Y;P'U?2+@E;X6&X0H:E,,:"K9&7G).Y\%U'?I\.E'8*&0HNB0WI
MY.5B%' HQ)1TUVM@OR\D+[R0A@[2T,$S"QWLM'7HV_VW#NW"?E-G0^!F3<JO
M")ZTR;26Q*#38/:WC\%:P8(K,.;"N1Y!Z#>TAM+T(]&W=?M0UZB\,SJ'6KML
M&OJX)M>#7-$I -ONYYQ1M5^R1Y5^O5 L]IWA8.0X^6+9&11D%]^PY6^]][[5
M.3EI733.CD_;W5[[[%V_7"B6:_6#-ORM[Z#A+ZS,HJ59L#9++BYM^!NYM1U$
M/%6>I%.9 'R,JN'D":]O7)_;7</X'XJEGJ,Y (SJ&&OSW,%ROZV67\*A-/=_
M*!\(\6^/EZ.S9NR1W*.DQHE+F5(RF_;,#H;V5RGIHDU!*0"7JQA-=H/5%'9"
M;1GCK'7;'[/2$?LLC_OX &J-Q%;NXM:/X5O"3QECY%!:^S^48W>2,L.U@SC9
M_T&T0/$F=ZYTDK2QDO))U?[='<2NU.YRL580@V&Q+X:U6K\DRJ.^7:F7^I5*
MSB[4ZZ5ZH9Y;4[OSN<;Q<;O7[IPU3MMG)YV+#PW\1[\&3+I6/:CJG<_M0/<.
M5V<9RTN5[ZAL09EB-=F1E_*R VO;'\04?IH-EU/.L<28EP3M;H1YB?L[ID_"
M[+F-,35"<B7 >5E2&_="R P;A,.>JVP ]'(T9 Z8N:8F8P%@Q0L%W&6>&#N'
M.>(NPP,G1WG>>E]<2900U$65:\1Z=>).4-^41U8L%H_RQ5J^5'H=_3 '-;%F
MD9.5=&Y2M]5$%596"<C*XV)&E:?G*L^31@]B?,C 85-Z\/>HBT8<;NAB5V6\
MZ''3$4T56@AD&&$QIIP'CI!B=!J#V Z0%9=PJ\"1$7B@-Q@5/D1VAR]((Z4-
M5,>[7$* 4(RIF!FMF/J(G7)4/HGG6V(2B!O.BDIRW5&I*GQ%D=O1R?,DMP,8
M/ZU;"1Q(Y.;MTR74%>([3CQ?^.UMUGJKB*ISC:E6XD;^] Z+P6?$LRYT>F(@
M?P02@#V;69RLX:PLM7@C,VF_,])A;M/_$['/GWV@K9@&VM) VX\<:#N \Z-G
MW^Y"$]UA/LZY#XJJ.T>U1&4,*9ANF"S2 E6<JP*EQ]J WYE*+#.U]Y85W*.,
M#U77@UJ'%2RG4]O7)=WS]7T;R7U#S7^*B 2WF'R)IAIG@,FTCLDJ!G-B$X8
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
MPA3204=H!)*P4@KYB2E$J4,QYF)/9.M1[/SGSMSI<LI^Z_7Z^%0^I10D%>J
MNOHYLF&MH] MW2 *MYHHNX9("WY*22DE;8C=VX$!TX7Y*</A1&2LL1A>4>4Z
M0:.PXB,3=J]\SGT) ;M2\DK)2\)%44=*SD:71?\JWP>3$:.DYPO9-16IDFH5
MPV(+HV9Q[MU0TC?S-<J*3PDN)3AR-4D,S&&,LN9+/UC:,ZUW@;+N.ZZLM9U9
MH+E/O)40LHK-FT?RDRA'7/:A%;/ 3CG<STYP(1YB$&:QS>T@.%*9;\KHRTC
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
M+R>Z&U%M9WZZDK7<$@K*#8*ET:LN08%6+2/\!=4$!'H-[(V@?*W091(6\,2
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
M++W2^:?^D&"DB3 NLUVI4;QK-,[WE,*I(-U5ACLRVLC!R<8]1G%3M,6Y2M9
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
M]7&YY37/YU+?U(/O<RF]S\_^/DOIG,_GROE\H03WN9RKL'2N'E@Z/_1:NXO
M$K=@VK)&/AJYCO"W]U95=Z.+YW8@Q]&4R+-6GG]Q][Z6S:<^K$/[L&K#0^G6
MIW E\29]L/^!R])=#@)WZ-J^*]83F)XY(6.]9DK)AZ;D?.%@I-QL=8Q("&I[
M26[58B[TJ]K^P)Z)X*AS.Q$KY5(%[:WP FD_C40\!]H_5"BB>?+STGX1^'Y*
M_ <G_N(S9_SU7.6')/Y"2OS/@?B?-^?_,8F_G&K\SX#VRX=C_-XL(%_NR#H6
M$\]=+(35\Y;.&/]G/+47P5+=#4JRP,:^0/".MYPM;*RA.ST]?W%$GTMI?E]K
M.=%UE^YLA$1(O)22Y/S0F;F%E[%N\>OHTG1GEOAK(6:P,Q-AO5T&+C!CS 9"
M_R6LQ3JU9U=+^TI8K_YZ>W'Z^M<709:[/_:4@G>PEE?N:\SL#DN)W]H32O'N
MCH4 !F@'S#RCY%HC!SW2[6_6*S?^B6ZD!KDS%QQ;"_1%^ P7(;!:B3>AFC3
MW2,TO>G<%V.\,=>4YN--Q7>/=7WW4)1<%^ =;7U=8H+!=XYSSS!V,+9.)M[-
M=^_9-6S9F;> J8*2%QDIY%GAF+_1J_ 2O-4 <L/C@@?:(5.C_,3";TDO6UV0
MI\,E\*KV\^1$)!1+STLHOG0V0LH5#&^=HR!J8TF6S:ESQ_;"MBAD]@J)=#B4
M 3&7@WSMV03DF862RQK*4JS7&]#.C*+&[:>9#2=Z9)1"&L7F]$^C8#J;KXMI
M0EEEM%9RF^)\HYQS_7,T=+8BU $5RMF<+LJ?>3.AM]?"JF,K9^5^B]5H;E?@
MK.O\?[GO"J+"3#2_$5NOMEO242=263^17_Z;>$/W-?@)16['PA=(K-D-%/G#
M'$#"E8 #V-<))(Y^LO1G;C#>XA0.C$)2<BJC4J76=VJBV"\51:T_R-NE?K50
MJ=0+]6)U)!0"W'-'(2GF4A22%(5D9R@DOZ@[TFV_.VOT+B]:W7ZY5*L42O(^
M'!;V+)R5KOU^*G0FP_I'9C9868YT,X%"/K87EKNPIFQ@32;*\>H+,"E\J52C
MWC\"G@3VODQ9XH)]REL";5WUK.5OC<%. Q4<AK&7@2Q_ "5B[/DPZ2%]'2ZQ
M\ /81,8@P_\RL9Z,_"AW$?#7!V)L3T8'17XZ(*0+#7TTL5?>4KZT2Y"7<BY;
M>B$H+T_7=OL!&,/?B<12S%;N1)Y_/KO\G0LLE;.UE[K"!Z+-W'ME#FR4 SO"
M/_[?+X5?MCJY/;37:#;.&L?MQIG5[9PV+JSV63.N4_\XV[\#;O#\5W#O=3_D
M$E*">H(5O%W]^IU$LN\N1I%IOPG>R**<5W^YMC=>VJ^MC\N45E[R"O;!?,[L
MJ?@UI9R4<A[>2LQ=3(!TFF/;]>'AC'7NB\!%(QW-X91^7O(*]D$_FR 2M_G_
MS;$K1E9+5ZMUN%HM);J7O()4UWY6QY'JVG?IVN^7[DC,KCA#)263E[R"_:G9
M*=&D1/-P#;LK9J[G6W^"AI/JV"D%[5?'#C,0DW7L ^>([&#88WL!EXRPW&3(
MER"@"KE#QF'UL$,WF$_L%2>L1>;0=:?=)0R-^7TJM^[NL;== K[ZP)Z@ Z=2
M!;VK7QZ-['[)*97[@U$UUQ>YP;!8K%5$L?1B<G3R:8Y.FJ.SRQR=W6?AW)=Y
M$PU#RCYD%(M\?![.78E!^<)VF4'ML^/67U:O8S4[9S#%]G&CUSJVDEN[#9(2
M4^)WD-)%7EJZ2O(J[LXQS][9)OP9YQX\9ME5:CC^(I>=H)CO_MB?C"%?M,X[
M%[W."=[7\Q;\O[,>][5N7;2.SR_?GK:;U,GZ %S[0J;/C0A\="XH.S *X6U6
MEV)>WXGK3Q.K2Y^2-G??ZSYZ6"='A3O-P!=$;:8P>-LXQ1;8W?>M%C8OS>7+
ME<H!J.PQI7H_(*F5?D12"Y6-SDGGO'71Z+7AUWZE7JGE#TUR.RWM_ $)LORC
M$V2S\^'\HO6^==9M_]D"%?YY$>3.*H%_0-*L_/"D^;YQ]J[5;9^U/EZV>Y_[
MSXPT=U(Y_@/29?6'I\M&]_W):><3B/!2I5"M/C.Z?!S4P ](D+4?A2#M?.?B
M7>.L_3=ID(VSX_,+D-CM<S!EFKWVG^U>N]7M%_+% Q#D]M 4/R"!Y7,OC,(B
M5!7B@QCP(/KD],%U#T!5R= EEL0N22*O"';)2R<T5O/B\O3E!T0?7SQX6,"
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
M",-6!!@$^$;/PRWHW#T( =R?XS!F!6G==ZYU'^DB:(?O3-N\$7G]:%>UUV8
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
MC#IQ>?+3L?6O[+1\_S#S5P:6_W&9"=V$!_N/+](WS9SG1^ 1D0]W,=.YLM"
M^:' L.: CP6_R(I;??N#%WE-F#T Y@_YK#.PKZ^-N]>RS58UDYAKC&:HS&S&
MJ8S(FZHH:I3*<C3+Z"(A:-0<?/Z_-/!_P]K^]S_@RU-:KF-J :3T\N%MGQ@+
MW_I :)(@_N==BG[\N!L4\RQ.X[!&)9PY #![S>SK__T_SU_W6$8]2)-G\U@>
M%I+*!,O"Q&>!J=FX-@<?_;?F)%H:/BI4S#=6?)14?S]))#CS'$E]X_\G]_U;
M./^CQ7.U'?YLB1[$& X3D/\^_*O'7V4BZ?%W#VT?_PY@3WMK:\)G__#4;!\B
M?_U^F_!39 SWM.( 0\L BK#_-V@73H'TM9_PFUG: RA?8 X4;*X#^?:$;^V_
MSZ#P$F)_7/]3"_O^(B1;0>;["LY^^(3G-/[KOP6I)16K4BO7;S>DWL-%;ZL
MA,KL.84+[1884"U* [G8'X"O3;DUZ+=+[8[<DP95\%>5$SF!?&#QA>9$O792
MS]XV]_UU<^U2[OL+_S1#E9A3 DL1,Y5B=& Z47-=%>F9IIH<-9NQ#,$1K/8P
M/>WQ#"N'DD U+2DBM,E\/-&]ZEAT)373SWX<V6!M\.<VWI0YJX9KK1K>\UJ)
M2AV/E+6I9$K$NF5KO2#J)4+;V A=,)+]>>10]A4Q73M[F>*;43M=M_RH*H&1
MPL\C9_.(5DO:G")2G8A7Y950K+&)2A]_^KQ,.'E.K=8)-ZB'AC'3@=V4J(Q*
M'+UGT>7D6D?NRE;D2INX%P8#N:NRQR-=93+,>[-\7<%;F]EF47<D4TQ4[GCD
M-/%UI^B1FFUV&QLKWUTDS7E7Y8]']NE..2R3VHHHRV9O)'(S:D9T5>%X9,B7
M]W)-%0MV?;<E@KV>WZGYA2H>CZRTA55CY0PE.^Z7"\6BW2L6BF WB>.A^VB
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
M%#R^Q<,131YDS>OB+3CA&T&=LR.>G1'/GN^#9\X=/WE4I!Y_QJ&)\O=!-TC
MHOSR6'[0B[(/?ARJS8"Z")3P=SZC3^J'AX'@CZ^U2;_K4']XS4-](UFT\)^P
M\,(WYJS]CQ8>(?Z^%AXA'B'^:RT\0OR?+?QK(ALR=?6/=,O+S5UXP]Q_X: _
M-\W?Y?U531Q,$_[R?_]B_WK?11"_">2'EOD4?NV8/NN"F9A:$![<2;)GF,;A
MVZ*IF_!NX/ 336)/KA=$E2NDBG#Z,N[XZ\6F=#A\;@CW,.;E1U"C3;['31;0
M)M__)HOH>+IF4-^P)G=%./]'U3M0?[#TXU#SC >US9\?_JM\ZW][T-Z@*SX(
M__EV5KPF<OLCB/$Q;48_&NB?&P/V*__ M41/76G%[;/MQ6*V61NMUF6"*%2;
M<KDQ:6_QYD)EX"W?9_3G1,B^)V1_9F=+=6SG96W4*LKM2")VM;'=G# 20#;S
M.8TM$;+O"=F?V1(R60B=A=<>;)116"?$NM=BT@J4V=S[=H3\,*6I'2W-(,MR
M"\REZ876UORI$>0_/#-Z5!ISD;:#X7*>Y?SS[W=(X;P-8EX%_SYY4FBG;F52
M:*<^>%(W8R,_A;N35/; DA^8X"UR>AP$IJ>GN2C0O- Y)#MKQBH.(YAV<..:
MV>5SC.Y=X;JPD9RI((7G&LBA+<4#/ L/Z!Q <!XF*'G&X#M4RYKE92TL D!:
M;P'>'GSMF('E&RTS:L\'VNZ$)I=R!9+U J$MU^MN7F\M:MM1**D<M+YI$:.)
M<XH<(L)U$.'?']"/\L*&],>@_\4.ELN]D8A!*\G+==NM$W9O290G": !,-59
M F-Y_EP'2\2#Z^#!?5G@GW,@T(XI"]Q,ZQ'N>D066F+DY3V81@++1Y'GBK-=
MFUG_LYX'U^/1FO>SDC:N;P#5-K<TC<7)RY+K(^V]F!R??)A=2)730VOS(FTA
M%8N ?=LL C3LQF#Z\Q2LI!16( ##PB,@LQ]?<VH-X\&2<:;"#*Q#HS<1*M*L
M0<)$+GAU@@G,<>GSDX<6@OG]GU474M\NA/B?@3Z?X[VZQ=8VLL9'1- 9]@*R
MDP"@ _5,9%]W/XA0?@4H?Z@==P=>HY^T"0M&I)AAE .T,W-AHJUOW#SXRC=Y
M7U8%J3Z@N = W <8?HT2DE]MIS-NV*L0:77>MX5-N>1XB2I )81BCLO9W+K=
M_)6)@926LQSYF1H[HN$;([*UES?KB=$=I,.^,834@%XEC&10^,<=<>,C#HT+
M>9P^_M"@59M56R..4*R!-IN:3HGP70DP S;\ 9;K67?KM3N:BB8>F+J_\+),
M3A@H\I.O*0=@\$J-\2XY?NUI%7]LU:#]N^K]N^'[LE>(ZMYWV=.>_^ABD3SC
M9VE]3DHGC<$ZT'8K6%%K4ATVR%*%ZL-234!_$3">/6ZOC/R+M\*!^_',@&<4
M3@1NWK@JC:YGK]3#\G@]>T+^/FJ^X"<GADO9\8/L7C:* FL69S7@!G[+]^!K
M![[C@"&/\OB$^+4["YOI&O)";B<#FXC+E:[D2[!6';S?80B,%#^VAC^"_0W
M_L*!.I>'O4>M>ZO19L4K,<D+NZ#=HX->!GN@=I"""&!_KD@V@OV7A/V%@W$N
M#_M56MWL-WBMH,2=CK'J$9N0,;H0]EE2#8D1U+%7Y'J=(N 9#3,,_SZ;5*,]
M6RI8^AU,#7^V6D\^DO VS(J767QOUL+=JFZ_2=YMGZYO'*%O$]RTNAK%?:<Q
M,Q-8*QC>@F'"B7LP!.DO!>G/4\M^$]+*H-?NK_JV;/>M4LI7O6HTER4(Z<S[
M0[WR]@I!^K[\FI^G9[T2QR]Z,P5M34ZBLL K5HG ARM5%\9Z!FBH8)$821RW
MT3I_ZW13_K C9:N@>9IA:5ZN[SO:0[E"L.+?D"GU&[RG >\-/X9+>_]GV>>I
M9R=H;>H;-VQ.^9BH5SOE55-:J 5>@J\'O60TC]$G[BD0QA'&KU5?.X'Q9F-@
M;3FA5[7-J+QE)RMYT-.S_B*92XS Q+,%-Q#&$<:O2Y<[@7%)G52$Z="=R_U\
MOEDIA.;($;OP]:!ZQE,8^6O_%^J->)6]$06:G!$S@E>YF2"HC&G0JJCQ#-#(
MYSQ%4";%<2;XQ)OHC<BAWH@/^X!Z(_YY;T07K.-C1PGR&_M.Q\JG=DNL2*VR
MW*^VY*Y2'4S4!UY?<;?$PPOGJJW<X95_;I7(L8QF\KJI,AQ'JPRC<:K& (U0
M( U19#66, CR899/#>$F"Z[5WJ[D C'*[YK$%E\'9*$+S]VCOH8X33:K;0MO
M*^9B6!NNPQ;=G"=PZ%'S.G8_T$MY8C$BS!%-;Y/2>LCM))52R:..=%PQV==K
MNYE(X'I3+QD%3BIHL /C\0OH<:<F1L6F0N!T37,+@EHP^K %X_$+R/L&Y27!
M!)>UXJ([K3.ZK&3=&LFC9I'UKC.4W4Y@R:-5+YK@:F,^T4\V82QNEXJ.3R8-
MHCPT)I.XJ%@!,.#HX^9]3HD9]_KK55W&Z_RD;6[&G6X1/O-X_GAYL8G'+7-B
M%UA76?1V1<_,PX>21Y\?F!-?UN?SGC+JBM-%77)+#3(;>K14O8)OR7QGBLL;
M3Y>G+:$6S=5LZ-&[2J+0DJ;5'6.GM4I0:K ]=S?*WO6XKR9%]'3!XQC%7 _Z
M?GE1FZYD^%3J:%I;ONC(K+SC""Y.JS6FH/<[X^ZA6.J/([T20^632FDO;YKM
MC:)'G%UK28<2?3^.'%(J7AT2O1J1SE2#-HAJ.];A,X]7=;?LCM;#NIJW1],:
ML:NNMYI'P(<>KRK;(L=4V2^RMB:L D.6&D#]RX8>K6H_W%O%EDFMY+1&49V>
M0?&V![MP'J]JGTDW\T*9+]@:T9WV_71GTY7L78]6U2B4G'44[0I*W4CJ,Z%9
M+,V(K*[LT;0FU66EZ/84GMAHG=Y6Z5-!/^ZJ[/&J"@,G7ZJK-=KF@)8KNM.A
MIRMPY-&D)MXH55*"*1%MV<K+;:5BFQQL&'HT)WS").V@W&TH;7$IE0=BY&ZI
M!1AY-*7RL%#VV!'?5R@@)IJM.4&/FQ(8>;Q3);YO[]8UIZC$_4VU/PK*HYF3
M#3V:4]7"TUAONY2<SCVQ$'>'W9B"<SK>J<)J7W&;8F<O6\.IJHBIYN$<?-7C
MG:I8X^)RNJ[A=M]=%,H$/S-+F^P%CJ85\EUC4:OG&P2.M_>&S:^*,@>'GMBI
M[2+:CB?;D;VI+@?.MD8-%8!5[GBG3*:FEP*R-U,T?ULWNOY8(]3%J2:G^157
MD)UMAR.H.MV/PP4Q=LO)J2:G@_%.R<^6DU1.[24]&@NK/K6&^?9'4QI4!*5J
M^VW93GL;>T76F;GN2:?:H3(6R5857@D5:L-7=S)=GMO&XI ^]^-(8EH."H82
MJP3%4TIIHVW"6:M[R";Z2?;6M[.=5TEK2IU;MA.G1)G&]"&[XL>1FWS!FD3=
MMD!P=G<^WAJS)BW#9Q[-B"R0"]%MNT.%*B1^7!<H>I?-Z!A[PF [6-2](6N7
M]5)]@KOIN+*#4SH&%-TEM%&1= D;GS8H>ZU847/5/=4,UA4G_(:,"JK<]T:J
M)VA]2DP7IYK!VINF4 P,<6EK['HZ;1M&H2,]1"W_.-(2EN36J9&J'4L3.VTX
M0D=@3K:-90>1M)RTB*K2KN?[:;);DOFLP>S1.JUU6BY.;+5C]YVP[_?:>+\T
M@9]^O$Z+*5=7BNM\G4CS4:_ U5L:/T[@T&..5KPJMRF-#7GDCD=UABR'=;=[
MLFVM55W8+C-V]G;?#C=*M;[;M5>/48,_M3^.M=T.;]8]>>-/16=@)+5HWWV(
MM/J)HXM.T]K9L2&GA-YAI>J:Q0/I(3KEI_.$WOOSPD0C9$NT8]&GF]%PE T]
M6BPS+SK#65A;RJFG:<YL'$RH5C;T>+7J?M/8\%.@;[FB;''#$0$TA:QS[_%R
MS?/YWKP=BZ+L6EU7P8-)[$R3;.S1S%IKISX2/+6NN%:K+X4=+J_&V2*<T']H
MSVRD96I :,.V2WB"J^?)Q<F6P,-\TFRPU<6$*+.A@K.>NH.R@CS1+3MIDX--
MQRZ0=H':Y)>FNG&41?)PT_J3M-C&CMWL![92+FZ'.C\01!]?/-QA_718-#AE
MV(Y,1J'(;C+LK4M,JY4]]6@;FB17VP,MT%;J)D_E78TVPU;VKL=+N]K3'=NV
M'*"LK(+-N(L7:HW28>PQ:.1A<55=]0<*4%.-7L6O-8-V]@K'AT"YUF[O/*XQ
MM/NQW-:X;=WS*HOG+92?AL:[I&B.DE2638M="/R: <KNHZ?H)X6MTQSL?:^Y
M).IQ0(>R:';D*'OJT0LH9##@M$0S%5,?1VPU+>^U>>9C/2'AAHPPM%8X*8]F
MMK7>R'B_'&5W#L<+UET;$Z<P6K!$W1?9'A'A]?$R>X43XC#2 K:EE1>$9IG]
MDN/4ZC,NF]GQ@B5U;T-(/6%,E%U\6^4&!+,":@-)'R]8;;;T&#/U?;G@F3MR
M'3$^OLF&'KUM>SFHE!=:4I8UQV3E=,E&*NQD39\X9<;)R"XFTQ:A58L[G*1;
MJ5F5X-"C;=CYUE*RAVE53MGJSB5&JS&[RYYZ+!)L;14+NV53J8]Y1^4VN_9H
MV85#C[>A6N_,K6C3(HBX.QJZ-#_O\$GV!L?;L!]JCE$@MQI1KPVMI*H-6Q%_
M&'N\M!69FE9I7E7<U3!>['KMJ=P%KWNB+WRS&%NS?$-IVI;0-;21'RXXZ+4\
MH6<SC7$A'>_-IF)IBZ'K=<O].IL]]>@%AL+<($73F,L<)S4,FQ.;U3T8^G.[
M>7@NXB4O('%O+6N]YK9:I,N.R73AT*,ED-)Z[.PI7"/Z,4_4=;*:ND#/(D]H
MKP7)6OI\V5G;&[$6.+C65&,G>^KQWN+3)JZ6=Z%L53=38;@PM%4_&WHT+754
M4&AFR-05JM$94-MZ5&2:V;2.]W9B[<>3J)JX=CJW:S/*G,NB<AA[]+;%<7,U
M+(\V)6(SD<I]8$9.]2V8&'>\7!&]%>=4I14IJ9BG*AU/)&TU&WJ\7*6(F9I[
M550X:3:6Q&TZK@&SA.2.EXOEVKBLE-R67-\TZI)6U$8]>0&''BU7N]5H^45;
M48D-9X]Y31@:_N&IQR:T2>RBF<D:1#W<[I1%JR".G6SH\7+%&CNNL]J"4K0E
MN1SN]_:2'V9O<$R%QBALIN1:_?_9>],F-Y$N;?C[&_'^!X7OF8E[(H2'?>F>
MZ0B$T+XCM'TA$"02 H'$(B3]^@=0E5VVY')5N50%4G9$N^URM@1YKI/GG.LL
MR5A5D:G*6,^G<"%>>\$WGO#E@3X1[+J,<WJM+1!R"Y_UDZ5GGZKU)O6V7$)H
M%&FX'N[,VBPZ3#_U;+N6W%0=5\N;H4A3-&)/5<F<LNG2L^VRM.YBA./*TCKT
M0ALP*YW23@]PMEU'/-(;:WLX$>DYOQM%%;YN#?EDZ?EV&=W)7J%W7! ',EU+
M,L7AL4NG3W".+GM0Z]E!:R>)N,EU*,SB:7MV6GOV#&Y_L9?WIKBTPA4V#;P6
M>J@D;W;!\1\VF\1:F7?G5@B.2$_9U/W*G$^6GFVM7\-FI+(:K5!\PFMDR/7X
M391^ZMG#ZEU:;")8RY6EJED!%=.0E4'ZJ6=;.Y^0[MYI5N)#>;"Q\+#L:(21
M+CTWSF-C.5MXH"N"7672&P@$7P^C9.GYUD:6%:J*O3-%Q)J8BZ6"#L?=?KKV
MW-KT]&,95.T=6NTMA_)&&(%1</K<LS=;\,ABM1DQ8QFG^]Z\TUB&>N>T]NS5
MM*/>H^K3$6*-%:WM:=1*X1,_[4)<,:H276#*UL*2 FMM.3[H3D9\LO3L:8=;
MK-><J]V5!?IHI;^*0]_6)OW4LX?=#D>X2O6;=7F[ZBUMJKQ1E"A*EIX]JV>+
ME::^=SW9=$&S.:^WV>3^&^Q";#'MK8DJ+BV V)7Z(W9XH.4MVT^67J!J_(!<
MV&991:NU40/?;:RN<SBM/7= )780U'QKC>*K*A_CIF4$TW0/+FB#V9P-&FYG
MC9H5N5.=3I=N5TD?]UP,BRBD:UQD+BVDV5 QVC2=(.3CL/Y<#)6^6 ^7RQDK
MXQ.[5^^[Q_H*+)*E9T\;5'LX,S70D17N.L-YNS/RJHOT4\\QTYJUAZ30[(BX
MNMIU'(1MK\ATZ;D8#KV%3.H,94G+R@H=C"U2ZD7)TG-M*+=F%#NB=M:A/@+L
MOBH[-3Q=>BZ&P;+-U8T!Z\M 7##,^#CM6V;Z7N=B(!M6H[55HQ6*#(<CAI8J
MQ% [?>[9FQVE^E8'PK:'FMM9H!Y*@&\(I[7G5.1Q6HU"O$V*AW6DRJN!'/M*
M\3-<B%K:N(;4]9K2B:/7$6K0HT'8=J-DZ3G!XG>9JMG<UL707*Z.JVY+:2_2
MI>=BF+IKVW/'G'70%MVY;N]W,M)/EIX]JZFLV47E@*S$;8-=(;A\&)O[=.F9
M&+RR$S&F;0KHV'36M='&Z/3T]+7.MU:HD%V\L=';\K9GM#JZ0*A"ET_7GL=8
M^V:-;W&#K2RMS.9RA$RM8W!:>_8,,V1#L3O5VJ-KM>Y:\[;4F=KQV@M1"S]M
MU0[8'@^L+G_$^"J^6G5'4;+T;!/:-8%1-FUR;B%=D@_7&W_L*>G2LP=@ BEL
MRO5M)&XYV97*41RSQ $.?BEJ498=OSH]8N/8-JA>>XHCM$CTT[7GI'R]MD!H
M-ARB0F<N#:FPOY/XT]IS[T<QPC4-ABQ:15<5<@<6@=1,-^%\PZ;3ZE$49'XF
MXTN-;7A]@^S4XU>[$+6$>V78WP]#2U[O1PQ^U+:$O$F7GCVMN;4\RNW@@E6E
MUZ4JYP_JDPZ?+#U[V( Y]*N"W"5DE>BOD?HH1H*[2):>B:%4Z1M+Q*,%M+H:
M;"6*VU)JT$^6GKW6P#7E*2?V.C(M[92E&=8BT$B7GHM!'EBH*Y;LB0ALEG>&
M1Q2I2>G#GHNA6?--@"ZZ\=J%%K2V?6TS\4YKSYZAW*D=^@U>IBTD:"UM061+
MXT7\9A>B%EO W46E;46HA'/=N<*5FY(?)4O/3?1HB+7XA:A8!W'7UOL;U7>F
MZ:>>;6T_#"C!C 4E5P=2U+/-P=:*0Q'\0BS$-6E+,S>3IH7C"VV-\<XDB4CQ
M"[$0'>Y(MED=(J@Y:DI:9(WL^31]UO.MG:OXQCMBX4)6P\%@6%]P5G.1/L$E
MVKNS44IDO+6XVSW@?:LC$OOT$<ZWMH>U E2211L%@EK=$EZX,PZQ&"[$8UW.
M<"+3V?2L[7"W/6S  5\Z_63IV280P<::'-=V302>-'=)BS#$9!,N1$X.4@E&
MFJE.4& W]JU=?88B7KST0H1C3]SN@MV71M::ZIB:OV5Z*$B7GFW!DD;G$WD(
M<-24&+HY!V R7:5+S[.49+-'DLYHAFY%I#/HF]K,:/')TG.N]%"5@X.\M:VU
MT6 &5"O:@E:4+#U[+74ZFZ[12G4C-QM;<MN+@OKL]*SGLG7: S:8[?&U;-9H
M2N;BZ#VAZ9.U9T][**OU$:L$-"K,P,XQL>EQ9L5"N!#A&#.,GZ+E 8:&<10;
M>]K; 4Y$R=*S[1I71]26F)I[$=\P2/W M[0P0<&%"&<WJ)=UN>3,+;7J2UNR
M5>Y2R;%\(<(1&'?I&OJP9-%3)E"(,=G?L>FGGFU795Q7K>.!BXUC31&F-7UJ
M5(/TM<ZWZT"N@G H+396*-1Z@UE37!E!^E[GJG#P:.LPK+%[635FJH;[^WD)
MB==>B%HJCEL^LK-M;,"K;HG15C5$3)[V0M3B1O2@VNYNZG+7<,)JX(?;%D@_
M]5Q>=:NZ&*)KSVIBM5ULIWVM<4@_]6R[U'&;.MCE<&^%S3WC:C-D@+723SW?
M+E)?@C8E.6(5MZB9,5H?9ZM^LO1\"]J]"!&G%#:4@5LBCBL;Z\W9]&//T57:
MB&#3"A9]U*1IK3*J5*L.'Z^]$%T$9I^>-Y@R*=)-)B!XW)MVDNVZ$#(T<,-'
MO7I]CU:#MD*WB-Z@9:2?>B[<R9JK$T:UWQ:[K<%Q[%.M12\!PB7GGK,[XK"W
M/:#H@2'5=JFRF4A8^@CG;Z:#*MKAB-$>/8P$8#M -"WK] QGNTL 299;%7,K
MC@^NV.ZS^,A/$MP7G'M1(FV!:W:Q6,U-ML8@W=(NCE^)"\Z],Z3D+CO?Z/*A
M-1!QA9OT2B:?+#U[6+9T;+>YX;YMX<TY625&UB%HI@]P!AJ#Y!HX-MD)J$0M
M:M6C%52%4?H 9Z]%'5L,JX[V _0@]OP6.E.833]*EIYO+<[$SGR%7#;1K74\
M:K5!8R?)I[7GC)K6[49'T55%4UB4=T>34(]*^@CG6WM881&VKG)32R"I_;#*
M>G,N67O!80>^70([>=I$D<7<)^)?VZ-1NO0\>0$H0Z:.6-EJTA-CMD(0I^+V
MDZ7G-A<M15O#F<Y10:_AY$8Y+/Q)NO0<B^@*X[O5X]"RFDO3#>DELII73FO/
ML4C->+(WM:O65N*,W;3AKL8"GZX]/Q.&PZF_02-;W,JCF=7M*>4NFK[9^88%
MT^VRWK2U$KJN]Z?&HMD_;/58$!?<<)MVRNJP:;3$[9QRW(JC5I(+;PC\ NW2
M!(NMQDF1I<9^^VR\.K"ZFW[JN?(NI^MVPS7FXK:T,FSS,&T?ZHMDZ9D8&N-5
MG8LZC?@$'3$]JG98$ LO77I. WN-TGQB5"T4P:1^VR.V+?68/L"Y&$IJ!9MK
M%!E9>-]>M&I>]["MI^]U+@9:VPM,QY]@J(2R]GZ\Z1][4C]=>_9F+1LM;RIS
M@[&V%+U9"/,0\ZS3VG.OSC1Q>]BE:11?S!8'?CX6*N/X>2\Y]_W);KWKF[:,
M2\Z^5JK[XV,Y77KNW(]*O*^8,H.NJUB)"@6R>FSPR=*SAYTIDC\==8V#U2T/
MB"&.!Q*/I4O/V?BIO\?8@%'D)E4R?0]=KY:]1;+T3 QS,E)*C#*447.,F911
M%DFKU4^6GHN!'-6&0V\=AX3=MN#(<[T^6M32]SH7 R-R E57P4RF:77MAGUQ
MVB5/:\^>02#;/09I=R)Q7)U,]KHYLJAFO/:[<W_JZWHL0ST5M6O);>8;'_SU
M^)NG!7;TM[++4T%H>M7[PP].Y:#I3WXH&GU2!/^PYKP -/ >G^*QLO%4G_>R
MP00X]95Y=E#%DTK+)Y_OQI]IV&[T6([\^&<DJ??_ZU1A&\6;\MOBUH?JXO2+
M'Y>J<]^UPP"\<Z7KQ2KKT\+X+U\ZENQ[)?(?MK-B7U$&;OPG;#S]E2'@QG\*
MXC$,;OPG;#SU%>[[)P$>GC00\/>S[Q#PG[3QY%<6(OXS-A[]RK%PXS_#BX>[
M#N%^/QM/?:4@6P!=FCO:>/8K \]XB/@[VGCV*TG"C8>(OY^-I[\^.]8*[CL$
M_&UM//V;06YPXY_?^)=,A4W3Z'^4\[[>NR=% &^=[O6[L7S/O?=;D]#WLQ._
MRPI?9=A<3O;F=XG;>]Z;WZ2:[GEK?N=EW//>0-A V+QA;WZ7Y[OGO?E=;N*.
M?!D($0B1/\LGW3-*KF. \K@3O\O!O'HGZ!> Y+G!LKRFA>O03N9Q?YL;"R%P
M70@\GY3X< B(JN?$W^]#^7\0+W*%FR>@G;@UD%SC?I)/0@GDF"''##EFR#%G
M9V\@60C)0@@;"!O(,7_VWD "\3H<\Q_S0O'7)]4LJGU56@"*'_+'D!?(,7_<
M#9; @\SA?3+'_(\WLD,8Y)) _E,4=%P'@:*'M#"DA3_;2\HS+1R_=_+#]$;M
M=]T5_"N7K?-2<-=KUX$GYL=#(=:0;'G/0P^H?N@=8(Q]AQ1+3S5UQ+SN00!E
M?S5^Y4_%/P"!:CJP[.I>F9/8#=AX8 D<W]P!"(+[9% $U5%U4X7>X'U2)T+\
M(\^U[?@9( +RR:#\<0C@!C_GV" Q HF1#R-&'B;M/PPRP#;[@N_:IE[X%YK^
MDR55D9:J!V"9^J<1)WF"2N!J%HRL/XI5R1$R!'5CGEE<B(VKLBXY@@=LAOH$
M5B9'^*@[FKL&__4OC$;__K?M^OY_0Z1\('63(Z1(KJUZ)Z#$H/D*8?)Q#$^.
M4%)/U@,_@ ;G(_F?' %$W(;Q/D&"*%<$$?WS1ISLP--?K]P3F2.$=\+U_/HU
MQ._;@?.9 DZ[T'(DW__(EVF#HLV:ZMZ.?$^=@#D2\'5U]]UYLD^UNU"PMRG8
MW'&8T.#>+O\(97N[C"&4[<W2?%"TM\O0_<?MD7.WQ,5=\\6_%=Q@W/M6W##$
M-53Z3U#^[[I3&"[=T%<=W2^X1D'^*GTME%W;5CV_6 ![#6R"@I^4:!5T-5#_
M^_5:\2]- \ P/E@QSLZZDFJKC@8*:E!HJ$ZH>H<"5BS@*,:\"/2_>8O/YJ"O
M^0[O/H[O)]!Z"2"??'X!_XI3\7_0T[_Q5Q3^U]S'S^14/%5+QM<40L<,!L#X
MOR]R_!M%"F+TJIZNI#CUE694JK<'QJ:,(KM@M-8F-:O#1U]BO7:2KTW_1]Y7
MNH:"X0J!*3$(:"7TD86J;I(/"\ ZUJ-3BB;IYW"=^(\^OS?];ZM.W9YI/5H;
M)&R9,AVL&ZT=65F*6S(:DAW4QN1E_*4ZT,RU:OO_]Z7>J7PI&*ZW5H/_^V+N
M@[^<<*V[P<."+P5'7<>;^/ -?SWYAE.%9-WW0Z#'!U(LN7@=^J5@ZO_W9:@I
M<^_8E_D&AJ)-QEH.6D"KBU%?813\RS\44V0)M(B1W/_^SX][^+*S_LVPO\:4
MP@^V<V]\]_<>)W<U;9&ELK(_>O144TLL*H'11G6%Q=YG^Y^N*@CQ"DU)/WH9
MVS/@^:<GJ3N:'2:;WG.]9 >>3C09NAW725[OH4/C,57_3;&(;XK%;RS![7F'
M&FJB:&=3WHKK:F41*Q;YY1\&Q8HX2WRT5GUBOO_>M2IY5PR_JJ6]9P&_^SC%
M3$KX<VN(/U?"5VW4_5F\B3S_G2U#^'WX8C(CH.X\U*P_&$63.2KK(2L/T.W:
ME2K](]<FJ_SG&\5X<^.OOF =RPR-Z'-%0^1Q;585!++4ZCA1;!TQ],L_;)'E
MF#/C^-]0M:YE':\[!B%W3N?C&(;'PO]')9L=6CO>F?3EKH%HTU;%9YK3#'J>
M.UD@9HO(&EL'AAX?NV%7797X1+?BF YGR2*&?GA =[>>R;5G3.3!='V_3RH=
M#?K#E(M3\\2#AH7-_H+764H6<5KDIB/#FYIJELV8Q9>61\+P/!G9!"3CL/BV
M2R9!'A9'>1Q69#'R8^W8?:O:=2=YY,Z.]50O_MF#;HT9Q6PMY3XA@B.SP-LN
MP;BU_N?KUL\JY0\G=)NE-UT1D8DN3LK38[1*K1<=>X:Q]:)9#%JOCXJZKCL<
M)7<:=1G%#QIVT%?4;$I-65GE!(5O]L*RV,R@?TBT#<ZCF5U?#DE^U>&]WB$
MJ=%BO_R#D44&NH<?J&#7G3V3 0W#A$TD[>>!A%;;\G1GF33#.AE4BW9/$9&P
MP6-H5YW6.LZ2KBEL8GCPA)+@N"+!H<_HQ85L]B<GK3L@*)BI>WT)P9^=B_X
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
M*C[_SOR4GH\DE]NFXWKI18RG;RF#[YS; .A@G?;V7QI\/*MZ@4':(F'1VT:
M-*BU1O=Y!>-2.IDN4MSYV..+\W:@#N6OJ/8SE.B=.>>W(S\:44Q84R1"!,VU
M;B_#P*[-%PGR$Y;YM\C/7FUK.AS% %Y2V K2D^D;B1S_YH=:UT+@GA'._E+U
MP,.UKK 6-O^$\3WRPK=$!F;";D+Y0?G!6MB;I>ANAVB%PLH7;9J)TS%3\LHV
M"0KEE2]*$\H+UL)FEJ[\?:&@]$A6'$X/7??]4'4T<(''\95:T#V2^Z-H+A4:
M[4S%EMA>Q%N0,I@86B1?>+,G5)G/YB,_7V<^O"+V%4"ON 9A59S^R*(K5E>?
M;IAY5.XG0$][\7\']!S5Q4H)%8G,XRW28^FM-\#Q4ZGEJO+U%;<8P@K6NV,J
M83WCIYM:*'$H\5Q(/-LT*2QQS'\%:Z8C4S[>C>335+NGFGK=$=2-&:CV0V@:
M5.>.MQYQK$538BBW9RL.7;W=8W\RW6OH_N*;4_<T]4Z%)\[I )R:N8 $O)VI
M@=-=) .@N0LG_921:H>7_'K'[;#R*M3;<E/O4AW;F&@C/ Y@X\T[^?4XQ7[H
MX,)[UL1LL^;9-J_YD'"V>78HX9LH-LZT0;WF_9&?8#]=BV,/W)@2K36P#6UO
M]\LSG$_M)_TI]O.>=>_SLRSP<+VI&N7//US?.2?P"2>D&&W\GC64";G9+[GA
MT"!'[+2?G)#X2R*,[)4ZBWO@::8/TAF^R5X53K<79K)P^16)@/SQ_2_4Q51(
MOM*,2O7VP-B44607C-;:I&9U^.B:OD[\X[7K2(&K60\.CU-9K<R22=J6Y->/
MDVUEO@#8#PY/O5-YA3ZGGYVD[8#^]!+25(7]]"^[)VP^@E;_IJ'H-PWE #;>
M5H]]!946[6EY!V2:&RX4'%?P+__0+%'D".Y*2>S\YU)R1Z!G.CIXB\:\R@#^
M0F%2X_6\OGRW:'O7/=8J@]G$PNU))QJ/Y^:$3O6%_/(/0U]+5_*?D\B=KF2]
MQBW;\LMVZN@.>.F<)8*@L&XF5Y")TS%3\LHV\P_E!7G\[/#X[^&DDR"RJGQ;
MPF2I0A[1=I,9@0&?..D),9\K+SU3>I%ICAV*"S+F[\R8O\=9Y*Y* \5&S(U,
M[U=(=X0V*M5!/R78T-^=13FJG"\#Q/N>#TCH<3W>JUUZ!^!%<CRSY?.Y2HE]
M.@T/R^YA$79.TMQ0XE#BN9!XMKE36.R;_[)[*%Y8RYW1,SL?$OYH1O?OS$^=
MY37M=.D[T+O!$GC),@\L@>/'$6#=T=PU>" ,M;;$D21F!#+>QD8=;>U- ^KU
M=\UKOKG]ZU=?U7)]OPR>5*AUC;2\0(]?H ;T!> =_;$K?A _LQ2IF^>NHQ\U
M!C,9EP<JVG7[&!>81Y4>Q5$\H6#DEW_8(D/A<%KMK9;99U_YKD'(?ZA^K9N.
M/23P\5@<#SH!3XEK@3<6J7[14+]@*3T4<)Y+Z3_C 'VG5,"'GH+\>#(8"%N$
MMDP_PI8*M3ATNZF7D>0*?GL*9J]<OJ*:7F&7I$L*VE)U%J 0"_XWB8$[X/_?
M1///72_>.>2T^"]LLR_XKFWJA7^AZ3^9/;#OD>U_"\5[/_+-/],+Y0OE>T;8
MWXF \TCLOIZ>A\*\%6&>R/@[D6<>H]HW4>^9EF>FN<(/)^H?J^F>BZ(%U5]6
M;#=*H^:J:CK)#TL@_NPDO+95WS>-&"/)+O!&'% /U?V%^%ECN?H:I1%/!E';
M:=?Q(7G$> 4G4Y:>+J(<"2M__Z B'BI=E@CZC],KRJH3M499Z*&@[/&.(%4=
MBXI2O:*A7OUQ17VFU0KZ)J\FUC,MSWS2\!]WUM5#2A.XTGB,5OO-P-P(+-6J
MI#[$Z7;.Y\^Z'%7LEU0[F?=?4(-"&6BI93K-AR&P8B&1':S:O]FJ_?<?GL/[
M2M=XS]D?1YJ2:^U&[V#A-9P+.&6!,$3_[=-RGGS#:4+.J:_GPD@<'ZLOU.IX
M/D8!")LUM$PT!7&AX%0R$H?BBAB+%FG\91X/[(&XR8KX=S:BGZ \K^^#>[BA
M^>&V&$>SPV33>ZZ7&M0@\,QY&*AS&PS=R[?/7#"V:F,QX\R.05NXX%3LFJ#&
M:M=/5"V9IH/B18XXOPL[?U4A4,_NK0XHIQ*'G2<W[WQ"R_GB&QXJBB=M9HZ$
M6^/E?MYJ8U;[J/[A9(MK6-'F@D-*$M:@+7,,#K;+&HLFE3JL#_<XT P%[W&X
MG]Z?;.G8  2JZ0!=5#TGW@?_0;GL2=VO$#RI6DVK-*WW.XBI$V]/+EU-N41Z
MXXNMLF#*XY#3D/9!Q-PQGRI7,B$5QXLH1M^ CYH/[;J%OJL_M5DOSM]N]_.F
MW:B:%;0[!?/5)K"]3CT#*O;+^F>,LI:'!>78*-Y;KY'QN%/'I9,AB^-!++9D
M&'D^+P7V@=Q(GU7F3=D/65Q$X.N1A0]="RDI]3XO8MVQ_X>SAJYAP*(#X7E5
M2J"ML24N:GC5TIAVRK&DMY04<9PJD@P!3=C==%=E2ZF>O_]=V%MK.?*7:!.I
MH?/.>-NSP@R&8&(9L3J"7IW)78S%^O)FC[3 2<G8+_^03)%@SEMWH(;=1GO;
M)ZC8(FP?55I&>_*Z6J4.*TP:'/@,Z@5)CCF7D,9'>7VHX/@243 #1&DN#4V-
M#X,76?(Y=B)[36T=$!3,U,\N_-MV??^B_WD'^?#\I;UAEQJ\DN&&LCY0?G<E
MOVPGY^X@19"S5!L4UEVG;7ZNS.5^J,SEWB>+4]J)TG;+3)NBH$W!82F%>-5Y
M.\7<\US##)*ZW0NQA##OXR4-J+PXWNB"5,8[@-9X!:?33 S&8$6*?5F>,Q/&
M)E/PAS>4Y$U>MT;-O^]Q]0-3/RZ'O2@D35JD&T/!'];*M<KL2H?4BBJ;_4J[
M-Y1#(/>H]FY5[U7ZZ2%%PT,J5]>/7"/W^[XH?Y8Z#UUM2X[Y^E($SGCCC[%F
MGQ#>"?6_S.#2*R;<3^NED7RHX>S.H$+>FI[@SW[YARJB!/JR_"U$_^VSVK]3
M!@WM4VRGZB'HUN497Y#ENEI]>Q7[L^>VL[8FE2;MEM$F+6.=(Z8HRUZ4 #<E
MJFFZ2%&OI*FSVOA5<3T0?V]!"[W82&J'0N"ICF^GHBBHWRZ)A^U?-]O^!2]M
M@8T4.<DX0XE#B>="XMEFYV%E?_Y;9Z!X;[UQ([=G=CXDG &2.]-TTLL["_!N
MW0#;C505)</O27:=CMKD^T^&>XA4A8= =9C$J:>-XQU]^#UJ?1SVPGLQOIS%
MT[M:.R#H&I<GO53I;KL6*/.1N&[-%TM&M 1\WE=PYF%:',&^[)YHJ)JPU2#/
M^8S/T3ZGBG.E<+YKRP=D.^_M=';+<8M4^VBH?3?=D@ 3*Q^O?K_,V"SJ%449
M-V12;-JUV526B6X?G*P@F\X[8UZ8L8&*"#L7/CW'\SFVS*9%9.I5IX1,.WQE
MA('YKBREMBQ)'A'8<Y8L>_T-O!8?C7XZ%Z,0/S/RY"0LF ]'81JI,G_[!3=R
M@.<OS0UL@LA_\N<><SRW1.QGPM)"^4'YP2:(FZ7;LYPTR7Y@^?S L;K3C001
MV<RM[;8RHPRN=HS^8*1$VW1<+^WE/3EM9:!Y0/5!Q7/7 Z"#]29YE$O54+;5
M)4QS(5KBVI[48E$$>V'&*SB;3A0CBQC#7J6,[PX4(MMIIDQ8H$S)*P-)(RBO
M#&<2LF]SKID[>+N).4PZ9<D#TZFU;2#1@;,G[''43TT,?4T3<P<J .G\3Z3S
MWZX1]1;>Z.W7^T \]/=]3UE4=IUVE&H$^^4?KLAQ4"-RTCOQ&2KQSDSZVW%<
M)C"96!GSM=5L8$O&V[+HO)GB.&VE2([V\X&ISU]CG]56B@'8A)ZVC+>EX!J%
M(-F@T#O$'^MJUO_ZX>8<\N37V+G[.SZ& +($"6IB;4'_\^_ W:0?^=/[Q#^.
MO^7?6+P[\:==.?^=/_(]KRT9KSD>7G$'S_L:S?-;17I$6T;!N-82:<S>SZIE
MS:UTH[=?R3-\T)<GE_*DN2<OO9;GIXSU]_MYR.-4W"+UB26;ZY[<VB@3D>HO
M%)Q+[N>A4:Y(71C(?.V4=?X3(;#UX=-])BCQZQ8M?-I9^L-)]W":-@VVQA!S
M82L>[ ;2KRF>6V%_&.&(OMM9^O,16AYP;*/7K'7$\:%%!M/F?$7K?'*$TK\^
M0J$^W6@K4?8#^+?ISZOBG1^^8J3:(7C4'\%-N()@Z>H7@IWA;*FK+$H"2^@U
M[!F^"K R'R6:Q"83ZR\.-[VJ+Y+'% KLT(+BS7WJ+-NF,!\2SG:R#4HX?XT^
MV?=MKIF>>Z-3LZ"=S=B-^KXL5)LC3F5,,"/3\" =8O8)7LT]J\SG7Q@"S\2;
MZOJX@>S4&P\VD:C;VT@>#BU!FI7,X]H>1F(:K:6IJ=\>;-EKUDBI'F2N^D"/
MY;'> ,=/Y0#;,;*8^('M&+"<_[8Y4"B_NY(?;,?(F<'+1Z+N#IHS^&^#5OVA
M^XMO3IV[U+<3GKAV W#JSP42\':F!D[MR0.@N0LG_934'[[@_78,*IPWV3EE
M 1Z3ZJNCH^V%OD*@W^Z)9U]V22'4JWQ1TYDP9)F25[:)9BBOSZ:-\V:ZKDDB
M?X*EFI<F^WIEJN]$A%S.](T>KLKAR5+1U[14=Z!)F6:3H;@^FQO^_(/OG9GB
M3SB]S%Z')H@:BHC(CJS/&HL92=&+Y/3"7^)GYZC_0=P#3S-/W0]I<67!/;6%
MP$Z%V^A4R&&M[?7[%M+/KOM^"/2G \).5;?I7W9/6O"H'I=*<-L S!"6:@W%
M9@AZ8VXS 8MJE+[SEW]8%"U2%[JD8!,#+&G/0KCQ%AU[E=7^A8JE%O=Y#?MN
MAO>54;N#<PL11>RE0Y?Y6>6(\,D;D[&&,2^[A2_;]0U0N^ZMHB6G$L]VG@@6
M9\/:>RC>'"<XLGUFYT/"V4Z)0 GGK_8^;U'--9,H[Q'0S-G=K,MTL2U*A_L6
MN]W+]$I.*8,D*W(;$4T^-"G3210HX/R5Y'_^4?G.:9?W..\:$=D@6S->E]5N
M^R #WRNAJ\7IB7]WWF6O4K_GN3$4=;]@>.[ZEQ<K7,R<W$&")']Y$%BX#PN_
M;XCI@_*[*_EEFY"] V+N=NA5**Q\D:69.!TS):]L4Y]07ADD,J&\<D6799IW
M_LCQ])>_J^Y\'^XMJ3;H&B<N_/38CZLN4#2KNMB>3$)-0+N&QU;QKH5P[4@A
M\'1F/56DJ?/;8Z'.0 ;R QC(=T9Z:[/8V+7M*)3Q4L3O&GMCZR1D))Z2D;]#
M>HYJNBNJZ15V"4];T):JLP"%6/0Z\,Q=++T=@*7=5RWMGKM>O-?(:?%?V&9?
M\%W;U O_0M-_,NOTP"KD:]5)0D3< #L'$0$1<<W*VGN'1!Y)Q7>LO(7BOU_Q
MG\CF>T= 'AF!]ZW<S0X"_L[\S&5>T\)U:,=+]6ZP!%ZRS -+X/AQA%MW-'<-
M'N@WO%LWP'8C547)\'N27:>C-OEV^NU7W]9R?5]0_67%=J,:T!>@JII.\L,2
MB#\;#(!FJ[YO&C$JDEW@C0!X0W5_?DW6=\(BXI?MR-;-IHS0-;%4:\FC@;]0
M"$+!R(2P8$D&SG#^V-)KJ*+9*,;^0"T,>&'ES7VK*9H&1^@'8QZ2RY,6TE +
M/Z-L.SM*"#VESRGKS@X"/N,8?N<TRP>>I:Y@V3N^,IZ*W9TA,<O>8N0$?'*6
MGE(POSE+LU<27E)MU=% 00T*9:"EINZ__H71Z-\$5BPDPLIB,?C96YP>^=V*
MNG_43B+63MT-YS;(Q@']_M-O>%_I&N\YBF-/10UN,6T!&92=W6B^;2! _(-Q
M-T^^X33BYM36<6&FS5+?:JN:6!$M<*BU]2H];<B=V-DADYDV%%<D&*Q(L^25
M*@+RGS?Z\V1 3M7EI;;M$W3E]5U/2]>.)>(_5A1H=IAL>L_U4CL7!)XY#P,U
M%M'0O5RC<,'TV9B[<_M:1T>WM*H/C.C KCP^T:PXEF=0HLBB+YL6E0EG$:K5
MK5FA2Q>T-OKU?IT\;ES45*1>7]U.Z3[_(79(L!:M66NP1JVU)2*(SLTW0R35
MEE=>;PRUY4WYQT]5EVO$5)^B'9]C>7[-9$W;<\WB!B,1&0F&X=/ *I>C1*E>
M>=/Q'>3V_C2#FU-[\T'J]/P]';9F=0^RW$'%)F95A<E1;X#JV^\%OYI+QS!>
MU"LID2 ?$'>_J PGB_(L#9;2VSB8(L9P\#:./^B_@BKU<I4:@$ U':"+JN?$
M^^ _Z-)NO2J--J"_D4-<T\SRL%N:>W\X!.<:NJ0M+5!?^DX9'0L146<F&$):
MJ<.'X7%\Q!%%&L7RX_%E2IDN51= !^^M]03;&GM<HLJ&DL=3?5CJMPUFU<^
M1OW2[:L'"E.?+(,6NBUQ%?=8GF+C3>KV)64$6!Q,T>@+4YA0MUY2%@ -U8O+
M HXSTQ4F[ )8!XP)^M&A+*[-/YQ9= WSM/9 U95(>F55-YS8))>U"1:>="BY
MSJ9(Q 8*(Z[%B]^Z$EW(ZD,=>G._:5\=#:>- 2)9B- 8>[/(KTV&&3!0/^M4
MMSI#\/E,Z:* UYV::!_99G*9(9EVGA)8D<.A0OU)Z^E]:U1OS\SZ\]YB@@IL
MK37A!C2MMC) S_VL!N6&87J.',XL>AA:S=V(C_@H-2WI74-%$J>**,7^KC7U
M?]+O_>=_=7/W>OQ^_8[@1[@\^4G@;DY_C'^_!(ED$QWBP/KOC>NG/,Y?'K#3
MWM)'%4/1_TQ@].1AS@N 'D#X^(D)",\^+OWJKS1X4M*!/@([V0WP#6,%-0S<
M EI D^_]G_B+'W]]FSH_Z -B R-^-O81W:83:VSP%Y+^Y F\DW^Q[^#^-_;?
MIYJ*I[]68BBX43(J, XP'BY;\L F]+2EZH/"QHZ/C/@EEJX7/X5>F!_2=24W
MUH)"V?2 %KB>G[3R/E::%+A3C4DQ79B8"M4Y//E(_:HW_>"7BY-H:4YCVE)'
M+3I4 -@-5L*16_SA53V#[^]T?E_/S^FCCNIY2G4W'<^,4A3$4=JB.A$Y<]U6
M%[_.'17<,/"3_4CD<]J/0F0&RT+@!JH=;X$?^,D=6?]QM5JO-^_GZX^Q7VSG
MQ=O0TMU<<0(QZ"%E632I:.<*R[ZI@,4ODP8%\PE(D[?XFAY6?YP\TT!RC/YH
M:B4 "HX;Q!\1JW^\LVDA8!+&%PS341W-C*7G/SI5_I\\R*\M_ MMNIINJ (,
M V4-:JYP@ 8*27&LPLTYH-"JJM.H@1H4F"=GF/IX@CTY134;J%YB_I<_'==$
M\E@_'K[OO-TX^=U^/QQS%80Y6:'OQ^W___^]Z-!_\AX/YS^>'KH+@,P]H%J(
MFE03_J7:D7KP']Z+(;]2W+?#_YOW0J1G+_Z5^<_"]]]^-P)/GF:M[I$G6_3C
M$9_^7X\_\DXFZ?2S,Z/TY:=/_68DWTT(/UD6^MN.QQA:>LFY\:]A5[CD9[[T
M&TY_3/['6'/CL\,^_20Z">/A1T^PD&Q2_/W#Q,E(SD$A.<.<9-CM [[5?YY
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
MT@:J'WI [SH#H(5><EMZ2?5-7T@17'=DQ_LIS?A<#;J(A]*2'-JB+($ N/M
M9U:C17)/:%KA>IYEAPIPUPIP9=?BXQ5@-[,9JUG6,'%+3[&PUJKXZK*?*$#2
MB,T5<0*%.@!UX .S-1^O U$I&#!J.&M8AZ-403:-U7H>I#J0\#UX$<>>\],S
MSO><2G$2SPZHGA-_3TKYA$XLX?0Z S4 ^@,#!"Y7R>9(@S.NJ#GN+/H6_*8C
M^1*-JGCN^G*=UZ50^, YU'YE-O<BTL &-.O2#7._2&Y93\;0%$GL?+!F)ILN
M(!@SY"Z]%8S]RG3N#Z>MG=Q%%G6 :M-USXH2,*:\#(?FI ,(@C%#?LM;P3CP
MC,$";)0J*O7W<\<\J!$SY!,P)MX'6^3(UU:ZYH)YXFW;C51' \D.%W0WG =&
M:!=438L?'-:<9$U!;XMHZB53A/WX^RJN5WZ 'O^ O LJJMOVJANLD :*B%M0
M FIKU*=CYX5.G!>FB,/A&Q"_'SW$_C7X'4>JMYH)DBF.#\WU%JLAPU(_2O";
M#H]A,<AS0OQ^\!S\U^"W(?"5$;JIMN1Q:3B=-@;*VEVD^#V-BJ&>XR@SSL]T
M7 =))]M_GV9O ]4'!;#? ,?/)B4#,\*OJ,&%PH+"@L*Z,TN7%I[&9[L0'^W?
MKO)L)0>[^'"N7R))W>.J-I\V2U:3XP;CC=S0]OO8SIW&SY)%XK6)B%PP 6,O
M09[N1LYC,:H3N)Z9LY$=T ?-&0=0?P#:(<5?.8;?!8TLB?N9R>\;$MJLS/=5
M<5.AEBM>P4Z39)EB?-;"T G"]D-S'B^!K>R$PM95.Q929O"*:3613;N?P)9,
M#0E-P@8<"-N/S8Z\ +9]SA9"L[+I6<BLO8K6:Q=SV44"6SHM1B+)',^$E9:J
M!Y!Y[ 'JL2#6B1,(KP"Z-2VZLL^28JB40$AX@J +FC1'-Y4YH7$-BUZ'C>$^
M;.GK>FP N%.Y!8$]U\&6'1S":/BVG)<7XY=WJ_7%JCRKR-* #BAUU)M,RWR"
MW\2!08LX!5MG(( _WHUY,8";<KG%5)V]AR*#R/2FT4K@*U$"8#H%,,T^EW/+
M*Y7SO>ZVL$AFL_X[:3'^[X+AN>N"'^]0>L<OG,EZ:Q,+;\/)2BG;\\KQI)HK
MN>+"'[KUQS+IYZK)P\IPTZ7YJ(JN.]7 B];AO-SMQT_Z</D0FO=J$:@(MUA3
M^SKT_PSZ2>M8DX'-(NBX7S49$HQU:[U(0$^FH*<NW#(*!];>".IOP\5[I^.?
M]R5JNF]V# L$'L'R3(NBPE038L>/SNGL&#K]N%-WE9_T$GTO5CF-B$O'U=H/
M[5DF\/^"P=BG:&KZBL\;J,]^9RA6*%8HU@\6:UX)A<>BT(('-&#NU+D-"H&G
MZB!7OB/,5N:$ GC2R^4EM5IE</IOW7D$XN ;#I]S L>]C5>>5YR].&8UC:8/
M?;E^B)U /.$ 2+I($,\E,B&BLX#H',?RKX3Q64>B,)&$_2;29=4TIG@-K6'S
M&I^@-PGF&:Y(H^?PS5<T?P?XO8VH_+U.Y*'5(^?K6G4C5ANSPP#?[G7$[B>8
MCL-R"BO23(Y[2"YX2<58OK%S: ,]B[X]K"_)B]\CQ ^3O,O8#)9"Z,=[#[QT
M%L]SRE;9\E9'\>NZV"U- F"V>@ZEQ^Y/.K@5+Q+DRS(@$*4Y1>F'NS5O0FE)
MC<HJW4#G%KVIJA5LJ1ZQ>C]!:>+F%+&<E)C<#DIO8PC(*Z!YECLPW.Y^C?">
M5;5JDQE/1.YP&26(3(I&J")^X2*D6Q@%LCYY+WH(3J4B'K#3L60;U0M@']!=
MZNF'.SKE$"2IOL$)>KT3\H30\X!S255+VU+0=M 692$-E337[38G#6(7)QT<
MBZ%%E.5@B)QU(-^Z6_0;3/_2,])PVIIM.($4F]5F+0JWA%XU^PFXT^M[<,A>
M9A[:-^E+O?*,E@?-H\P:*BV/Z>6D(P_*X?8$8SIMWB0NM!/EZ [AYQNE<Z1C
M4)4^WMUY@IX+FE.K[ ]UMK9#K(/BJS/0"+8--/9NTFFM)%=$\?,J)C@A$_HJ
M[P;(7\^K[TZ=^6J*]=!#$U\,C\.>LQVFR$Q&MU)%\L+L5@C,O!^/'^YI/'\\
MHLUUBVL%LBIOR\WUFI?7]%#F$Q#&C@6!X46&?7:<=5Z)FG0L?R'^"J 7 G6?
MI)O<^/F2?!/T_^]/*Z_9AW.NDBGX^ 1[0W7_;/W"O"/QW:/8Z(AF>V1//(]J
MK5:QC4C'M1)L$>/.<[V0F[E# %^SE>9/ .SIS24_WN]7*"WRZY4!_$'?C1(
MG_@7]'QZ"\3O'>+WFITP?X)?T:68:"(>JW*7Q@G+;C:[(IWB-_:/6/)99CSC
MK NO[Y*A]6DCLQ]N-K8)/,B_Y%Z3/M:5>0#1T)4>$71IZ/$X\G9*=S80A<%8
ME\E6O:XF["639IBH(O=2+P8B$7(P;P7E+WD88V;4:5UMUJRQ9<R7I+1O=#LI
M.I.1\EP11<\C8 C.O!^3'^MPO.B8#$H#;B3@E96X#31RT+9,1)BG0$RNSV&*
M*/VLLYQ7*J;GN2N@!0_MM]#YOS]=_%B7Y0%O:>7:)354O! /#D&9$M?=S@B=
M&?M@9/ *?AJ4FUQC=6'@$0Q:[Q"W'^O5_ ZWAU+8QYLE8B32?%1J#:(Z1@U2
MW,9^#($6J0M^#(1MQF![&ZU.+T3P+UWR7GL],CU[5A'-;C/D1B5]C)93*)\N
M$J3P'$_/[7E@HYKZMUMQTH$C;K $7D$[%0 ]XPKE2 4SKFDY=FQ^G>Q]P%89
M&"!&DOYP00?OZ-T$7[\T'4YYUM@#=4E98V\ZF7N!LCMB"P7G'HID6.R%,Z\@
M//,$SP^OC'DC/.?S#F\,B%F(TCUOLC'K,W0M\ D\TTO_<'C),713WK=HYH5
M_:4#L]66%K+>51F1QLR&L<3TMJY$"6*3LAJBB+/G!VK^F9QT<PI.<@W@;QT9
M&&3<MFWY<-<G!5_'=1Z@]TMC8IOS,1-M^S4K]$BTPE!(M.#["I$.M<6)(L.=
MMW3#,#EC"+Z-]-7KP?Q+@S,2R4VD=&Q%;GH5<K;U:;<[X!-4IW4V! O[G+*.
MZ1QGO?[\5$;6]L@2%CI #^M#62A5Z#FY3O&;,#YD$;W0J)>C4IO'J38;]?"K
M$N,<:1A4I,^;VM<[(6B83(Y\SB#H?D?K1%14M\QFR3D<QU640*+T>=-D,G-A
M)@@,FJ'3\OX0/9M?)C@:-7$-1@YQG>Q5M$&;["R2QXQ=%3)!YLMN=(3 S"DP
M/VV^WF^ J<R7*W6E*Z8LK4;-2L@?YN--"LS$!T&Y(L8\-^TKKZR-M'2]  F
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
M!AN7T?O+.3\)+B98(7S+#!TCYEK5[I+8X,0\)_Q&7^ZYS1SO?_&NY3C_*;/
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
MB.>$)*,0/8:0D;LSOCPTC0&C.YT$#.<:1</+I&JB*6,ZB<PEN;\$P:LSW\V
M\G6G6*+HIJBM='I;IAY]@?@*-,"+XBM1?"6*KT3QE2B^<HKQE<3;XBO)PV\Y
M;D.\P>)(GEDTYG<D^DD>9'U(:HW?'85N9'*Y0LGL#K24SP'M()2[M0DNZ M^
M?T2+K]&_1S/CJ%/4T6]<%986H+.O^'599EM[^&C%'Z)-^%<Q%6A/*@TPX.0/
M >_>@S%Q6N.V;:(&BGV+!4KJ;!I;[)\+?;>'?8UM,!P!TY!9']W>^GIYQ7>O
MK4J\;-7U?'58?J@$D9LS;VFEXKR\*5LNX$?6!_@Q?RQT^P]69\/'MU?RJCQ?
MVW9Q\NW?P@6_A_A!11TA5]7)Z?UP,)1WV=/%PV)=Y]5$I2+?9L956Q;$Y\[F
MX_:T\%R_KA<7[>8\.:T_]BKF1JY>%;_]F[O('=_3(&)*C!J K"\W-9>@4MVU
M@PA+HW?/ :*3?<GIS-\WDFES*LJSN#_,!<82F8D1$=*ARY_U1EV_S.*C.=B4
M=RE(!;@4 YRF'4F&Q_8Q$T(1*LN4=:22:SH2B]1-[O/) R]=-W01%$C )]:<
M""2Z '?:">@V[7:E^="NV";&6*^\P(J<\C'ZY"[^WR_YIC_9C=+Z'V&Q_.?6
M<0=]M-/$=R7MOGG/=Z$[N%G49>$1.7,"T- P(2Q[0:G9C?FX@4P&Q[5K._N]
M9C9SG3M%/N"48*ZQ'6@/AZG0]1 Z^YWB"9Q[H'9JHQMS%XX1.0NKH^A-*>FR
MR9B5PML1K= W4S>\[@'-A4["3;FD_L) ON59D&2E76(!1D0G16[^?/)\:^ G
MQ&&+3BF4T>2LCJW*1^H!<O$*!@A%3PPL/M,=^L&[U:3>7:"(./VJHBUM-][
MU36:#.$6<H4_Z)->?N]W.!H/N:;L_9Q@QXAPU#1+AT+"773$0!^<4-;T%DKS
M/USOH6_9R BZ5ZO*EF; 5:E3WZ,7*'76!5^:&)!A0MZ!45,?MN$%F<A;=@:1
M WWM0:&BPYI"(90D+Q71'U3:7:$\)G1!MX)Z\K?':</9 )?_#8HL1?Y!A1PW
MFXE->"<X^$V?A]\,NOB9P,/ KCLT7;[O-(_M/E3P..Y9!V<Y&-QE-;"NVSK&
MJ<)(-V)@/#@CZ@8K Z#N<#!E?86S/C^W.P6?+*0*R-N(V8.W]!.U6T3M4"HR
M*^: ..]UM2EZWS R=D%U#U Q1FN1 <GP-.A.=MQ]"]D+A4P,"MG)8<]L:>*U
M4?7@I)U"*/1++UAIJV]O@CD%H;/>[08%E4,BZRNV#=R$7@4RE&R025!M31(6
MPD0.')9;^NS7/8D)?&!%+/+[MF6];:/]J]PGNT!=@G\A+-#"8@1$G_3D%95?
M'DZXMO7V%JY9(J7@/9S;OLK[JB;[M]]7P@%?/ECP1=/:$)[,&XK6:P1JW#$=
M!%M<,0UWKND;EHTAV@N;B6$94?88+]#@ FZ]2^:^_7X+N;LRP[_E;M9'S*T
M8N8]>M+)KX<(S=\DEG:M]IW//E*9;Q_<[+T#Z\,2?[?5WTXUD'F\'.C7P[Z_
M-QJ*//%YNE+747+,D&GLY9L<"$EZ^CV-1_K#D6'CLBRKHZ\.9'B*3KH8"W<*
MOOI<A[080#1BM._XFPY7:GH^,+_FM^\3<X*7NR)YOST=YN71Y6,0TYVG?PIT
M'3"<"S-!93I5;\(RKMQQG._^=F2ZG6CD&<8G$U%\,HI/1O')*#X9Q2<_(3XI
MH$]]F)$*<CZ7$X=C,2,,T\ET?C@:9[+#+"]DDADQE1KQ$ ,$EJ3?Z(G#C!5_
M'DT;]PE^VQM<O=23ZK1O;R"E<O?)KIBHK2;/YG2^>FH\CK.MDB:NB\/D_I,M
M-;_(V86[R7Q@3:\KF>:UV'SLD"?3_S][;[J<NI*T"_\_$><>B/5V?[%7!+@E
M,>]^SXX0(##S*(/Y0P@00F@"#4Q7_]4D(29/RV"P%=&]EXU%J2HK,RLKAR</
MGXQ*DT([V=>GO,9OUJ7.A,E'YQ)X,G'XY*B4;8W+TY'#M9W\NL3HS9JS8@?1
MX[?3"N]46+JN4&6UU.&51D/(E:1!;$ =/OG4U9G&T[S5Y31&JU+&TDHF*M(@
M?OSDR(PN!YU88:LX=I3)3.O/VC;6'"2.GUS%V=Z TF,.E6A7N<E">R[)6W:0
M.GY2*)DTO4S/(E2DHTY8>3/=.@X[2!\_F:X(2@'N#A>)]>U'\5'6V0H[H"GO
MT0\$J)GW!:BC'PI0GWC)"T]'?T2 ^MJ.8^@/,V74III8XM>[ YUX.6K$CLJ,
ML L7W"Y-",1V)BJQ=X.!.-P6\=6A+B,(;ZG18 F0H>\ZC3U@\#W29@]&#MZ/
M1-^TT*T&#PD'.GNA$4\L9<\O#98R(MGMWJT<30U=Y/Q?]P)W.SJ@BSCT5VJR
M[?/W2":$#FSLUA4YLRZ<?@_=DQ[XOEM&@F:$7<B"9GFW,"\U%3E#='&%N\WX
MIKG+B87N8U*%8MO":.JV9O%U/M,(5"%RQ>Z!?_CR1W=9%+Z9NUD-[D40G)W[
M)6-O;W=\<NOV^.(L_;Z@:[EEVH,&#A+7S3;V2Z,XO1O,]TD/B="W#6.VD,SH
MB"]GF,4F6TEMY(WTX0C]*]4/1?="SI+DF(ZP/AG(GPSKF[1:R=J\IK8CVU3?
MY#J2].L?FGI('_=#\8+XU^Z%_@&"]]EN3FOF]327F":X::<W2!K:Q]-,/HO@
MR7JKPU%/E*,D>M-4K#F<#?)EV(SG1.;$CMY?T6'] S3/\/EU=ERA6&J3R.1I
MIBDKO<7'TU ^B^:MD5(LSM?REH]TIIVDT<OIO03L9_\BCY](5"'N?I^FW3\'
M]M'RR%GS)SZI/ROSOXA5DI,M09)@CHL;%6Q=Q3;9!XI&.5#^@EX!HCP=3,QS
M7Z+B"B_NB,MQ]VHMWGA@A;T3"]B?H@C^CX-"11^&; T5.S!HV+$(SG'5VFNF
MN>,8-"U1P&TU436&KXX)L]/I[[C%>S;X [0-YE-YA+L-7A!KD1!^8L!";W3(
MOV<+7G:8P[)H-V7@[ZLT1-[GXOJ$\#!RAAT7#?;*CY7F<W-=4A@I$XN6J^L,
MG6<_J0SP99I_Q!&-=\9UV"+G*A1C59A;XM_N#_YI[-0(UC2"8QON!]AQBC[9
MTT9^]82?V;E*4]A3:ION)(A'F,9+LL?>@F!6$5#8Q!6$7=]DD'CB@8K_VT\-
M\CJ7,CZOBV]\R$BP7M>ED/L[\OC\C5W1*T"35[W Q ^/7NP^*@S!I<.QQ4]V
M"9^N^40/@C^^-?RP<]G_[W_L\1O(['.)Z09RB.%E,0]T.B#\%Q">9AYB <L'
M+/^#"!^P?,#R/XSP <O_(>7_8YO0N/1OP5%: C)8_\B\O-S:4^]8^SZGO6N9
M'Q7\RR[\*)KS3DJ =<,/_]^O^*]/I4J,?DC&W5P4-PF'GJ]#J- GY#I /I%L
MJ5?BX*\%P9ZAPP('OSGHM< _NJX+_%N4#N]BU8'LW)[L'%_X7]KR8Y ?7_+#
MI=9,SJL[D@SHL;LH20(VN!,V2 5L$+"!/UTM. 2_"=L?,?F%#<,;8F@OY]'+
M7L2_&A/\+TQC),8@SF7\_7[V_Y_12!0GDR^7@&J[_?>;&/F5"=_49>@/KC^?
MO/Q7?1&?G]Y[XQ2Y#$/<,4$"%@E8Y)NSR(D#\:O/O=9;$B=.[>E-\/+>4EQ[
M[8_G>GDV0XD,_LRCZ%YY7.C*>:9NIEW;!=[.0(0,T;)(XI&U X>J(CA>\CE)
MQW._#@@ B%2?= BL0GU2,(SQZ:2^S@ZQAK4;D-F*.B0@&;)97K/5"15I\<Z3
M/A?BS774:>QG54:OE.$7_>5661@C-C=.-.FX4A:>%FD[)]>F4U@-PH#+7SA)
MQ</I5/PHTR\0GN\E/(<YP[<G/ 6U$*T7EZL-Y;07JMV,/PG/Y:\6'F6<5B=Q
MIK"BY&S&KAO9=.Y98H'PQ*#P4.EX.!F+!L+SS87G,(OR]H1'63R7FDE-E;AL
MO5.R=3Y7M\35%PO/-!V3(Z-L;:TL8D61%VIT0XI"X4E X6&BJ7"4/D:9O$]/
MS F+U$O:O;_;UAOUQ/W<D +3U:= ZF![?+IC73">AX]/8D3I=OJ=F,/'A,'F
MJP_>19-1[*?<^IGO"NQRJA2;CXL^.TA JS413D=3;SIT RG[25)V6S;N@91-
M&H4A/Y@G>LK&FFR*@KU<I)I??4)GZMG)^#E9RW'=<8UJTUDS7VE+0,J >9N,
MANGDVRZ&@9C])#&[+6OX4,RX;")=[)=%12S*Z\2V7QI.G*\6LUBO037!T=JE
MLBDC6WR.ZI*I03&#AG",":>8EXZS&_2_?@@ [-;OP]=?U/551;!WP=X%>W=?
M>W=/;A . 9!\JYR4[QX\OHR:"78[V.U@M[_3;M_@->0;I8'\!"/H?ISNV(RY
M>-1.R#F#\41RHLIFL.@_CJA5D6]_M>>],BRN:P5MM528U:-1=,RF/9HT!VGD
M>8]&PW3Z7K-% AF[)9?[E61LN>8F7"X^R5#=XK!2+K6;3J,C?;&,,76;G8OS
M6IHK&Y;4Z]97QJ@C 1F+_?J'#L=C3#A-)0(I"Z3LCSWN5Y*R6#:^?*)*K0F5
M4/C-J$1EZ8SXU5+&+6+/([[:B2BRWJ^V-UK;R@_@298 )UDB%8XE7Y*Q>W*[
M?./LD]N[KUVQN//&]-!M6=0'D3]+6N:T[F(E<$Y32D=5NE'N+]BO3H%CI+@Y
M+D\7E%.8SE;YKJ95\RL(<0^LZ5@LS'R_"'L@L+<CL+=EGA\(K+G)3)Q:YU%5
M"DY%G<SGU4'C^:M#]<Q@W'J,Q8I=OD!O%*.GC-D"BWI2 -,\RH03J6^7>18(
M[.T([&U9^@<"F\WE:U%SP8PXC76FVV2SG&$W7RVP>DN8;)7DC%:ZPX'S7,^4
M&[V-! 466/EQ*IQ.',.8W[13^UO&^#^[UF1?0T2!AA@;#L1U_OXJXM ('\2K
M9D%O9?M*N[%=I(JUZ$2L?+43N3RB^<>8';<HARF75DSLN=DM- <TZK\5#4?3
M%/A_4#CUXYGYT$#=QF?V?%1:<7R7Z:;*R7AWD:M\]1'36T['5&N1WU+=3,K8
M4H-%,UMD(3-#FS"<!/>X.,T$S/S3F?FMS1:^E)E3^C##)99.FM+4T>PYJ2WS
MG35BY@1D9H:BPO'42YH9F4S_05T4_G$?(ZTHKM#D 7\3_OQZLY8?U9F8"3H3
MDXT(.A/?0-?<H#-QT)GX^W<F%J.)T63,,(-$,CX<Q**3]"#%3&*#)).8)"DA
MQL3H\:]_]KO>KFO11J'+IS-<.U[6QVPK*9A+Z51GXF7!Y)RNULXILI9<2T:B
MV\W H_JXW[!J-?.E03);5^1N?&!3!8=FIW#,HW[#&[&VRG>HC**4,PU]$XMR
M"CUOGNIVK%629;TE#&M\5XK%T]5TT1ZHTB!ZW,=WG18RY7I#:5+M8:RS' OK
MWKS$GNI,3/7HW./PL=)2A'R%C8XSK-DPV5/]AA]'ST/ML5[I*W5Z6[?UDAZK
MY5:#Y/&3=(VI/'<GJRD7J19YR92%9%U<^3H3?Z")</1]383A?KR_B?#/: O\
M>M.TP]:X;B\ZV%]5M'$+7%46D"4GNRUA+=)K[3H-T4[9V]#,MEE]7"%3VYQI
MCV:9K44Z'NLMN';W<1#?+ID(FPW:HYUMC^;::W_<'XU.!&U$OJ9S3C0@_ 4)
M[WI;@BXY 7M_0\*[[$VE C('_/US"$_3R*D64/[ZE']@ I;_ \)_5L.0EPWV
M[]PPY$7VNWH'C8MVSO%9KW?4)8>US_6/&YJA_UREE](/Y!%H MXQD_C9(QVP
MQ^6;;]&^L.1=<$Q>=48V=AA?EC*O6#A?Q!^7Z3L6F!&7R:YY6Y>1VV]E2SW$
M/I=#OKICV3=0%H=9:)]8?'EY=?!B'H0;S$+A(NO-&_?Q<I$+*($W)@Q^8A7(
MEY9S[QLLP6:]MEDO>VJ#W;JEW7K-R?A==NO3#[%/+-1Y?]'1Q<\P=C0"-+<M
MB" @RDN8 X RJ<"25''\.9GL7R<]=W;^?':>.FL-ZA-_E87D5+="@J<:O%8H
MQ#<SNMW:L!]'Z^ )F[1VO)-U3!.8>2?RSR,3-E+CD^V>DAU&8NOD4V:3B*\&
M,508]+;:VN_->E][FEZ8]]*#QCK9;PX;4H_*IAXKO70KD1#^H,+G7;P7JS?F
MCC5,V4I]R5:'2E[=SJH2X#T(NQ0/,_%+82[=#_]]M7UPIS4ZL +[[Z(^,D7!
M$G,B_K>HN\>JCSM=ACW!GMN17N!M(3M2LNEX+3Z6JYEEM@G8,X'9D[Z(>KPS
M2^EVW0"W Z-P!8US0ZN]NKEV6\O_<9M]90/IMM;_PW;[ZN;(C:W_OL[F+S^"
MW^2)K^QJ2<ZYXV]/*+^-<^,U!^#W)OU=GEW?>4ON](#YWN?(S=[QV/%2T$?@
M^8EI:*$1J02T[MS@^_X1W7OSJ)^J-_7J3%_R;\;F>:958/A-HE7H::ENMM1K
M#I+(MYX.4TSLVMB5WX)U X_\%7BWG"FS-&]2$V[#1$H9YHE9* T6\"[TS4=C
MX=0;&R($S!NX\R_FSB?'/X+@<@__$[Q,-;<]NOP\[G+:E.=X9]!;E,I0#R=^
M_9..AY.IMX'%!5Z$+S'RZA X!AAW2%/YD2=^VMWHVD4ZMW4P?II1AY2)>RKZ
MG$^(S\B!Z/OXA#X9YI;]5L6<SY0V/\T/EB.YV1M*@Q2TZ^)T.)JB?WS<^NK%
M0K?%K)]FQ?TYL\;+3FYJ5MM112S7RY,1FQRWC"9@5F#(,50X32=_/+->O4[I
M#4ZIT%_WQ*%GV-%73P59$RP5#'J"1R?R-O,T+48MGF&:9EXHZ"/I"2I4B(%*
MA6.)XXOR[\ -=S-NN!N*T'V/:^()2^];(S=_J?_N%"ASDA-F+;7<HF1VPI0I
MB<Y4<J3G:AKH(^KJ7:*^!5,?FX0_B:NOZ]D[P=4;NC.MQ_G9@DJ(A13?+<Y2
MS8';Y30>#R>9MW6 "-CZ->/Q6[/UU_K\3MR%3K!ZW>@RCL'5JORBD:8U.]JA
MS;9$6HW&P]$WIN[^&(_?=^H?\.ES1K)$,SMT?\,,@?M.:",*9D@$7QF'7(@1
M%^8['0[]Z_;$+OY9APMI?='RVMMZ(IC (E@33'/02L3FSZV$I'+B;);B8QJ5
MR.18((# $C@2OQ#8)A62R22]<V7+WSX7!?@AT8<BV!4=R$YH**C0^P\!QSV(
MXCU<8@O^J23HCF!N0F1?'D+94\^"!S][OXY.?[>AFT<\39#A0AJBB78%K*4^
M!.H$[3*WGHLC6QR[G>+:X%-K@F<&IF+:.<$6=\WF1KIE@[<P5(2BP?\&B78B
M,>/KAD-%]&0AU3<>A\/&QYGA35,^R0-9SEDW!YUXA=ITFKE:)E*SVRR+[(V'
M8\>3QP1X[XZD"F%-BX0T(=L W "8!*@-R"(KP*FR'GH!?/HFM\2W"1%+'/T]
M=DP(4V>)^H=VX:59@B_(QICV;4\A.2KTDMMDCG>ZJ5DU)YD](2W]^L?0L7H[
M/! >_D##'BA4'TJZ_)'3X. O!VU4?OW30$P%.#($23*684\.A%W.K45MCEQ2
M8'67/#)V*_3!JH>$^5R%*@<J,QV,[>H[BR@8\,'"D4W47=*"/"Z$YH9I3PP@
M&'Y=9X7^ N?0?,<#(<-C NLWDH:0!9A !8?4:"K KX MM !)(%8[.,%@7TG,
M%U9H-16!9,DVU+H[^9H*-IHFL'A$^$(@F/#7B:R#]\F LI;;!A.)*US9!FIF
M^)"YWP(=:53)D<=HIF!5\)G=NE:&HXY#NF&'QC)XF1D"(@%F*ZCJ!JM^W]A@
MBH<#P8X22WGL@"F]@SRRCI?H3>,AU(%T -\0PVA<=\^F0!^)JDL5_\3!O$Q#
M&$W!%/;7[]]:=[I_(CT?8S8X<4T8BX#Q0P(N?H,3G(.YCS9X27!C !DA[074
MJ0HR PJY@I5IL@66#'X8.Y"D4/V>(6E(GL!U;] SLN;N7TC&/$/4,&03]U=T
M"",V19\0&^,A5)P<,) J$&TOG'DYWD89-=P"1/2FBSY^WWSVK8XAX@7PA&'M
M#;)'$'O7H-7E1W<QB(MTLAR\C)%A8;%VOT9&WQL2;)7IB./K\\O8 (-B,;1&
M*IP7G/M24!UD9SE 8\#C1(9,<88/H&[Y2_[M$T2TQX !#7!1!:I#W6D85=0E
M\#<PLGO@@(="J%T,U-1_R7OCP)'!%6LTW9--;[LLCV6(VA(TR.^0UOA;0+U!
M>4"[ :_,\"^ROC1DL (XMH6[[UKNTBZ[ ;X+A7\')%$73:3W()5T()"0L?%Q
M@-2;A96M,;2Q%0"D8B=-D-O XPYBQJ$X$ARRA8 6X,:ZQ>(R1W8 4;K A$($
M!\*B>]N -.&)%T/FA 0WX:4'B)(!AA*02B&S!>+[]MD2OC@U-PW+G6]*Z-V0
M-3TI),)&*/=PIGG<I7J1(/]$>RK/YV!9%JN/'P'+ LM$RH)%-Y""Q?\];D&2
M>Y2=)+LJ._Q&J8P?8UOM:3-K'O>X.?T<[G'S20U+]MJ 1!,'?!N))EXTW%Z^
MR9\H^OEK_?L8A-(E(I+Y*:$BYIV+WNNAD2ALL/F"<5;<BZ:728[UPOGYX=,%
M'SQ(('31=M60]1!Z867X0$#6@A&RP+WI(I?0UYH56Z8]:."3YW3W<7<%/OXF
MW<?+YKQ/E=AYE1+L7*NS;E+5LO+Q$$U;5.'@'%8CARX]=%FI/RG QE\^VWRY
M7^\-LHXR:SRN?OV33(=3\6/7]>5=,(?=<O^ FKW$X[A676\J2H)_;CRUAI2@
MKME+4C,K]%>Z8$VC5-G>3I_612H?B8.K7P)2\SB^A5CXVCZM/R#H;/;8B*[6
MQ:&2D/O2-MO=]-C>10DZCSZ--A7J<4!%AA.;72^YVG( V#.5"E/)XZ;WX2/=
M8>%W[ [^B<_1:)WQ-!XV% P#Q6)!\PIH,W7S.??UTZH>/AB=OQUC]<"U?(]-
M7:-!4U>R$4%3UQMH.!HT=0V:NG[[IJZ=T2#94R>I?IX2%>TI%ZDRJ54Q+J].
MM6AU'N.CS2(RM/G-0->[J2=E5%RM3K53[<R&S]*J.VER!;T1KPB3]'J48L&3
M1\U<L]6UZ3C3:),OSQ)B=3GF\[T2;-%ZU,QU&DEMH\UUH\4['/N\RO>I9UUG
M!]$3S5QKJBK.>UN;<U*I2..Q5FN-5DWPY-';%^UEO59I-G)4O=O3.J.%RBW[
ML.WKT=OSF?(@S6N3BE)O*(^MIWIU7!DV3[5];8]M+EUMS!-*>T:)26VY'N?'
M["!^_*3Z'..%5FO:X9C&6!*XAI1O]4XVB&UW\O/F(S.*<8+:4^?+RN-R+3=/
M-8A=)42=ZU-25-'2PS(SB49619I4ENT_&>L^\I6BW34X9UL<6':^GNT]L;AN
MYZ.M9&/O:R4;_W7V+2_>SJ_IB=C%ARP@7Z,I,(9SX JJ&G-XMR4F*_9%[%P0
MG;;1IDL3GEK03J,:B=:RL6CSDYP*Y\_SV^N'>VT'R.:$ P3_U]T^=(R,=QMX
MU=R&[,XWL7-GCT68NAWV3RH<LD7+=ET;HCZ%?F#X!WA4['S9X&\6N!J,4%Q_
MI H:<?*9AF0*VM$-R#Q# N]*]! Z1R6?/X8\/#YPA\(O8)<P7MFU?2V#>-4L
MZ*UL7VDWMHM4L1:=B)7WYT6]2=I/7E#M BOD5GQFPFEJ=!3-*PVIE00W?B85
M3B:/@_'7]Y]LXS-[/BJM.+[+=%/E9+R[R/U!?N3[*21)3^/Z8IX<4HFY4%G3
ME:<GJP^N\+%8F$X?>YB^Q"?R2>EU'R?24[1')=J1/,\5ALL.74H(<BS>!$1*
MAJG8"<?19WDQ#AT(%W7LHX*6NAO=*.HC0Q/W3M)SOOU^H50I=S*I"1?1>MWT
MI--;5S>7/UC??Q!M?[L'RQL; [W[%;AP=Q<BDA$5P]!'?ODS;4>;%Z8!#B(@
M$R9X(>0?2R;1*DF0=0M%(@T8$8=Y#V/9 G<4085_M@R84S$W5F!8:V/9HH9/
M.G"J@9?8FW!HK@K@1$(GX\*1R8$)?Y5@5TH=G5?@ /0''O#?P<P@C^%3$H4B
MAHXEZ_"J)<.;H.G,L0FJ6X#'KY924#@[[=!PLQ>-)63$P6(@PS:039L<OKY?
MR2C(/G"&ECR6X=G.Z\>/X!B^J@)JC_UO0AZ#Y'^MT,11512N-D5"FI!C YMC
MZV9B3!QXA74CER2R+Y"[ZQ%?A)PY-E9$>8Z6,1(L;&P@:P+,Q$T8&,N[@#?X
M2#:];TV%)4Q4!(][X7)DN!PLS6=E@5OW7)#'(16^",9LD4L.W+,/>,K:9RK,
M,^#O@&'AHS.8IA/>C]*"E8Y%DI[@T1K%;M'Z=9@Z=5Q;CZTETPL<@R_#M#S
M9Z8 IQ:!.5BAH0 V.P29 Q$%,*@&2>8N3$ ]=B[$HB1N/C$@;Z"]1LXZR]&@
M1&])AM4AMYS>=*0,_D;SO&RX>#05QXXJUB<OG"_(Z7A\L&B=#&.QD>T3'TFJ
MG?9XP6AC^K,.EG=D;+_1W4]V@SC&<77$"'J/YI;XM_N#?QJ[BQ:^BZ%66>0#
M[*!&G^S=U_P7./S,L4O:-MU9^)H%_WHKP$4B]4 Q03/BKVE\_B)&64#X"Q$^
M]1 +^IX''/^#"!]P?,#Q/XOP <?_&>$_I3?RJ[;E=^Z-? '\V0LM_%*-CYGT
M0XJ^J_;HS]"#BSV"''3CDB;(Q)>+?XO2X0NT$0]$Y5.9X 1&PO%_+[8D?/C<
M$=_# ,5%6WP'FWP3FYP*-OG[;W(Z.)YNF:GO9>&OW:"NSMK_NB_E]:Y]/EIN
ML/'!Q@<;__Z3[ Q^E09(J8I7/,QJHHVR+%Y/K;@P -U5>?MKH5$_G7^_ L7X
M2DF6*%I?  Q:,2RKKN<(B]8G;<B@#<B?;9SYP^IC%,LOZDO1LE$Q\0D\.G55
M4ZCZ)#ZC"MJB56BLUZN1 #N=,\ F3893U'%RX4F XX#S \Z_;/+L9W.^65U8
MW>2S9'(+<Y:8U=2-MN["JI38KW^BB3"5/D9B##@_X/RO AS]1,Y?3=/C_G@<
MF5'E;7'9L9)SXS&Y IR?^/4/'4XDCOMG_7[1F+L%FPTFQ![:;"^FO7Y.*XD[
MD-A;%\PK@P)?TBX#C A%U!70!N&_!N0^SF6\_03+,_4,0$H'>DI.5C.)."=R
M"<MZ%%NE64T:Q*%E1H?3B6.DTH"E?R9+7]+@^E26-N+TM"(9E:TB;*9JNR5F
MDI,E9&G8\2<<3[RM>4' TM^?I2]I27TJ2\N-RJ0@L%J%RQ9+JWZ]68DN^DW
MTLB68IB7>EC=DU_LJ- FN H%5Z%WF%FO F85(%<1B*SBYFF>Z XG)J=I+7U>
MR213HOWQ<ML72EJ +CC5I"&1HKJ#<LY2!#[3'>B/7+'5:@X2T/1*A&/)P"<6
MB,.% ?G\XL!8YJA7KS$SSFE')A.9*\;8S,<1X]XM#HN8+$X+V8%$:8V\--IV
M:_7,9 7$ ;;GH<,4'<A#( \7QE/TRT.A77E.Q*,=@^L6EPVJNLKVUHV/ WR^
M6Q[ZM1*SDHR,RB?L[3;RR"E&AH/R &T^*DRECXV^VW:@95XNY=XK_@YN9#>2
M<78+8GQA)!GH\Z[K+G<6?<Q9='D3=OH!.W6JJYQ3:?.50B%9YLO&8^&Y]UBC
M.JHT2"('6CS,1-\8X FX^P:Y^\ ?06 :@^V[S^T+'>W?W?A&/"S>Q/'>^E$#
MX+>^O /Q'7#VYYK-M]3]\AL<R.\VE4?%;F*\8O2V4F [L41QR>K/I=4@!<_@
M6#(<C[^Q?WH@ X$,W AXW[ME(,+6G-33S.XHFWA:25NQ]"IE-($,Q!!^7SSV
M8KY%( .!#-Q,_.S#,I 6Q,>^69F6J6ZAD]ILRW1T.&>!#&"723SZ>L[1YW8"
M_G-VO1+HH]?G@[ $\9)U!1-ZQ#8'Z,G4:#V@M^U4FM_$EV+^J=OO;&%SD4-D
MZ=//W74#)T$@ ,8N:1#P[C7Q'#.X*5_)T<400U'I_5:-]F8.U9:Z@;>N<4BV
MK9#761-7%V@&A&!SV]*]U"_68ZDXYB(*\=3NE[/N5-0 UF4EE#Y812\EGM5Z
M<373N$U$HB*SC#PH3CICO22]I14L1I$[PZ.H<YH/J'6FE*;/BXQ!*]IS+=9*
MY+?+58?]]8^],B*GFKN&)$> (XFX'1Y$#80@SK+NM5S#L(!@3@K80M@6"\,$
MWB,-=P-:^P1D$?JGG1-'$.*P/JD"9NM,!;TCPOZYL$BG/D')H 74J0^N+2N
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
MU($,#V5/;[6JF9UNXAS3  ]G!5T +]:/E%R6S>T>+@E@NC!I;B/B>&[&%+:
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
M\3@-]5@J#E\DZ@)V+>U.#_@>55B!;\/F(YAW4?'B"!W/(V+*^53*@W\GWN+
M^3Q)9:A7)35+&FGYE^A'<G+]@'M"&T(.1&2.'(BS+_"%G=(D^YV,[L8XW4CO
MW*\(]J435@^@XD'H&W71$<%"_<1TZ^UVCOVWB*MUKN?2\2=?Y(3Z*M_7S?NU
MZ,"O%?BU K]6X-<*_%I7\&L)V"4U&LS;="$V>'Q,4EJBH#*M%MO<.DV8 O(+
MBZ+W9%50<GJ<+M:5 L54JHTQ(XR?V %S_&2E/QV/&\+C0-D4A]O.JE8>S#8K
M\&3L\,E\CTI.UC51X-LK<9$6)OV)K<,Q$X=/EO,:4WXN=$>*DZZ)T0Q#ERJT
M-(@>OWT[:);[R5JW074'[5K9K,4RT=D*/'GT]D*W7!Q&(D]5OL#4MF;4J$7&
M2A,\>?3V4JD_WJ;FS0A?J#Q6N>PV-52W[" VH Z?C(^,^) WRG5ET^PXH\Q3
MU:2'JT'\^$E:6JF-922Z49A\?M1H).96790&B>,G@4E?BR@%?<'7J0&3%X1J
M=_K4'"2/GUS%>XZ<[)>&RN9Q7FZV>W,[;ZP&J>,G'^F2U8MUTA6^7>VMNM&4
MFAH,V5/[_EPLR8MB:YOGM(Z34I]FC%0S3N[[HL!W1]/D=,,M6A0W7Q>FQ77O
MY+YG5KK4?JHUGGBMS-.#Q:"0RU(G]_U)-&=U2GBDJ6Z<2TI*;9.;5]A3^QZ)
MQ.6.(D?;O)#59]NV/4H9&GMJWW7-BAM;+3]2%K3"QV>C^'K4/;GO28GCDM:
MZBKEKJV,6XU!UE&;I_9=3-&U6%YLV90\LF:246$2NBJ=VO?:8"W1ZXC15.1%
MX;FCC.I/G3)[:M]-#8Q'*P+'"9M$JO08J\QGB29X\FCML5FM1S7[T:XB:I-.
M0E+CCVD=CGFT=EOCYSEM4@"&T7 VR-1C\51J<)*74I&UICZQO,QW&648M1>9
M%+<^R4O/<TH2FCR=Y@NKGM8>ILLE-;HZQ4O;M<AJ@K/4N4U<HB-F*\,OI.8I
M7DI*XWS1JFUBO-S*Z4(J09<6:>D4+XUS:B<>J41YI3L3*#:Z*?8-?G6*ET2U
ME7DR<O*0%ULI+5HI:YO!Z*0.X3?9X=AYJM*<LY@G&FM.23RE3_+29).:5:N<
MN582D4;/BI8V38MC3_%29CTTIK8P+%%:9I!\I")V3S!/ZI!!(]_EAD8JRVD%
ML[\HT>E*?L*>XB59<7@UW:U%J#H]&C/)]6!;+9W4(9UXNS^7>*E)E7M6HJ8;
MBMK+^O?]TE6$K)N5D3=,G$V#DVF.RP9%,[[*9"=J6>E6!<8>"4YEN_U:B*OH
M S[LV4JEW@4F%A>"MDNNSF<Z>=X+FK2O%AUA7^FR@'NW:W,3%YQ/=CDQV,-^
MHNL'#!>,]WM_X#7O \Z3;HB[#@V7\X.Q$.]%4#<D3>?U)83Q&O9Z2,/4:IAT
M?XC3?]03$R:H66[W6Y24C2&J/RX7A/,'3VXHQ=LUB]7'+=QHP>ILYB*[EBWO
M\=."4D6S']B+2('B<U&16^3J^5B<*>43,OM66:OK),=-EUJ['40WL6,Q7-2C
MSJRQLE4JD2I&.E%IWGP:?E95_<L[_Q$/!T:9<+T%Z&8?0:TQYI;XM_N#?QH)
M[ZWXWBXXMN%^@&_MZ).]NSV%7 O^F_WNGIY,/Z33Z*9NF^X\B$>"QJNRQ]Z:
M1!-5%)"K"':]D'$2B0<&C.,C"'FC2QR?U>\;'Q:JP^Q6ETCN[^C&\3=VA:P
M65[U0A _$'JQ^Z@PM R(JO')+HG3!5;H0?#'=[FVR'_M\1O([+N2Z0:ZD.%E
M,0]T0/BO('SZ@8H&A/\2CF<"N@<,_W,('S!\P/#W2/C_V":T*_T[<!010^;J
M'UF6EUM[R@T4?:2KQ#[GO6O='S7U;IL28-WPP__W*_[K4ZD2I1_BM!L7=0/"
M]'P=0D'WD!MR_42RI5Z)R;SFF'F&5WR"EPCO^2Z,-[[LX]_ C7\7-PF$Z0Z$
MZ=@A\!(/X%T^_N_^IG_RFO&!=D>2 GU>%Z7(*Z95P 2WP02I@ D")D@'!^)=
M'8AW2XG7[GU79_Y_W97Z"_8]V/=@WS]QW]]RTOW/:"2*D\F7'W:9P^(7&,]^
MT\Z]LH(O/+9<>^QRB_AT#CS,&T5Q7W]J1G0OE3UT&5 N-ZT@<9&T JT?E5)5
M<]ZD(LO-</2<:"U'4?;#4%_^=^5(<@HI/K)VB0=97 -R"/W5&0W2L7FE7E*C
M<TJ;/L8'Y7:)S6G2( 83M9A$F*:/P;\N*Q>7UNZ!6/RA6"0O(A:1?NY9X]A6
MF5I$"RO#&0W9]:KY96+QS*RS_:<DO:7JC>PXV5GU-?T99A#&?OT39<+I&!V(
M12 6?K%(740LS,9ZN'SJ&QN^/AZV8NF8(BJEKQ.+?CU>4O*\/>.$\D"K"Y.E
ML!S"TR*!Q"(9C;X@%B<,PJ^V^W8[%-)@.N-?I@BF9(GCWX?-CE#SDE/B<4^&
MWP^7V,,LTN1>%NEESK52:22WE@U^SF7M[E-E\M2:))OO1W8=6?+B[Y?GE9U"
M*(9QQ\@:E@T^YS!.-WIB!,/YLFC5CN%?@53/GE=Z(C&P55ZNK*TL*]NQ2!(6
M5  ;,!Z.QN)O.NONZ$@+Y&!/#E)[<G"9@VRQBICB5E1X95/9#%.%R-)F"^\_
MR"XJ!^JR* V[NA%1RBNC,)R-^'GWL0GD !A]J<3;+D*!%'R:%$#._^O"K/^5
MA01?R?J WN"U)V2@MF&U#=/>KOEL+#?,=K2GX2,/BRJ!A4>'HZG$D13\OD^7
MGVOVAE8F!/'0(\9D$A(0EI7M*X )G( _42W<D67H7NU>GEI.'#NXG?0)F>]U
MI>T3VU;6E"-J7&;-S-GND,7%KW0R]I+$!ZZ.'R,3=V0E?H),3%E;2:RHFLEE
M'^,5:SE<%Y?K)B[S9M+)0"8"F;@O\_$39$(9Y1(I-EX?*/*HU),DD6WV^[ $
M'GK_J./[T<N6X5<;@(#6(GCQKE<P1I3[D3Z^*Z;4W9COXXXLO3=<  E/<X2E
M.<31I\);G%6JQ'HCBW-R;''X7&U&>UEID$067S@1?UMTZXY.L7N7BL# ^RQ1
M..OY$"OY]:P[*BSY^K/3B(^I52)F0=@68/$E4]3;++Y )+Z52-R1?7<)D8@M
M]&DO,F48KMSN1=+Y\7B\J:Z 2"!G8"Q]'.V]4V=@5C4L7\.UP.GW 640!<H
MPB.IXC<T&W]B#M2$::MJ9-)>46)O)708B]I(C](@!8W$( <JD)L@2>JTW%@-
MID3;@#&X=J]#"[U<*1NI-H'<Q-Z0)!7(32 WQW)S&<LSKLYSF>1@&Z6$)<?P
M4DVWS+GT97)3CO-R?I*JCOCV9!PIRTMJQFL0!34!7>[A^(MY2,C:_ ]"IOO'
M?8P@"=Y9 X(_0FK<(4J&=F"2]PG2""\T>_S+DL5UC+:[-,+(5*K6CHUS8E_I
MTLGUN,I-6LWTZB)0C1U#U,OK>:- B24JVVZUY^QPN@J@&@.HQAN'-0J@&N^-
M\ &05X!<]Z/H'C!\P/ _BNX!PP=0C;<$*7'?8#H!5&, U?B=A2D : N@&@,F
M"* : R8(H!J# _&>*7'KT&TWKOZ"?0_V/=CW *HQ@&J\W>J[&X=J?$=RP=JR
M-D_E;&7,;_H3*Z(*ZY94^7B6S,L3S. $Y%,E.WH92/'B25"ZFV(T2S\KY=28
MQ4"-=#H<9XYK4H.LLA\M%.].4GZ'4)A;H[N)MRE.Z:Z&5K[9J&X6A>L+A<Y%
M^=HV4DLID;448\=Y=3W92ABFD4Z%DPDF$(I */XH _D=0O'H1)W2L+K0N *=
M*LYBL;:=YRZ%Z'%>*!3>[-K48M[@M>=&,3U,+)EA?85!&ADJG&:.,7QNNE#[
M6X(T?B29+\#O^NSR[7<(]S A4JL<E8CRB9D][=BCJB,F;Q7%:]4H/4W,3:O(
M+;;S8KPZ2$ZVPR9&=$R=J#^XCUK6'R S]X7\^ [QL9_[F[$R[ @\LVQLXM23
M(AK/-X:#^ERTJO-\HU6BLHINF_;SLJJ75AC_D0DSJ;?=L *Q^?9B\_65#;<D
M-KV-M6D_,B.;DR/#ZE0937)4JXDA(Y/1U/N,S9OU.P9XD=_C?@F5'<U<=(F!
M&R#8IN^Z3=>XU-W=\?H)V'KYS'9&E5FMJ@C9DMHK96Q%C!)L/3H<BQ\[,@-T
MO0 TZ=8-Y>_HGGDKQI[<[)GM5;8M*HMZ=M'6!D_Y5)Y@["5>LHIO^"KY?07C
M&N?:=_2VO!M3+)O*5TRCY,2Y[B17[M@#:;DJK3#,'LW<JVOR^PI&X%JYVHE1
MC#Z5G^CG(L4[X^?'2M: ,)D2AMM[L?W,/?E1 JB] /HHR&+9DWMK/>@9LWAR
MP@GI33&Z'-"CR(H [059+('4!&DNIZ0F9Q7$2NF)6U'.0(LR/;[L))45AME[
M-<TED)I :CX!9N\=4F,EAX_=H5C@>:TYDOO%85Q0TY=JXW%>:JJIV/-C0V[E
M*:;SW(PFV_W^LL$2D#TJS*1> G4-0/8@E)YA3T4S9.Z@XOX 8"]T(]AZ=;@F
M'_H=8=KG=F&]'2;B:2[1'MJE>F(\!1)Z$6"]V99N\,O.1E4T/9>AXSTE,5LV
M V"] %COQD%H F"]>R-\ +L4X(S]*+H'#!\P_(^B>\#P ;#>+0$ W#?T20"L
M%P#K?6=A"N"T F"]@ D"8+V "0)@O>! O&=*W#K0UHVKOV#?@WT/]CT U@N
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
MY'"W$9Z]O-PNO(P!H2!3!\KM_[1%[MRMT?>^(?X5?A$P.A!>Z^CF\>ZC V:
M1()V, (C $:,@SH$N!Z/[*I\V/B^<",THD#F?2@8'"NP^3(K())88UO[=N/<
MPR5P,"XP/4%L\Q+2%A%.%, ,RWFVS>>10EE@!:[,UA"I#3ZH\T);>KQ=\Q<D
MM+'PM?&_;V01!;&%M$L\TN?9EH3P0AXL(<]S?#W'MU[2L=>>.O[.N?]57AR4
M$+T\\C!463I:5(8<>8&V[X(UN0@4 ?E!>D#R$(##<5/ #EN:Z\:WH +#U1#@
M2X(8R#O<N-?U^;%R.J=U'G%R+)9LJ@U:PDVEWM?*^& K]*S@'$*1MB0819;Z
M:;XZ+.$#@?$F:-@\AU!$EO.#5B=;**,<%:R;P:8]:VG-<PA%15:MAM2HAJ+:
MJ*&5B+RX0OO-<PA%3F.3L>AN+H<:DY(GUX(^.^XTSR$45;K+S7K&A+Q,UCBC
M4,R&-7MQ%J$HC99;#$M4>CP7VG:CONE["AF<0R@:5!95I3V?E$V\R4F3$D-O
MS.I9A*)IJZH2K1(?\L;8#.E<HQ)6)Q""]61D+><,](S/FJ:D!!PZ\+KA4#R+
M9<2+F5)OKI1FO+AI-$<.CJ(SECW ,GI"9Y+K?LZ?=7D0'>(KKM3UARX;#)G3
MD7VWG)[S5&7*ITEQ((7Y<-)J@=W$3H=Z'MW/>NEZRPR'675:R33-&<Y"U^YD
MZ'R $0H_,/MRM9]E.AJ6;ZFR/L2(TZ'=G%>PZ;R.RM7A*#?OAL$R3P/&.T/]
MO!(2"XK#\RC9(42%W3+E8A5,('MU,*<]$AKP-Y>:XX51D QB9'[E&TOH<;Z&
M[310PSG?FO0W<I&=<6V1Z>=43?]2;"?R"=NIP;?:_132J+%"&V&%/,(WY7(#
MFHP4(O#M:^,]1>1,(4M(T$BY:WN2IB+ MUO!@#J_[3" MQ?0:WD!&6IJY[A5
M,=,KF]RRN61G77I9K%UJ[Q-DJ 09ZG2K#P8N$YR<'T/W!"<GX?B?1?>$XQ-D
MJ)MJ(GM;9?Y)D??/AGU*&"+!@;HY1DC@G^X#&>C.X9\2+DCPH7Z>,KQ;0MR>
M>_"-P9^2C?^F:% YW[#@(Y,&O#_\=C ]W)U7#E\\N,J%[7"IL1O#?1R[9Y]Z
M% \-*2+OHTMKO3(-):@&J_*V*!;_O*7BBS,I.K9[KH?IL-\N:N/AEN#)?$_&
M-@NMZN$[<*=,!@()?#=TIX3Q/WXM_@*,7YQ7R<&TSX:R0:JEZGK3F?L>^WF,
M;WA\L4 Z1L[$ VI4FS?RHZW9C$&>,EDB16&O=1>]P9+AFJ:XVA285WB]W;'7
MVCR^YG<'M9:7;HCZ;27OSTS.(V>4#QAC)X83G##]H,]AIB2'=7ZKFGDA_^?=
M'7];#*L$E=;*)+HPBS,2W9!R,+/SP0ZL"5:UW"E24\+25S4FK[%TN]#<U.9Y
M?2F3[,@AZF15:Z\^T;)P]0YCCXA.Q53X02'3HURE.F!WZ$R9%(Z_YE'=4R14
M5]2IL="<,'$(?[8,_YE9>F2?PW$[&=[RW8$ZGRU,OB@L6Z:K]MUMX<];Z_ZV
M#.>:O76_U<'K?+>,<6M^Y3K- ANC*5%T-D53KP'*)%+P$Z7@SRS9:U+ +*1Q
ME@A<!BV*M;Q785H#I?F)4D#+7756IXI;.1SC+55G)<TS@T=@)2J3RI!O-KR_
MK2BIX#M@KWU'2R$30##P@WM\'SKQ+K^33/Z997ID$C"NL..2?;RDD]D@MV)$
M?EYR<-MPV=[X SW??ULDM0Q&Y]QPQ<AI$V_/%Z$Y)E VQELB,RGLG6#L"4??
M*T?_F95YA:-[G9:G8N*Z(1<+N8XCCX=K4_K$#$"S,#)K/:VUE>>NG/6Y?JU&
M/J(Q 8[&J.\2+MF>[2!K;6JHEI:<'OUP.?XSR]39<<].=ELUN4UGK;IABCII
MU(DA4W0_,WOG27A3&V:5'$]*M9%34?,YL[E#7R)3V+?#7DK8_FO,US.VSV$U
M35REG:(\7TVR9;K"T2OT$P]-+8K+B(7)LFR*=9'N%'1R'#IZC,5$IHBWD9AN
M*R:"$%1WX20F[0_NPTI!AMJ)ZGA;4?(59\G)1F[8Z6P+1;G.?&*\-%\6I:V2
M[JY,,B]4!KS='5?6L$0?GB_1*1I[GXE*1.''B\(?'E0]B<+*JF:T-)8;HP9C
M=X9LTR.+@T\4!<.IR&['$!9\4>:EWI)C)6;5!**0B7"Y,K]KMFXVT+HAA,S$
M);U]P;X8G.T?2^8XGT]G:VE.EXLLY>C5RF)B&,TAAL;-.PB<23'9UZXC)8S[
M$QGW8O"T?WY[!ZOVB*+LCGG<:,GEF:BMK*P.&3<Z(2()(D6< <2\Z6B(555_
M[EL0  S0<>D 4BEWTX/CCM/H4%[^NC--?\ K^0-6 3];&OP!R! [AY#.V^CS
M%^7KC&@I_70WMW'*FCD7L>9T4^W*J!U Q#!X,YL&%@$_38S_.V'2NV?2BVOU
M*S+IH%[C;+XYX^4JD:F9]:R%]ZH1K!ULE<O0*9QYE4GO*:IXPCV^;[_KAJ*C
MVTLIW),1BM#S#H0[@N=^CLY]SFL+VMBL8HO#*NH;#!80N(Y[J YG")MFH*DL
M>MK_YJQEN1^F_[1@XV?Q\F4;9/P)+Y=[I-B7>PL*%6?MSJS7ZJA3,X SC.IX
M4AGB=PW05]L9R1]YMJ=8B2OWG6+UB_=,.N^C\1O5\B'9.'OA>HX?+:4,?3K=
MT5Q7T,YY<7A&;5;+6+F/&J/I/,SV\RM5CV"$@3V@42:5Q=^7?$K8\U[9\^*=
MCB[(GIVN5BJTEG/43/=<9U::YD1[$K$G4/$,B(2S]&^6:MYLC'%(%L18P!Y$
M*J!+XGO=F^]UI\9EGS(X+YXO98%)56V1U*3(FE52Q,JE5GX^RT;8\K!:!OA@
M9%(LD[#T%V?!?H^E7<Y:MC+!R$-%QI.V"B&H+,]"EH:)+3*5R?YFB]BOMBQO
M]P#XD0[=L7P10+[&M@_!^;^]@'W>J?=YKZXR$2S!HZ85?FY(T^J 1U<]LPF[
MC,"@@\ZD&/JU@\.$1W\ CW[> ?=Y'IW@2G6:)H@0-;PYZGA.<]F8!)!'XP+(
M#)E"7RVXND+;U0_G\J_1!.7P7 G1-DMMX4;-YI:O61TD4-RKM\7\<%/5UQGJ
M<.%G&V'VZYUV8=$L.CS>'73K2ELHX/D :K@40YQ>N+O;1JKO)DC%=\:XP!4P
ME,3[5&/>+3::]280)QQ-T<29UJ!WW#SUW42QN[.!($P;&WG%YTBTG&UG0I:%
M<"$TT##7Z9>*O)!L /\':W" 5@#CP;Q="*T"_SC>#9TH*M0R!M 7(,P![U,/
M'P3?!F<VW]>U[P898(QB61$-'I!;:M;ZV/A,6/7[S70+[Z/A>"25IURVS57U
M<\WYQ*Q'R//ZK(-VV58W.UJCC3YQMCF?S&!EK]0*.%3;E =K#S#,J!:<:\Y'
M^ZVU)$P<4Y;L<EJ8SSV]9^CGFO/-1@-UT!NKI%ELKS4[S>$SQ=3/-><3A>S,
M&:F5NJG,\VI'[_(K;*R?:\ZWZO JKXCAG)=:O;1I2.L\*3;/-><KT8OUM#@'
M7_ 7S'3>['O5NML\UYQO5%GZ=6-3Q>55B9B$]8V+*\WFN>9\X+W9_K"(K\W5
MJK'*MS0F/P%KIZ[><2[N0&9;BM.P \V10M?3YNYI@[&T-]_,R%6S86H^0VW"
M)7#'G.!+F\M1#W&S5*0A=OD6(O6E-E^7D.NWDXO(A2PAO1 W)M@--9$[V<PW
MF\>15:>1<7+S):I4EX9<RE2P3#-I'I<TC[OUQD))*ZT[HWO22BOA^)]%]X3C
MD^9Q/[;W1]+QX6>WADOV_V=V@OM&^NXD8GVYJU?2T>O;]'5+-OD]F_P-V[9]
M(\UU+^N^/4N=-&5+-O[>+DZ?.9. 1YKP]L&+Q?OW<]WT]DHVO^V5HS\#/.,M
M3?4<0RUJBQW#/8=RGV3J7JO+^[B<+IF2-#!X:EKZ_1L%Y\\KSUQ=RK8W5MY=
M;#H\YP_\D=":+;.&'O=U(\D4F7D-["F1D41&+HZ$]K:,K/MB21MI1@75BC.R
MUQ#YUG;S^XU[WBTCHSDU[*$2DT6[0KN$BD.>W?!!W *.0E.9#'-?=[S/&<'3
M&SIW<8?VR^ -OZW0_IEAB^JP9<A#A[?%]KU+5S[M%BN3O-DMY'MTB1-[F_(?
M5K2^1UYUFIV4,K6M8(;-AI\358UBULVX5UPFE:'?5V64\/JWY_4_,U"O\CHI
M+_L3?T3DY&(W]&9T;=$>9J]HF^H<Y2F*VBSQDEB8X7F\B+JB'C>1RZ1HXC?;
M[MQLX/8[:&N),_HM"@G_<\<8.^\!T'J/> \(HQ7,-O6T&7:WY5XZS<C8(HC[
MRV%D"G\OMELB$HE(?#%4SZ5$0J Z_FKMNF6^.&$TO"%9P]&B&3>;P_$4<0:#
MY,:!?%ZX)YTXI4FUX_6-UGM$3O;;::N5XVB9"[=\A0G2@ZRKQ\WDLL#+9.ZT
M^7;"O%\0<EW2O+PK0F+-Q:II$&E^CJZ5I=U8E7I=/>X;E\533/;-OG'?O3 W
MVGT,?V2!EZITW3-YPZ^HS;U.5CE=)G(+C:I69*-+5^30K(Q8XL]A#MZLY9Q0
M34\L;.J&N:(<@>![ZJA0TP%/IDCZ%#3D\PM^KT/EGL9*V868+IK=M+YL!-*@
M4YI?L8QX;?:*@SI-#7F1;(VFS<TF5[>#7_\0*2I[BAOQ)47$UR%TAYAK<IIJ
M8&B5S:Y(NN,6S _T/GN3T+.*M58S52,M%TG3JE-]%P^M(.IS1IV>CURB,/EL
M;7!\)?[@9K]J@3= NSS=U[+MK2Y4=I>XVO_B50H"?;*L.]5:2,,J[>,+_/_]
M7T>5""?!Z\XE.%C(K@("C[P#74O'A0[*!+S[;\4*E-#=E^!E'K+,WMWX&SV:
M&(8_4/]"GGZ$!#BAWES9I ]H=%3[%W_KN/IO]]D;U1:[C?#LY>5VX>7B6 69
M.E ._Z<M<N=N_;SW#?&O\(N XX#86$?7A'8?'3 #)!)X?U1-"LTG!W7"PG,?
M;;GR87O^P@6>B *9]Y4'<ZS YLNL$!<)Q_<WRP+W<(G2X M,3Q#;O(2T1803
M!3##<IYM\WFD4!98@2NS-41J@P_JO-"6$.@J8?A_D+\@H8V%KXW_?2.+*(@M
MI%WBD3[/MB2$%_)@"7F>X^LYOO62LKOVU/%WSOVO\F)_J7?TVLC#D >8BJ@"
M"W+_U/9=L"87@2(@/T@/2![6'CMN"MA5"^)( (VF.8$!?$S@GH)8RCO<N-?U
M^;%R.J=U8NB 89;!)Z,,30S)C 8\?PS3AB.-H8>C[)@@5(Q"*55[#C90EVL#
M3IV[:YFD-67NKWRM/#P+\S"1L[7E?.WE964P)W67]8ALFCT'WH"5;297438E
M5!OSI:&T%#.*$9P#;Z@W/=^WBM6M*57Y$4H[C:RQ#H;$*2C"O!PXYGK+Y=!5
MQ_/YHM)OEYOL.9B'[- ).74U9G@\T'%KTS4EM7T6YF$P,GN>N0T5.51TS FZ
M5:$7O9U\/I*?MXBFQM77/#G0UT-9T*M+-X@O$!V/7'304F;2L@>FWS+2[=:
M'UE6,[Y&\0PZ(E_CTK->V05&;6:6ED*+;%CP4M+)V\U%OB,O)[.M6>Q7>UY(
MV\")9L^!3&B!WV>J9$$S-2JOR=QZ:R_R9T$F6'6[:CJY24'NCLQ%4/:P0KK
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
M#<5Z=)H NUJ&$O&+ ;XR"A'?-18ZHAQ^=6IHCN*HTQ"P-GCHTC%L!XS?@B]
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
M;[UDA:X]=?R=<_^KO#A *7QYY&%^8NEH4:^\R$FV?1>LR46@",@/T@.2AXW
M'3<%+**EN<"FP$ I,%QX<VALJ-!$'G1->E6?'RNG<UKGF8'8=U7/EPT_&Q;)
MA5GU9XP\+)=TWF@.X5#B"BKH-0(S#S%]"VRYA738FLPC=9Z5Y%;$UL@;9 <;
M=%EV_^V0$OA[-C(%<P&1SKZC/=C)QZP(<!A Y+CW1QX=CN-HTHB#/T#_Z. Z
M<I-&B@5C0\2=:L#/2@$7"?@L4]L]\L8.0CW$LT& B(P-5[5LZ(8!&ZK%[E_$
M=T66;5PK'#Q#'Q7XJR'TR**)1JZ3JKC3V,6#/\!I@[]!&D4NIP<\-[AN^,<4
M EROL0;)I1F1^P8) 'Q%2+D%7%K\2PI1HAYD+C(&Q)@X]AS9>YG0OS3@UQ15
MC8<LE7#W)'=J.UX<X8--T1[_=/PX0,]G#XO>??!EX%@X=@ 6"?ZR7#KV!KCW
MG@9);ARF/AX?!_?BX.M@, B$@1?\Z%,?\,T#4GM,0QR\)P#^],4#'M8=BI/#
M^$_WZR (D]&&/"\6L^$,DUHA^^?%_W E;; 0 1*;78QKMK(X'^"$I*5FZE:Y
M(/L8$98WLMG6>DT0_C%$BCP#>G&5^.\9.9AA8T,-FJ.&WD,YNE3K,2V25#X0
M#K^?')EAG1/714J5-9701WVVTJ@L 3E($*9EJ-.;#C < LST/,1[*;A+ 85B
MP S3J\SK&E -S6&B:1?_'/ CI!O,[*P5QX@\/>/PWK%[+GRTSO+UV3 2*C,H
MD#NU@, VM/%L%76ZGSW0@>=B1GP?&YI:"&:U](%8J\#W'4$]"]X+7A[)=F!X
M4R"*CJEY"-"\RD<BNK<S9L=J<4_0G3&)7#CJ/V /P60AU\*!@,+1D0@D;JRM
M(*UN005D?X/GN:=5'+%_(]:\C]Q/'G#_O+6<%?A@VS4EINR-Q'%;RXU@F@RG
M'LZH@CG,)<"\+.#U&] (Q]1)NYH**00;)[O:XA+D&=;:0YJHUE?RBLS0?M;R
M6YNB_NN?A6%=03&XS]+3#R]D(+XH%:+LCY<FW2YO$PH3F*L,SF#JANS@:QTF
M\G[%,>?C2$DHB2-EJ&?X=%5(J[5Z2*OK8!A=2#@>N19]LX9GRI+L.SY: 2:I
M-+;9(7[ZS+33]C?#@M7D29)=%1I.J3+>Z&#DR3/]37VR88<B:8K4&-.(:IK2
M37U(G#Y3P_/3KEG/3\SB:#.RF3Q/$5TX\N29&\5>:OJX53>[M7;#L7@97X0!
ML"+H\Y$*:3?-@9 Q9"63&;N",,N0O#[,GHZ<9!RC)=5U#>U6M'YMFQ>WH:(/
MR=.1?,FARN5%:<1+F4U?,WVVSG*P]OEDI*]+:J?JE&HR/F$V;*-G]PT.5LF=
MC,PY?&>VJ5@]OEMF2B/.F<^&?3:NISL>V6QMZEJU/RCQXF"9'C:[@]%F%=V4
M/7EHB:=D*QQX%H\S!-KW5HVM)T=74?9#CT[T+I(;/A;WSLY:[F]C\D""O# ?
MN^[ !+;!ZW*6K9J_]A$;.VN&%2F]*?&X+Y8:Z,RS6'A8H0'%L 1/!FZC=JG(
M+?N^R U#'T# UBJSN1J/E(4VW^*E-@COV^5VF9<^+1B3(O<$$)],'=I2^(MC
M^_HT.B\#@9-E 4<[6 "+[_HCUQ@;B@,&<1*/5!2H;\J/9WV/L5W-F(.H'D09
M40HA2A,#+]XU8- 2Q00+S7&GQA)1=$?;):0C=P)Z0R#PWST9Z- 9T*R C^!C
MHZ!DGYA?^LX2AG1 -SL*T'11!CL>'4>3T-F"Z8.H$E:/4^E%0'] ,T0"3M#^
M'9S]D$)JWO@!D1_#OE<G&A-K_S(-,J"Q2YS#,-081PONE/GH2#,V!P?D1:;
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
MYXNC@:ZL:#W76/Q!;@%.]/U1JP36<3YRS3*%3E9/XQ4S[3G%1;JQSJ<5F%Q
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
MO'L&7.N.[E,F@B> 'L.1,1ZX'M5TNS>^.H#HO8K$ECO=/Q _?H%' B-\ZO$
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
M/]8:DL43Q(#@$0-4'F]8&!81IBMB6 '9 !4I'-QA8LY IFGJ$@-Z%.055+P
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
MABD#(QDL*$Z& 3O&2[2@T]&4%WC 9&%9-6U33VRF^5PL;Q&8,G-4:DIF3)D
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
M\!YH+Y8@0S%!R1Q(N,A))@*;(C(VY6J)I@T08'+0PA9H?U.T#VBDB(:"9"+
M!\70>466X1VP@)*DV,@$[T8P#KD:*< P,G"%8)J@16RZO"S1)59A)(OC$&C7
MPQEG,Z3F=3+KL<:N7)&OW>KM.Y_VP#F8L: 0\*Q,3N=8UJ*C :[F%**SO&2P
MLBP(PH%&I4O+2<#S="%$6#$;[A Y&)QEV$A"(FCM0^L#@@^_2E0@X1WT\3)+
M%)@$!C4@F[+!'8P*+"LB/%: C!90%7,\O ,X"A%)1*:BF$2V#V=LI^/(R_@;
M5BO,$:.YP'A+@U;_/]*;M^9X;<:R>D(3"1$FJ8I2NEO0*_D#W@1YYV0+2&X+
MF,HO6$V;<#KA!& RGD.L2 Y6"OC#(C!0!G0:4-,"56^"->1$0U9DB65-=,#-
MH*@4030 B2#*S0B82%%X7N=LWF85A6$9\< &VC8+7 )&1$(<W&$;%KR6MW30
MND!D#LPP<\0-R<&JDA6$67ZX45T_.=J8I9Y!JQL?T89?5.]:Q9[=51LD.U6Q
MO;SC5K3HZ %M1 &TLPS$8+9K*H*D8S!OQ,2@^@EGVJ)TL*:@H#A3%D"1LL#W
MC"#"'9($-E(0+(,CBG5H[8%O0&WP,MA,EE(3Y-(P$0@8:"6;L6#QT,$[0.FQ
MLF ;0!L&AAQ@"]8"W@0J,PS@/\![AS-.-.I<:^0/Y@BO.+973*6&V4Q<5PXE
MA5!M)%(=:-GP; L@&HQ/@>GPO"%@@#K& 8V0!2_G844%0'\P?M#_V!!LW090
M8,.(;(4[F+$(:V\Q8"R0R</:,ABT!,N#<D>*S'&*Q1OHR&+/9FMGEANU3+3H
M%AEL"UEE,@VJ(AV:"D:R.=#BND4(++0$L$2!(>H2#^C39CFP%P>B+O$B9]A
M24Q7B[=M& X@+3#R J>P#$]$B3T@$AAIC$!:6!&DG&=!+R@&K((BRC+'L(@'
M>3J<0*.,EI-XEHRU@A\34\X@WYIXP=GJ_00. CS;&PV]?#MI9(5V:Z$M9I5V
M2D^UEQT]KM-+Z;">A*N>A.12"R]X$ "V74RNZ3Z.T)FH)LCEC!=#,S<N^4E-
MR^%,[4G@K6'VB;48D8J=#JI^E+9%/X)XW+ZX7-KU@N]^X/TWX>V)D6L._]J/
MORL.-KU5)]8;8E?I9"4VU_!4> WQ33R%%\V]!?F]@-2S<;9FG[Q<KB1B>^YX
MZXS"-.BG6#J"X6=G%)20BV#3=#V+QL\C*V?>CVQG&OF[Z4Z!VC*/_A-9$7@\
MO0=\/7>U.T_U7:*&05#S/MZV#4>;U"F=^N37_L/C88@/H>AMZ.M1;'H7^#H.
M8\V]_2MVX3IF.^ S[28_<HD?/=^%9]I \?W\]]\#=_S7-DZX@AF_&J+;!4F#
M%^\OQ8;OCA9S<N9XW<E#VML+X8]OC00_Q%,OO/<2$OY2A'_MC$A(^9#E?QCA
M7SMH$E(^9/D?1OC7SJN$E'^9\F\Y7((7<_?+ZRD\,W?Y'7-_)1_WI6E^6FJ-
M_,INVVL;;(]//#\]_6Q<D J??BSE=\ETGWFXI4[@<VX_[GSNR](KY)HO.<GQ
MNV3:Y?F%//-U///IAQ]^ETQ!DOW;..9Z;/'S$PY(91'3W09&?\'(B3=R)N3P
M+P?Y:'_]0QN81=0)'6HD14PR-H@7X9A?UR55KZ;+G(0ROU]$\)QV_!M)S[_"
MU?^\U3][G8IP]:]H]<]>^>',J__-RR \FNE@X<\=>_-TJMLLS*L^!/L)Y=%^
M>&$G6>\M2G=8U%!5&V<RPF; -.J;>.],)^C\)UO(CUJ3/5^:9%3.3!)<B>55
M[*'TM%5,E5I>3^=V=9Y8^6UUGD(N_H,*/IV=BY-XZH"7]%$>7@QR"]=.U5J:
M,VM(KE2LB]-B#7B8=H]$487_<:TD/H&'?W@AJ+/Q\,/I.?_Y!)X7V;?:KS;5
MX9S-J<0OI[G$K2LZ29HW+/[UCZ!$6>Z=[8V^)?AAT74<9'U>LD(H\RV@3&[2
M7+DT5N2?0C/ZRA\PRUY3JTSKE6EN$7?,TDK?5JUDHI+RMC["/YDM0VQR 6SR
M(E/>+?G;?HY?>4-VZ@F*Q67OA X])4'+4W)17N;^>*8,P<9YP<:+_!@O.H;<
M21;;PY@PJ<U-#R?534T/BE%R0I257N+'JX_"L$R(_4/H\E70I>\1\IQ<RF00
M=[/Y3%JK\/-!@NED.&D4UX.RDDJ4DUZJKQ%R<HAV/A/MO,3'8F'493IHH*%Q
M'+G,[2([LM*4C_D A,O\2_YLR,@A0OHDA/02#R_B?&7I-_NU85L93S/I1&'A
MI7MZ4.J19:(L11'7'Y-A_S0_(P0V%P(V:7?A/2=+2CZ7X.]ZFZ2V*<XFXG!^
M*Z12/3THW<A><>7&,";SS5'*2TQ9(UFI5,@IK%; &3E;K-S-1@5:U@! BB"\
MK7[U3V;)$&^<&V^\Q(T-I2$1AYGZJ.WX:UQ/\[GXL*8'M16Y*.+?B3:N+"+#
MA? _!"Y?!5R<Y;-.0/U6WDQP?NH,Q4S3&N4<8[[RXKI$@8O,_;@F'W]".&97
MU3%<J=#^?[K]?T'3:!L\R&U*MUFT6<@UW9G=Y=Q TXBO:9KKB#4T^\0C047A
M/PU'_^$-N[[*L#\PW EI8V[O[$VZ:\R1&#-N8YET>Z!@6IH,[+H4E?AP/_[;
M]]AZP8[_Y'7YPUL_?;K5GK^D1O#&%O*K46$T)$E)%Y:QC=0#IUT.&B*\HD:N
MW&G?=HYZL>Y;"+%#G_Y+3/\)22W8"=]BICE6C4U+4G8S=F?.9J4KU. +*"JP
MX8[T%?KR5\:^;]JT.,&\*3%M2=UU*3&<I=:;7J;;6]DL+2O+@YD1HS+[XYIM
MAN&-;\.\;P5*I]*>G6'7Z_:S&94T<&\YBO4'^1KE6X!'#"M%.?[ZXQI%XON_
M(LYXNI@'Q6P!*!)__J=Y)5\-9)Y6G_FS:/_M/?4K471OM]*YG93G)N9H81$K
M-]G_Y62H:5QKMNYFE6&;-,IS4YPMBJ,:K:E.\PRBB+W6AH]A3..[<?!SIOI#
M?.O7V(515?H,$MU:@=$Y1RKH02\ \76^O?+@1KG:HM0.PQO7'=YX#16$JQ7V
MA/Y2(%$%;0S_;>'1@E3L,ID?_/V$6EX5$T-U8M=OAY5J,8^K0MD>BG':X80&
M YBHC,)(UD># 2'O7QR"?(#C^1&'D]7:%&OB75WP-W$#9\4>Y7CQ#1S_M6VG
M']TY?7N5ZJ,FU%_5GOW;][YFP][7NX4(>U]_@[[,8>_KL/?U3^U]#4YP;-\_
M@[D1]NH@:-67'0TY&0DBPQZUBZQW:_XBWB@(VJRS*<4J_12?7)QLF:S.L#N+
MMQJS8643ZQ=RVMUMNA8_U3*YIR_Y6+(Z7:),TS"RW6QWT([73C4K)EK#L%:U
M? :Q78OM+-/KOFS63C4K[L]4[7;>(LZPT.WGAJL$FRO-XD>-;.DXM6G*+:EW
M#6UFNK5IOGTW0]9Q UC:VGE0419LRYJ@=FE>7:KS32%?7QTU3J79GTXYG;XU
MS;K6KJ6F_:D^6;:5DPU'2ZN\HPB&XJK)5J/%$YG3?>=D^\T>6F\R4EV?#$6I
MRLT:_FC 2;VC9I1TC6:=Y(CIR_%ATI17L?BZ*2U'\8.NB1?I?[AWE5+$F*<<
MWQRY/F#&X_:&Y=H\7L9JPU3;O7PO54@,S8:YVD+:0#O%YR]<%[1Q9,[4#/$I
MJGI)VADND+QC/!B8/>H:.N9_3]QWLS=JK]?>3U3J]4H[5\XT[H7\TDOUT*V2
M+MHS[2@W?GJ44QPKJ3I"T3,Z!;<D%\[5CO(M<%O88XP/U%;^4#O''0P+P%Q0
M?'GWPQ;*!;^\N>.CI-PHRAEZ/HK\#1=V WN'XW6VIE3L34CWKZ [(]R(83.P
MD./_'+J''/\=VM^]:FDOV_[NHTCG$ETD7E$$?PXA7I7,3V^G$9]OO89];Z7M
M-XZ)7K3)2L@0U\X0H8K\WA)QO ?U';OVB=?5M8\&D*]*+X9<<!DN4$)E>$W*
M\&H)<7YX\+%N=-^2."&7_$@N.5>>\&?HT_@$CS:^XT>P_^N2R6B?S.IGXN6/
M9]Y=@IV_ZW3#M?TNTWWGZ<*+*YC[W#8Q>%ZC[WKS&.CA<030LN>NX%4G3QQ\
M.P8\Y[&@"UNZ'Y)S>U\=@>;^!(S3!+Y)W+/-B9Q:JV7-2]I82J#DD%/;DE]*
M=>*];:,)61"CLG21^K=7H?Y"-GW"IHI>74O=FE'MW:*DG"W>*G51Q,759["I
M77%CRPK9I%&E,FQ5BM:D5,SL^DC(C!)%W&>4Q?ULW5]T)[U#U1^-F-OND9$I
M$ [F&:*4\Z*4\/3IN<P095\JV30][/F6I\M\UV$3C75:6V1F \%IXX:#:]N6
M (S$1)'PDFB'/!_R_'>R:6_C>5QAA7YUJLZ&LY%9N"M7,BY36VT[#C ,'T7R
M2PV^OKO'LC#FVYIPKA?QK]9]^3( ^<<*X]D-T-NP)3@_J5C;:VM(Q$);[7=)
ML;3L;4N[@_EAI:C"2J$3%/+PEQB4M_&PQSO50NLN55%)9IA!:+A(I6>T:#@8
M%(7CH@S[4K?KG^0?16!)IYX[(.8\@GV?S/W[(VP[Q^E__,73<01ODH*33"-G
M0NX/-]%L17J:DH[A8-KP,^6EOYG_@.@LIB$@_>:AXF^C'\Y\OGZ'-A]T0V52
MW3)_/.#]YR%H4UF5$V//6X"ZB/E26HNM,^:N\#DK"E%)>DECA%P><OEG6,'?
MY?(QKPY&_7)MBF;.U&WWQWF^(=.ZW& 765F,,N]M</[=S=]5P-)S[PS]L6CS
M8B&[LCLG?GQB%5T\.84W2WV.LT8Q#0\SOA5;LA4Y-\_TME6T.86+BLQ%BAF&
MK'DUK'FQR-IKK*DM9'V<&'9Z6MLW-366ZS9SPFI;(UMDE"@OO>3,7ZLK] 3<
M/#Z"'#@O8:K+ST5VWVO^X6)_V\7^;FCVO[O>,2$N""L,_@YFI5MM%!Q03PAP
M01 PI9^3[MAP)L2*CT'23SF''47HYF]ODTFM8E?BV%@6FP4CJ"<81/Y%68IR
MS-LVGT-^_;'\>G8@^V%^S>9J<9=AJ_:P8L93G9S!3[IZ;5?QE8G*G/Q*U.[%
M$IB/CO*_?:%N'AAOSQN/?MD'SQ]7#+MA%#(^44S@:86 MY1N?%3$X/AQP:MO
M1+*W9JQP@^Y+-L*TR3T_1>CABPB*(/K>QT4!WE']YRVT8M]"J>"=L1'>N(OY
M+]M9$^LQ8?85)[=R]=24OTNX#G4 ]@G=^7A!"\A'<AWL?3Q5+0>"_QBH/%VZ
M=PUV^Y4^YET5(I,P1^Q,(J-3FT0KXI&(.<*^[]@.L2+8OT^K&SDX0%0.#,H@
M)E[X)#+O$_CWT?T8;H>;7=.AA?4B*V?>CYB[%X*#C[W(U(5W['>B?'@"G@=W
MD?44?H![@.D,0B_>W@XW E=&-@1[]V6_CH7V=+G/G0NX9=NSE[(]J/P9]VG-
MP?U!\7VA125*B10!'08CWT3ZV IT*M5!"SR*F!ZQG'G$QN:>M/",?UU:<>\T
MKIX,WI[>OGP37SO^_9^*P/85>WM!*9B1/EDQ\74S73*'R<8DK9!2=EE.UCX>
MMWCTAOT02GA-:QW?![23&$0.?C]4^F7L>;K$Y 1?]4MC=99LIG%7CV5'I/;7
M/VR4 ^*S)WI^!>4N_USJULD8Y!#(^C;Z]AN%1KRS*MEJ)E$NS6::#P]8_?6/
M("E1@1>.J;L";8&7V!D%!H)F.5D>7@$@6@&1IT!I"P8PL6XBN4F$:D1Z5Y2J
MF-?E!@C@!L(#+XP9M'+GI/?]A(?NRNAE=Y+8#O#$*I>'MI;.+J?.T(DI<B8]
MO!-<'/\Z&5+FXZ&).OH,.6JARQA(GY3[=(T9+BJ(QQ)T\[M%8G]/E9[,FON4
M53_GOEV#@$TEUGT&"P6^)U>GH X;DVZKIVMMWK!EHV--N%O0<!("1"L?AVNC
MIXWZ,YD?S'WFQS51\#[_9TO$%_))MR3D9AK*J-6AUI9$3^=3^4K!ZM%-3B[*
MH^-LTL!$G*;BU=+H<>[M22+!"',QNX1*PXJ[P/:B:]9X;J<%Q!.-7[<PT=\^
M/6)L*'M- >5MHI'I" ,_42*2V<*9TI8%.Q0(+]I0K8T#-^ZJZ!E(;75$K!YX
MH8$$E=UY@TRQ!RAW!':5'CDA5G5'A2JE 7BPZIX")XF^3 K('+?37;39Q,HY
MQ<U-6ST0;D9AHPPZWGZ/1IS)$A[F>I]EZ3Z7>KG=[)X!(YV)9%>K+#L4"VC>
MO66GPMRG+"I$%>$8BP C>O &!V29\B+U58)HR4\D7'4[TR*,6O-)G4[S) EC
M8\Z23"^91(W;IJDQ+)GG:W&J"J.2>(K?:"<TSPF<,A/[_4N0[J,5ER]#R?K]
MA),PWY-$;/I-=G@[W.C#!IJM):Y1D+5-G):REH$1CX-,@&]-<ZOP/, SSG+?
MG^%G4S*^FW3]?LXGJ<F87I\QY[>UX699$F+#1+72C(%4@_,65;CCWK?1P*K,
M-_=M9'\()=5@5B<I>9)NL^ZZL,[J?D?-]$;Q_+PHJ,D&H!I.XJ+2B7-A@4$^
MP(#TI\<A&7_CS\F8*LAMC/P'D'7+H$]2XFA@F4ZZ2N?<V$[Y-(D'^<J\D5DJ
MVOAVU65G=C'/-VM;[U=4CBW.YWA&%,I%#I'IA*Q&FXAKT"@;Z&IKX5&<1=UG
M&C6+$'BP=>Q-;4$<>-^V.QJYJUW)EDM/H#*)Y/%D@;W-([<NB2?8<O D$BP-
M7$ #I(6;PDTDJ+2S;1OM1G#$=B9X8@8HLN<1\H N2\[=HN]&$G@RC$:*<RL*
M;#-QQW#YMNET)%_M1".KOF/VM[<&<4:0B*5C 30@2W>TI(]]0/XKUQL&089M
MC[I'KP:5@Z=P*[C9@:2^60'!&/2IIU3]PEHRD3/RTMKML$<R\=-XXEXR?&^N
M)ZDZ)1YH!] 3P.@/\08ZYX<,T%V<X3[0M-M/"3H1;*:/;MOY!HG-/>X"T3A6
MV[OG6>G!M+JQK2;:. 5U,E%RB_7J"V-_134CMB>S2AV-95[H^$QM%1? <,A1
M_D1AAIM($X1A>_C.7<Q]NB!T)1_)T *8UP.9H=6+[ED+C V\^1-"AM]@A?M6
MN6&IR1R#8MW*PFUS<;W!_T96VJ,5/KF"?JI3S2G-BJJRHJ*[V6:JV:%H]/0*
M1O#\6(-MEW7D@K* 97ODCNX=I4U@Y$X L.V=#PMMN:#>)NX\6"6Z5T%CCCN)
MIU%Z%YZ' Z?5NT?%,"S_<Y3^(YW)"O<ZLY&+),EHY$?^[L P^V32^T\DZ=X$
MZN\MBO-(1=9+B>A6F^)(L@_K!T[3 PV<B3]WYHMMS/8Y1?J@/D%ZR?JITKR0
M%.FL\"8ANA>@M.>.:9 6I J^YA[F]7;1HK_<B]<)_XO"C PL&/ ,H9?LR-E8
M&+X#AL[;[-[$2U6MJ91B4S7#*-U>%K7*:?\+U>IHE1JS5M7Q54?-I.OQQ6@J
M#VE,@E6BB#GV;@++"H:[YR\B5<H#$W,G6R?5[&DM2[<-OEK#?DOFJ"R792L[
MK@XK^5N&U'A^6FW_1@K[JQI9F(G9M%@MHD)MKKF^P*.X!QJ91U&&>Z-*WJL&
MC_IIH"DC=/I!XU+**BQBF5W+.99]5GL_%[FA7WOW=*-7[K74 ^F"SH>-W-7I
M]Q+V@&J,_ PBKNZWR]\(BI^!OUO='L#K#RCW=Z/DRP@UI[/B-E_NW*AI_T=M
MXC]L+NQN]-T4BA<*N86V*$^\H6$E,LGL>>#1AS2U@3>3VBB[Z P=I5Y*5T@K
MUT^ IN:5**N<4-1T-[9QG( !XU^2D3O=2VC &U>IP<^ZVG:R1%)HGF 0>[O)
M6\*$+^0&Y]FF/;F:+2U?[KI3HZ1E1FE%S\?\HJ[U:,V3J"R?"N=\1/4>:-S%
M?MZG%.OW4*&_G]]]D,OW_?LU<V&_YD<)7&&_YK!?<]BO.>S7?)%^S7\%K6!W
M#7*#K8F7F^GNF^2^HZ4N>P&%]7)#W9O#MK>15U8&UO"\$O%VEV<3D1]'LS[@
MU@"8W+DU6W %GJ#C^^0*?!@.7<:'.16!>&7[:_?8+&+CF[FYJ@YG [LXF'-:
M<J%_82PJ90S'B]*PD4!.9V3>UG&MYK0 $PLH"H#G8QX.+/7( J5PG4&J3V2&
M8IUSLD-VV4:%&C$FR?+2:3<O&'OBI*HPF97)!F4J=WRZ,F^WF-4+B_VQV-.S
M(:==5L&Q(]10XQ%_'UW:Y5T%SM&;LOW'9![!HU'PVVY4=#C!K2=<I\_;35A,
MR,FMA#]P_X#7A0]K8GI+934AGM]WIH\VW@XCN1<2TBZNR+%1Y6X\;%2FMRW>
M=.>E[!=J;(W7!B/1&6I:HV3VW$:AF58T&I/B0(B/$\Q^S.;!-V2-SKHW*>7O
MZH:Z*'?O5AI1AYW1!?4W4QNFUYW<O*NUV;KMDX49XU58>HZ/,O)Q'M?']#?_
MPI;!2_G'/WGC8*O*[W&TNJ"4B"3!#9I$5&"_'C5:<=_!7[IUL,=B']+G[TN;
M$756?GI0YWG12N^'$]_/?B<^%4]:<46V+6@+L>+SHSZGR>Q7[LMF1<[IUN<K
MM4!:3#$_XE<H.(H554Y4Q+[68/]W7[J32].3JMD<GQ$DE?BJWF3\^ET[24/W
M4>&4S3LS<#V1TWDBDG_E8'6TB3#",SNC)3Q9V/0P;9#S^'>S3X\?3JQM*LQ'
MD>Q#6,'?[().IS6>_ZV@K*0SYTZ%>2N,$:7Z,)FR,K:V*<VEV+*E+7*9\^"-
M#RG,09,5AR@S\+4,5YAVTWJK8VUH(@OSC$,)J[[GG6^D$2^1P/+6)=4FDZ44
M%W-IU"A/M7CL+C:T[RZH2-/=RL"5:LN1NA%'\:7&9,LQ4-S_*$P4G<BW/C^$
M?#[KY(SP\JI5<8-,Y]MQB_MAUV&66>J^)=U(L9C\/6W;^+"V';O6@A8E64RG
MH\UGZ%I%9_B+QPU$P2RL!:TRUI+#DIMQ>BZ;FWWA:7%,%-PJ+)8B:A1M?X0:
MTZ5?HH>?6"XJH1-N'@6BP0I?I4[]G:5+^R:78)?U%7(V=K]B*D)Y95PP@\2Y
M=>^*%7M806S!'JF9?DNM3FHO+,TY4DC>$D&]?JU7,><N'37#/%5Z)7)W%]DR
M"/P5E-]O8LV=>_U>W_K351^#@E)PGYQ5^ZS#5QA4VE97$C!JV\UL8]13G/GD
M"Z'G$'6:<52V%96MF?-E56BNG1'XZN(+^U;?3D?^,4M\<@D7^FR^$O3N0&5S
MXSHKK;)SP7IA"4-=^EY=RC[GSX>9SD^D<%\:]&Q2*,6GY6&]K^HH62J61ADU
M-B];7P@I$XMLA9F.)_:P,&?;([^[Z68R/=J<*:I()[R^*PUM7L*1Q^YZX16:
MQ9;JI%:+K#OJ)F_-2Y[8TVR.Z]<= 67F!:W<G>:G#!-_?JG.$>K\K"3ER&44
M8)#B1@X/:)\L+V0YOCER?3I3 X89,8*CV[8-S.W 5QLH,J>,>U_Y@)8)\",V
M<,E;"[U.@9 Z,J1,&G@_I156K=MZ1]4JZJSW\E%]^<E1?5F_$P;SJ9E?J5J;
M;<L%26C/4D_KF^3*Z0\V!VT'N6G$BB^)AWLDMYMN'69;@9_H8MQS9XQ]7.E)
M6-]5Q)I%$%GVUG?-!D%W;= DZ.9$].C?5-U?FFSOKW#P!63+\^-*49HKFLI.
M^Y(S3/IBG^Y?R#?LL=?X[\@4A!E/8%A?GM?_.''S&C+[^3"S/\SL#S/[P\S^
M,+/_$S+[\;XX/%<MF(9<WV303/,X05%BI8W; P.-_MJ*XOV54BR3U)NZ80S)
MN#J?MCRY-YWT=/;XRO:L,;/,@C1#&2:=$-!0GRN%GLZ=N+)2'G9R^92A.D65
MR52GRT5C'M?YXRNM-%**\^%20TXV=2>[^?(BOJSIPO&5CEJ[[>C)R6!8$-BV
MG1J5!\JZIXO'5XXW;F>EEO+]X=B>*WV_PDO"@G:_/;I2X+HQWK.*794MK@7#
MS_KMIKC2Y>,KY9SMS;NY:G[H9(ID)(M(JZ":KAQ?.9'3;5&/IPO:)C_3S%6'
ML/;=KA?:TRO->-MHPXN[:GLJI\P<28R]+%VCHRMKPV:LEVC%B-80:N6*M]HT
M<K&X'E3Z?WHE&U=-'V4+G2';&JS&8IV[*V;H:AX]D^VDO39IXRG**"/<'?7'
M\XVT@BN/GCG.IY;I>-U)# MFPG8&:\/@RZM3Z[XA%M^\97K.$*^ZN&Q68DHI
M4Z-Y_X=7]E9J;M)))Y :*Y7*?&>B%*=CRDO"T1JE\MD:DVFAH;/HKZ5)S4,I
M]B0O]>^T4<QU]3C*].]6A5LOWFG:-;CRZ.WK0:NH9DROHXW%T<:;)>R)45G1
MI-C#*Q>#'I<M)K-Y563N>@W$%^4L=Y(_UYS0%$;EI*:.4S-_W8Z14GE KSQZ
M>P:Q6C\W+S10([N,Y3&3)G(I#E<>O3U15T89#V5<K<!R7;\VF/LXN3K%(85"
M W=*_"H]K-1N^TY^<J?/6JM3Z]YH<@NSKEJNMA"Z@\E<;A5;X]JI=6?KW;9O
M)YN3(19B[0(O9ENR2Z\4CSA9,_3DLGQG:;/LTA!S<9!^FZ[[T=LS<P^-8VC5
M&\;2Q43IKI60EPY=]Z.W][SA<)[*+27-*;KC7F,66W66<;CRZ.UN][;%31=X
MJ<[,9;XK\=V> [KN!(<HK%.R4$.L#)W&G6AH2[^X7)]<3=+O\I4T2A6&;=U-
M36Z;2/&D^"EM,ZWINC#LMWLHMECWM6XOZ3!>[9&V>?]IJX^?GWK9*3\&@]L[
MIV_N"1>>ZMJ1,KV8@W\<F7K.Q'2F>/00T0D*3\_[Y'2\ Y\H/O?DM/997.N#
M>LAFG]#-LHI=PC1CC-:,K]B/W>@ M#?AK8F1:P[_VK/H5,I-T\ND550KJYY6
MZ.JKANW$_XH0\*BG\(*YMR"?P:IO9,YW=&C9#D-\Z+@2N'BT]<O^AZV#%_SR
MQ U$#YU/=M<\N'3RUJ.;>_M!/.I)\]=;&ZW)W W_8A>Y1^CPT?-=>*8-/+6G
MT/Y[@$Q_;5WF%=#D56_U43>:^TNQX;NCQ?RP+<^YPR ?4DF/>_3\;ALN*23\
M5Q">N>'$D/!?07CVAA="RG^<\N?J#_RJTC_#]%G$HLOV>GU9?9ZMC>'QOQ?M
MZOJ*<OIA/6Q?TPAA^\;G=Z,>X'7]WANHV-6]CY";E&%4S149+4D)AM@_U:^\
MXTE^C,VO[C1QM6&K1:=JM&+4Y>=H24(49<7CQB0?;NK[26J'.4N/U$_2+N=H
MDGH5*B/4#-](,W0(]IHK]X1":#)K9D[FW$*MX-6HI[#SMIV,ZRQ5""PO1!7V
MN"/6BPKA.P,4]D< E!".A'#D:I1.WR-'76KHUH,ZDI@I/[M3-QXSW*A&]\[.
MK;9;.:PD1L43N6_?'8=PUX%#OL"V7X52"77'-],=:7?AG5 =IG.G;::SR72(
MNX5".S&;8K'4V^[#\@@TQW'MAJL%+'P(6-ZD6W;;,;N 'S-=TR9<CA79I_M]
M=]US9D#SV>0(E=:#TG*6I_!.)=LLUW6+P5JR(L7ZY7YQV-S$M^D;C!!EA..T
MX&\-=YI]XI$@1S8$/2'H"?7'&?1'G$K3"RHDG12X96/H-;0&5V>81JUH-X8T
M9XCB'B:*3G3VO$[<TZ0MY4+@\R/T2QBI^0:*YX0RT9G1[6;H>%B;V4RSG4Z7
M]*6ZTJ4 CT3IF4*)>Z<?]=5JHTA\_U?$?C9S+A)D"6S/))]*GHM&S(7GT0MI
MCV"8[G4@FS-O*UV[)W7U#A/5-7]?G;+!$[^*-S1#,KD5HA,ZIZQE:]-FBM74
MRCA-5KE-#4EZ3Y=?VGO^SQ5#F$=:Y@6-<D6@YCOA@1/*B@.QM=P%S=+]%&WU
MKT^/Y'S"#'\^(BJ[<T*K? =*ZX2:LN_L9;?%_W_VWJQ)6>3;%[X_$><[&+WW
M_XWN"*W-)&+W/AV!B/.,.-T0*(C(*(.*G_[-!+6LTIK5TBHN^NDJ*X7,E;\U
MY,HU* 5>G1OK55DIV'5Y)62AF"*!841DWKP1_Y\P5OS?HTYIMQ+*?NX\B^/(
MQS"Q%Y9T42=/$GNW>12[3/J$O+9ETY7=K\_N=2IM,_@/:C\\*_D \/M->12P
M0LE!$@6[F^%AM0'WA10*NC"S*K5BWN*KCMZGUMG!9MQL7S^%XGC3?U52!8D\
MI*DXT/E;DBJPF.[?$=J??B#C;);OH#S^0,8Y%3'D?Q/E@9"/M>L7"/\>STEH
M-7W)QKG<VJD/K/V-T_AKR_RDC?'A=5/VZQ5E_GDC<_WE-*7QY8CPIO2[.AEH
M+UKVKAQB]!N.)B]*A[?4;XR&WX2&MS33-Z'AZ9IC\7]3XO_-BF*O4^)HT[^1
M-%LQ<,7;LZ_R!ZP*=U_Z(8;+]\(E&RN0<]V\7DB''"QW[KN>.@V>KI>;68[W
M/-KCLE>Q%] 8UPXO.[N%=Z'KQ7<7DGYVOTB]WCMC]T=^5RL]C.",:L3WTHO^
MNB]A+994*N5%(2W)'O&)2MWAS0]\+JQ#[_@P2.GPTJ>PK4[>DAW(QJ)R7&RZ
M.Q$ZT@@O&2A>1_K60M@(2*_EHG14'(]X>#6N_/RHN8SV>P+]_URM,L=/YX W
M.L*^Q@'M'%EH=TG/Y7VLHN>1>LKGLO0W<<"H&6!FW9T5-8P1T2!+,&(':4=%
M'XD'BKPJ!YQ=H9_@@$^'87Z3 JZ=*E4(\/RLSVY8<AK]9Q>&>9;PR^]3Q+&T
M^9"^#?NTP$^X2-CD@FW3(CH$!VU*88.:%NQ/PP6N)QN[CBV:6)\7RB-189N!
MO>EV6HMI@"O?)(N:"%%/3[2>S??59G7MC/*TVX%%@D-M3*+ODD5WJ'1CM'](
MMWX>[43-T,8MOHFP8F_3JU0+O9F>_2[;,]_/M:=Y=IK2FD%I,I*DF;7F(=J!
MYH6HO 3:OUW!WM/1]Y3FC4^^OUPV48+BUS<BR2,MWB@6T\$<Y3H!_5TJL]$N
MYP2^.5FP02M%+Z56H3E:*T(:JDS\ <7C VP,Y,^'B%\1R-E4G4UA4D;4R ;=
MFMFL(.9*$,A &Z8?B.L"^1O4Y,^,>G^[$>&N/>RVB2GXIO0873ZQ7'"T5<WP
M4"L]"S/?-R_TK&U#11GB'4(P8AAK"N]&GO?E##LM@I]M (D@F;!UT?3"5D>P
M_V/4K=,W/35J5!L>KF'71T<6I2!JC!S.R)/!HJ2$[\I1P\?=E ]F*_D.[(X(
M'Q/(HN,FHJ\\;T#YO-O2=X;/[]B6C1(+7HB;5X2!4UVW6RN^V<F-V8VL3,AV
MW'K@Q2CY3/8AFSU'H#SZ0,6A?!^(9SAC#&7<]N%[PH:1!R(F?(SXWT/X&/$Q
MXG\7X2/K*";\]R8HO&5;7C9"]98"[=X2!+=-";!N^.'_^R/]QWE#,],/)'57
MX8>P&IP;.0I9>/(^'>)^B6COF)<NQDO''H';2^\(+;@[8A3HA+IPG&Z,@GM
MP66#^W\C"B+;]KY0D(U5XEVIQ+NEQ%NNCJN#_[_O2_[%&Q]O_'UM_%NNGN_>
M^+,%K%U!W>VKP!W>G(=1X-@_SX+#+QLJ<7%P7R'8Y]P"Z9NK03X/"L@\"0K(
M"$*Z[A3-#C/2N-9F094;^%2NM3]<'#*,'MCAD(&Q&LPC%I_$Y)ZH%)G.,3+%
MJ>X"*6ILSIT51QZ2IZ-@;Q1/8AGBRB$_,8YO'L?4$QQ3PB8]]^Q)9<7R?:Q/
M53/I_B+_B2*G7\+Q/' 4:Z5M>*W8-,@&V5M9;4>)PKC1=))XM2=PC./KV DW
MAN/W!FE=$\?55<G*MKFBH:7Z;MYH#A=C;PQQ3 (<(\E,]C5Y_-%4NANPCUZ.
M_SM+GL4W<F&L-&[!^ GQU8+HHDV)W6'K!..-QA[/U6<-#NE;*8/@T:Y9Z&]#
M^&$W$>0RB4 Q0&\%H-]DU;P;H%.]VZDCV)Q$BI-1?I;+YV>U'!V%YJ-)E'J?
M@?.# 1J;*Q<Q5]X-4"^]ZBH(*?,\F9(J1=ZQ9:W0!@ %I@N6)+'7).A=NGRV
MA?_C<\2M7<+>&.->R/39-05YEBYR@C.+'(7D\WVZR/LU(>=F>%=+&2N!#&T;
M-)/,9MZ7U!^C.D;UI>VE]Z,Z6QGKJ+7NI[0FEV*7Z0['+OIM@&IH$"%D$L%C
MG\\G?3Z_%]47,K+>C^KN9FDV*NA,0ZJ^K1N^4!H6'-@B%UA1%)K$L==J0=V@
M RAJ([?/)=WE9?ZRL\DI9?&C.Z%]DPT4GE_*6XR=X*Z9BZ[4E-9+:P8[\[JI
ME>!L%K20B:Z[L"26OE#!EQBJ=P/5*QDV;T'5\R?SLKVH-9" *"M>H;7(9WP%
M0!6:-Q@X4&?>5Q7P!T/UE+'RJZ!Z)6OE+:BZ 9$2\SU^KAE*KR!7;<]EL#:
M*K!9LD0R0[SI^CEOW8USYWJ!2<%=4$U?C"9_$]/ZKFZX8<[;0>K>1)=%!_+J
M;%>>8<>*\"7GR-U[,;8,1Q[9;<MRA121?IZA]W__SY-4PZ.CTE9.'"QDF^*(
MA2)#D5-1)J,X!>_^6]178N#NJDH0#^F]#/H;>3(Q%'O(_"?Q^",DP!'U#'&=
M.J#1DW(6T;>>%K38?O9&.N5V(SS+/M\N'$@YY&GO5#$Q<Z!X^J]NDSF%[/>^
M(?H5?A$( 2"C]"=AD]N/#L  B02/&&%I$6N:8*"H-+W'3JSBEZOFO!#1&%*
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
M9CFJMYNP^R@/#RIF/Y,BVRDZLB>&T)5%QPPK:1_ &<AD*+\=";J!HEK=4-.
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
M$+G*5AS!;\UO]>+K.8LHN4ZORM#N4 OJS8TGY3TAUX L0L*X7B))XL=- GZ
M^[,BVJ<-QO@\&9\GSV9B5EK"D,NW TD<#]E%G:UL1K+*5W/W<IY,UTMTJ34U
M4@C3V+3+/%-KU5N*0$$3$Z.2*'E\&1[S5,Q3%[5) 4\U"MRR6RY-);ZZ[K)M
MTW$J\\:]V*1KD<%*?3$]U/HSM.W8G9$H^"O 4\ FQ3+)=/KX,B'FJ9BG+FK$
M IYRFYAJ=+)YG\<8B2N-UL6,WKP7/64RS;6ZF!3SR&(Q&V9R9 =EFVW 4]"(
MS29Q_#6>NG7'9Q.6?KV/4^F9(VVNF )Y8WS\47O351="B).*[ZBNI(:3VC=[
M\-&^G#&[.MOW[52G;;7&9FEU)ZS=;D['8-LXFY?)KJH&9;=NCF!I6F""DDD,
M/V[L$;/*KV*5CYJ1K[+*-#=)=0/3Y#1CNJI3=:VR\MKWPBJ#\M*2D?)4XX-
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
MH&N2P"#09==-6-#[OE)=:"5+X&SO'6[<Z_+\J7 Z)76 >IA$< CU;G0:'0O
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
M, HE?4(GIL=O8J?;[I_>EVEO;[ZO*Q.)WF7)I(7!)_2.0._(I&G'IP >NTL
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
MD'( ;]>EU#1JA0%4S+ &&2X*'^?*2\NTX=T>-+,3W.C0T0H3%BN',@!@CFH
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
M'T4@1RT(Z\L<N"UCJ"US7':XW$YH1X,M$V#G632-Y,XR@BJAB\^5%L]K#2Y
M#.6Y6S5:_1K)+R<%<>232G^#TU<J+?09.:R0E5' <U8&U>XQIUBH^X J@-I'
MI-'<<2W=&=IR7D(?+#V?SPXV)8MNXAB\MLCN-7"-+ZUC[BB!W1$"&]+!:SR"
MLQNMH3>FEII:6C<4?J[DIF5E$@[^)9%CGTFL/IDX3:Z8IA(-]?SD]9RJ9 GG
MUJUBR^/+KM:QO8%2,C+=23A[F'S-V9+05$)3WTS1/96F="V##+1)U6'+V'PT
MH=V1;8\A30%M%HOQ?%RU!Y,UI-]$L&])'_T <OY.7;._3U#."ZIUBRD,,^R0
MFM5U:KO(J$5E$HX&?T-0[H9$7D(*20PNEA3$@,L3'FH4M)6=(27)(DEKTYV$
M(\A_&X-+2.'KD\)%U+K.:BXJ^'1409C\FN"I[)RNJ&_W1+R/%.85=!;TG=Z&
M):Q9,=/LK9S[N@]( 8:CD32!O38"\:(3&\XZH^%W+80?6PN]V+[TL%$B[.$H
MB**WA%T/92EER&[*M&!O0ZAIZJ8#^P1?HHO@!X\$:>_/T !'8 3;#L!7?;!#
MYSEJA=V@+!+1-5Z09@B@D]'60[,N/_.!N@$P*Y<]-A,@2**VR[<"F-"F>ADJ
M7-0GLV^R&TN-[,A80)G+K<G/%^L&CV$JC_:=@5:8^K!S-I'&B>/V95&?/!D^
M5$Y-9=>'_4(Q!$-VC?7Q?-2$-6Q9*2\%-<S1A>W+IC+XCVVK41=CN,EP(?0.
MW%V$?OH'9+)O*.NDHH+[==1*V)"5L#X_)8>=/0'+A0T>)=F5[:5JR _]VAS8
M/C5LH@P[H-J'#81C!H-%,(/-C<-6SD#,;&4)-@D->VP!@G3"9EP/>TK#WJ$
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
M@*,]<L]7MC:-;%G-CVK NL2&^3J?X:@97$D]7UFGQ-+(:01KGF 9J4A5L H
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
M#:&_PKL_?J%X.H\?FS11SU9Y+>NF!5O@IAS97JN &%*6;<)R$2GEF@#;P<>
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
M1S!](;;NIW0],.$54^DL1J3)W&?HSLG5G7)UJU*'+O;(U0BIMTR.K#?=X7H
MKX[ TVA,K6>L[GPAU?D]-WH%VM:]Q9#UZJS81#+EDM8-ZH1J,V^OLO^S>R[/
M[7O&1/PMC[%=LE=!2GB1 ^8MN.4LE2:RGZ$])_?YY_=)(NB&S#D2I0W+N5ZQ
MX06#$>S-BI%IBCQ.B_D#!?JR^O.S*/RA'_JA)=B+3<-VJMPU*0A7WDZN+]0T
MKS>[%_C '65J1,/;=-2WRYQ0']QM/1Y_@UCLK<PR&:DMR%6DOBX&W87M:5U8
MYH(C>)HD8]K'?1HO2N[QM7O,5:>D-UW5 Y;IYGCVWD)DZ1YRH321CV%"Z4_T
MKUWY138[]QDJQ]0(#6.KY68E,Z,"Y \[%__!1<ZH-F?W,H+'UG.^7B>Y6ETG
M8$.(+)G&L\=95I_F64NN\;5K5+6VW2^/[EU$("G1G H-U.W!:TQCZ'&>P%][
MO?VS$CVN_#+7Y?)T20P&8VUH;);K15[ ^.SEF.M&V9BKH3NF>"[G,OFYN=2M
M.DQ\I- TDO\,DSJYQS^YQTRUBH^ZV4R3+RO^NE[3EWU7"(DR1QX[*_^Z>C6\
M_;_"TOJ[>=/:=[MY:1RTIRMT3,ZVVK(GR??JLM*L]2\G&++Z/-]"5+/ $H/[
M+"),]38-6^KA6!I%CS6U*]:WO]O-(<%$:'HZT]#:[JS#-JS*O [=YUA,2?EU
M*]@7O[G-TI$YVYDLD:6DE-1FS9BV<Y?C^_E<M51OM39%GBB91;?F%<32/4P:
MP@#GQSZ#Z)*K._'J%K.Z/)SKV:E&W-<]S&SHN H;(J%I-*;HZ/KUZ(O?']'O
M8NR\A^D\84]LK%.JNWG_<DPS4/V)( BFP@HCH]6H%);M,2SWQC \G<M_AJ\[
MN;H3KXYPW4U!&;<"?L7X-"?GA&*^"F=*I)'<L6/PN;;\GJR/]T\*?MX5[>HG
M!^>2R<')Y.!D<G R.3B9''R9R<&[@;RA:O#Z\-[=4-[K'L/[T?C]EF*E%]Q4
M8?)E[%"XW\^#N^4JFA.&&;7JPF+#HT1'"_J^T5FU4!>K_7$+<I@CU9Z%'0T>
M4P#;LX<>Y#14 0YV'I\=B.&UABG,LT.-D#N*SY2*/3O[V,WWZHN$3P"[I2D(
M,U,:+8W3<PNZ6F\N2HT_'GSY,6"?>Y/.S!B--(W8V)WFT&C4.]# C9G,=UJ*
MYA-B.O($?WQWPZLFHS/F_?0EMBM;;FFF!4JE,:.6&MN"3J5L+IU%8GHR79M/
MZ68!3X_MX5;*YRT^F'C#^_EXVU9@ AV1IG)Q^590.MW3O1.A#U9.F#8QSN0)
ME->P=J&DU^M=<U;X6+?">=G8&:%?Y4O\V,_/&=8K9QAWDEM,VG!>;XX"\(\;
M[GYM#IV;A;Q4%P6/OB<=;=G6<=G)YJ8D$DY*3N=C6A)_;OCR9$6P+)CBW!,,
M)9)>EY96'U7^$4V(.C@,@.9^\/;CZ)FM.)*HIM#7^$S0&M/K=:Z/T9=*5+61
M17[>:HA+349SVK1K3GBO#>MJT30>X]"[NLCC+<.^,!A5!TI7K/"$UF^/E0:O
MLK,PC!&7\ U(=RJ#G<A/J&,JBV '-UTD]5$W=7DUO9]O#M=E?X1I94NM9$?\
MI-\D8?>[E\?4.][44255L"]> OE:[LC#3+"G<Q;#N2"_G9QYH3'MYT6_%P9I
MSFEG99B2W4)6OG4_J7;[VY9TD9X6=(DRIOXZ4T>$49UKUC;"?$)=P/+^*(/A
M5;".>C6OW2W42':UPJL3RA9G.GZ1EEQZ&>U.-<7/\&5JL)VH+<NK-_S;<6B\
M"M9*QS3\7+920NISF51=NPBDRT6PM98EL?%ZO/(1@ALLMRV:Y@-.B:I(CY/H
M_M") 1LZ"S%UIK>F$/XQKWFC+A*[MX>YKR>%>_7RR,PU& G1B'%.9CFA8J@=
M6 F"H^E\[IJJTK[\561[ :%3)=QF(19W_66QK[>A:RF?1F.JZL\R-NA*A<7E
M+Z-6+JRE>F94UY9E7O1P7V/6%>CP0+$T^BGUU-_V*J@&D'NH5'60]IQ;2HN.
M)ZSGL -Y-IW-OU15 4CC5 7U3VGC2B3^Y2]DTIK+='M;UY!,A6&[=:9F\Q.8
MS)Q#TKF8&[D=9^#-744+9YT!OF!66L9M*J(<U#?9,FQ?B*3Q.+?XYWD'?V^:
MR@]SXP_-TK?/E+^0>?JQ_/@W4^8'G-)<<);':&45:4R<QK2#;B[2/F;%:CGT
MOI:Y9XGBN-<A9L1\/E5NS9[Z#7AKR"Q;-E"JJ@6VU7.VD]G*4RYBKHZ5+E:;
ME#>T1A!>#ED.]9RD=V%AR,W94%=&$)=GQKV!B,K,HMSGAS1RGY$QMC:<PU -
MFB;PF(:R-Z8RWN"-:(I7+/CRK*JM1NV5M/$Y"1^&06,D9K;5C6J.[^9ME[\7
ME5Q2#D9,-+X,4'O -1N^2\%[0=-H3&?N6U,@;_!&FI5BO1$4W2U?QMVMOBUI
MPRP'NT&F22JF@^M%],B7(LNJ(7JV#02?:#KNF<:77WLL[$T8PD XT8:T:]#D
M_!X;:LVZ:G5R,Y;HM9C-/5_!:#CT*YM-8V3,S)\;<PI>._BU5I:4UJ7B4F-Z
MC#&H-EP"LQ4HMK)X;,K'LXP*L+,4VV'V%>).RH[>"-<=9]C&=>=\7M;3#V<L
M";L!K.'DU,.&5KNO11VB=K.7_O,LW?H\#.)/ZH2$*/-;G/"Z?-\46*:!,+HT
MFDS$@MP?*0#CD!]12<;#2EM9S["U6QBP]>(46\]IVK5:-,3-YRN']^-Y5V3F
M(J]V1VZM,^WWS8(RP8Z?61U.<XV K[9XN2,QS4E]/%LT_ E^O'+6G0QQ##.G
M2#N+5YVLW)UX1662/5XI+&Q_6[[OXP@A]VEO6")T/NO'G4A<E*IF:Z U6:))
M]?G29F$U'"7N1%V>J2/Y9K!EY>U*R"R%\H#WNW$GZO5UA;>*-0*1J4Z;)2M=
MOM&//=%T-3&U*;=M(^JFP^?JVFB0+] ')WI2RO4FT2TBW1S5*ML99&72I,/P
M?%4H=X]I<KE4W7 F&J#,*(M>D0U1E9VBZHBZZ0##M0_>6=!-4?NQKQ6P9(X6
M:_-& 2&$.B7PKLRV2CO>%:;AT^XKZW8U!2D9T+P%-N/:GOP!%0:_K2I =U4%
M3+O9K/:C"AE82L"T6_UJJ\RVF"K+G:]^X _)],_V\:0L#2>>[2P3?O)R<<91
M05A4XZ6Z@JZ*?\? 5O@K NWQOXQ@P:\!U'C M/>?[@VC6>E0,WH^!7OG?3O8
M5"@MX&</X^? UP!#MV0;5F18L UT:!@]^N="_B]88-%&A<DD>G"YD<![M?:1
M@-F-J'OPSALFE'[V\O%/CX*_LSL0%,/[<QP_:B__%YQ39I<VSA+5Y:8GED8#
MHO!4_K]EJ/KQ>WKR4E -L.4F^'?I+:/)YM'?@9R.GZQ.*W*UC\IM;;5J,>B6
MIN;%.8S QR3Q[0:K1S,5PKN-AD*"Y\YER=/EATL_1 0U')T^,W7=]'^&2/KG
M7/B2U]6RD+I4)JN*5E:0WGTMH-CVDCX:MPQ>UP>O.W[,,9OWADMBX636/,*4
M?+6+% UZD>]^%.-6C<RN:A>Y>[WP^?&;\(\G\DTW+#+=EQ"'Y;ZP?%@7+$?^
MN?_A<%./+#'BFH+GFOL/HE+>\),GG/60U49K'HMWJ:AVU[7WF]B=%HT.Z$H/
M@@!<L0HP?5><&!5C[Q]"W&5S_SJ$S>YU>S@=U $>/-\$SYQ!_-U!:/][6(/X
M,RJ.AG,;?UN7O*L,#U^\7RI,'9@K+G]PD?++MXZ>?NL'1>3__8\KG0#F@R)-
MPPQ+-*-C87<DG@#^$P"/(G=4 O@_!_Q_7!MRG<,;..J@$'*R$_C.CF_N8():
M&V@FJU)JWX'AY5MZ,VR.E>77E/FQ#(QUUH!O?%#N(H431W\^EDH_1<0W@>%/
M^<*9#_Z2GGW6,T<D>6%D>*U>'SSTGX^G/07C_R&*LCR;G8+T'WB.8X+'$ PY
MZ9Y^L^&+H>?Q$?8(=[Y#_$X$O+L!1*BK'5J-^).>-*=&OKZ*&?<6-^Y#9'\*
M(!D:/T5/KAHM<-:^+^MKN0D./C^J!.J+DP5..G@7[^01E6]SA?Z@PLIEZ!/$
M?OR*'R'\*HE? 26C<41P?03[1UVD/D"'NZ# 2 C\W 3.R># $M2[8DB[J-;F
MAMROF*RJL-Z]+M6#C@)=WAB<[?)FTKY:Z=TW74&_<?'] =S@8^7\4S:! S8A
MF1YTWB1\XK;X1 QCZ#>]01%K\ V^GJ65)EWB1K,P9H>%,XU/X S_"1UYQVT-
M/XD2/J0/UD%\XNVQENF+L1;N((3M!(XK+Z\_[ )6P8\.NKA/Y8-L:.B@=XZ/
M=8.AE\>1HEQXAH/0ZXX^<^76O-BP,(R7\7*V/^UTVUOF:>I@[N+Q%M$G-6N*
M423O=6N=_B9H=N9J]\<OP+F_8,#E]Y=4&_;61:?C\YHPZ6.ZHY$KB_/?$V6I
MT8Y:5ILS1>.:1K'$<Q6_VZ*3*$L29;D=GW,29;DUP"=1ENN)LEQ5%"5UDP&4
MWP0+7HZ:)!&3J_:Y/#2+A[;%UPB?7)W_)7&OG-5FNTQPQ:MF\^WVH&)K&:'7
MV")3M5W%Z2BX0MQ4:"6&Y),XR[6(F83 ST+@KP97C.J@*K=Z/4L;ZKTVTKH?
M9.M\-PJN8%\CM/*<YI,X2Q)G2?C$[X(KC>W&S-R351(A\LOQO2Y9)0[UH^ *
M=>G(RK54OGS#^5E$,C\KF9^5S,]*YF<E\[,^;W[6Z[6N;ZB,Q2X];>NDNM@/
MI($+UZ:*+]>FF@?USA^>Y'&P9_7E#8='EV 3@1";?@(I+=NZ:LC/__),=@,V
MJPL U>E(7VX(ON.I4!*HEQE_5@K#]3!P ,/Y)ZKO@)Z7DQH]*/5'5<MG.4:?
MCGM+W+N';25>"_,C3\+\R,2QW4D#D&:D&C- 43X8,0OA$H%E#Y62JLL2=*/Y
M8]/6=AI[J64K,AD8&[ZN2#XW'[07=.E).E2U57JBLF<<681J.XQP.;+QI.$9
M4!?!0]LSSIM:IFP(3D\69< Q'K,JD(.LBF4)4U<6ZE!(,"SB^>*V3Q8,^L<O
MUS>/LRJ<_2.CCH 0WAS+P(83$!;I[PW\QXP+QWFDYP"\#6Q%749OCRXG]B;\
M;8"C.7I!:NV-.AU@M%(?3?P?OQQU<WP38DAR.S#KN_-%R4@S^)Y]O[E(**F.
M"PP(%VAIGNT^9+Z$XW5DVWC\.Y!B8+L12X(@2J=V2Y]\FA)A%Z,HM48P0@D7
MNY^4#Q'EU-VT3/MX-PS@3&"!H0H/6WG\*-Q'V HE;G\1,  VA1[(L-N*:KAF
M2D@YX&: UKK;+-C:T[(MB%EWJ;:1J@E L-I!]&DN5&'0=-P>PH-*JK-4'9@I
M-@VBC"-PZP +9K-TRI^;^[DA0FH9!3=WZ69 XDN/2U/0.K+VX'IZJFB_X<Z:
M K#)HS^AZ'YC E3"'P\+>\J$CSVX!E]UY_M&,OO>,_$OZ8==:6(?)^BZK #X
M NR6;? +/*W@QK;\G*F& $2:H$/H['IX $AY-N36&(+DHSX&@@T> L'^_]G[
MTB9%E:W=[S?B_@=CO_>]T3M"^S +^[SW1*#B/"M.7PA$1 1!&9Q^_<U,P*'*
M&KM*K2HB]N[NLE+(7+F>E6O.D($!ZE2XW8">D#Q@\+]1)QL'L+B"L)1 AU.B
MHP;=A4)28+_&J&5<M(^_Y+\C,@M;928#0,)3*N@JYYMJ]+5QBH:#'!4]]=_H
M]Q#3[NFBD@F(,&6FJ].$NE45'VIAX/%370$S@5_1@]X-"P@'-.RX_,,PL'IU
MJ@(Q"&REB,I!$ZT0*. 9"QLQ)MB?D*<@/]3DW8$]<<A1NC)#.^O)AFJ%] #R
M&8Z'WPZ9,, 8^'[9-T\>\)"+2 QQ$9$\^=*1H;VGF0%Q%-BD-4J8!#2S)B<Y
M=Q%;1_P']"4>#D&/N,Q<&OC+#;C)A7@YDBL!5L4O'=T,MXT+IOQP*43P.7EY
M*6B^0(6?^Q.8Y"E?%ESA;$_F$NT27!K82 _\!K'(Y'2""!F!(O+9@ @8SDJL
M==L,E'_ Z%-U A&9 .<3>"*\!0FN*& S)12V/MJ;<'JG&R2C-<--G*@K/\AD
M#: .1>;9$T_>"J>A.6#U!S8Y7_!C7@;/C$ <$1A^=$+&\SU"^_M00I]N,=0M
MU!#S0,7P5#?<=4 1?KE4T;TZT9&'HAN)K.XH<)]AHU9G$4Y]$IT[B%2'%2#W
M4C1[2'G7!\@[99O@U2'O7*V%,S1=O"#%%9QHX 7RBZ?P2PP-" ;ESR/IYD8'
M4L/R9$>W$QU_J8*_G2.AR[[K04!!C/H:^"&2K6BGL( 'HQE]^ GR,E3&\ L/
M3@\D8V:RH\Z >096&;X4-F>#TGOIV-!/"V]&#@^1;";+)Q.P35RPNL$@42J5
M?N/1[P_D.:(%'3=0%P$L+A_>/T89Y8!6EJJ9N@;SDL%\'14PO0N;$P=G<.F2
M9G+>>3'<UPLP.YU/R!!VL(G@Y;I[I'@T*-C*&9BD92?F8/XN0%_PO75(K BV
M@)Y+&[K[X+Y$'T[68*,N:#^GXN?AD7)15CQ@H5">OW!DG:_B@'P@5BS]B=?)
MP8A0)]* 80+I!P%PNGHP(I@7>G\=T.)D/[C3*0!0..I"/4XA*UOR1'YA"B9T
M"L%E0Q%U/$B#N<'O!/+G 8<]6&9 XP/)'U T$'^!;(!0UZ?1.^%.'M^)-*P
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
MNOI7/A0O*/0@N^$]"S(RRCPYK"F)LH=<J,_Y;NC./]0 >S/P+B]XO3U-1OK
MQ%[ &2M'5W_P;DA,&$M L7X=D#4X(Q<!3=?J4;LY2Y=/$$2T*4=BG<;&H/UW
MOD1X#(]5E$SS6(<]RT>(B'&DV[O)\N3RXY#$&T,27!R2B$,2<4@B#DG$(8F[
M#$E0;PI)T-\])/%Z+?-,LC[!#HV3/'<R>9*LTP1V O(!1W;! TT&I3">ZXX+
MH-+X#K*>'ZJ#8;9BX%Q_](U(F0V[I02I%2@GWDKDU;&#II>.9H>2L57WL1_R
MH'TA;1FU'(#&*XQ>)!/J5@$JWEEJ^008:::]/ 0+P$N"-BT'6RA0HH,LW(:C
MR9:^#\JT/_\RLX>>G_.,-!FFS4&=](&#ZDC:H"  )JJ$?25@_P3HSPB2OF'Y
M*-A0VPEL#I29J9]0._!T\(<R5A.V0CDF_L"'A7E%8:K1H5@9E3$<F ;*EX!^
M[9/<?;"UO\1.M_WWJ9(-I$2@$\O1A(("[<C]"_9YC(YNV,[!7@"5-V"4R+ ]
M:,('CCN)OIPXJ1$!(EL!NJGMB3[=16^YR,Y7\X8^=3/?$^@]ZPAA!U71"3S
M,1?6142&)<SI&H\ANR";'Z7A*:@0 8(\\*$G$W!7#KT]D/M,,7WW8()>IA $
MU5@'U(7V2AB&DBW5=)&]Y>A!!PW;A'E=#\9%@J%Q3*_GHKOZT%S.TQ*ANV/B
MR*%?[3"YY(G,."3VLL%SP,-+P*BU5$?; 2:TU UD(C=1K68#;Q-*DX/O.KCS
MHK>@5@*GJ6]1OXI2-^B' $2%+T\.12.PD 1,4K6@+?[T(WU4.@+825$GOH->
M C"C!WT T73/0(O(< I]!RY"1=F& &HI&5DFX3;"AP:]@P(!<$XS]70_G]JT
MWXG.N<<=+/>8<.BCAET'[^GY,Y4HB2\B6A ]A%YR^#?R>:!M0>F^7ZSAH>##
MVTYA-Z,'817X<ZH3Y(0B7CNF=%_3HW1T83!1AXH3]",H!NV63'NB!9XB003G
MO-WQT96)0)2D9O:)'R5R,X:YM6#P260^>92P&QF&!4^B@%"7A(QQH-BQ@N40
M<@F23$\H>>YY@EF^JH/R2L%['ZH3440=OMU0 [>.;:';',,*DF-<$<W._3L1
M1,F#VA'="NL-3MM[)-C7DBV0@@LUR,]5W[+:5)@[_%3<+7CLJ6?J$&!D3OL?
MA41Q@UY4Z#7K%RM*0GGM7M+0/H"D4+4"/ ],G$@'.Q(Y4!S(4]?:)7H!?@\Z
MA2%/]"M7 R49,-2 0N/-;K&V(_!PYJ4%RHOC^F"(X>!U?\-:#VDF9Z4\4&W]
M-?8]%#:%PU G&AV\'OF#__Y]V 7N5,]_[8O!2W0')HN?I4B#DUU!04,KC# ]
M)'=8Q#4][Y("?:@1@:&5B7R\<MBY\4CCY*%:!?S*L@$"+2UH>!<=3Z>S1UMT
M<?+7B= V3M7G0)90EQHWN3!B M=]2.F)4J8*06NL8Z5OB'34)<>R?'-Q8H\!
MY=@/^[$A21 IL$^(@\-&AHE2KWS$4^SP"[7 [*9PAO@73J&'A@&(H \G^ W-
M_@L2 ([!T;]0L!C\1(*?_@["J.<K=M1Y&)I'LC"BS]GR0VFR"Z5U^IS"03UN
MB*^Y#P3VV37/YZ\;J[  X$1W.ZVM/A#_5["@;(H@F7^%14/PAS3XX>\3V4:D
M3^^8?O3 T[6%TPPR$V 8!;7?BE2KTT2Z8XNJ@"0+V8- OPY#W\.E&8\5N.\;
MB6"P.!(11R+B2$0<B8@C$7<9B?CVL85K7R$162@//2K9<ZTS%Y2L"M $@3X\
MZ'JZIF<%N54#VY6.>L&C+I^9P,G6 5,%.IZ;X%$6&-B03(?_^^C0#G(<'Z3Z
MGCNW3U<?5BKL#YZ7P#MW:E:9<N!><\_LU%.[%&73@FD\REU!"2A!,C[*X0FK
M$DY?'-4$H^]'W://FERB+)4PG5RQPTX/ZZ,I&F6,RZ@SN(M>"O\1FJ[(C0G3
M(W]%@(0/#?J4/+)J_WY@R:9@_AKL;712TH'L*4"I=BV#_8:)V&!&B3Y0E@]M
M-J/].VX??."E=BM=1Q_[\,=?V5*W^_<C IX]X%A?C'KH>K!?$5H03--#/NG
M!1J9S*C0/8I313L*K7;4U1UE.*E6E->'MBIZ(/P:, W.#/#03$%=1U!M-1"=
M)\9;6.H=I&J%WJ('[I&0V.<<AK*70A9W/3FHZ;#/Z1AR"* 0-%]@$$@/JTU@
MK_"@%AP&IM :HLIOF!6Y0]G)B5_TWT'&XM^P18L79F"'PY"OX?B&T\;0)P/<
MPYR(@T_Y.@(!=:1/X,G00^\=*'%P]P4!JV/:+^K]%%F5:B#(#MTU3@4!*L>)
M%GI>E@.;K,#L33OP(-G']QZRJ76D1Z+PPGGK@*C<_MAP(/@>:L*NP((-L',H
MXSI<U3%I-'BEJT;I:4YXLTP@;@Y1MZC0X[PFZ"1I\,&R89LJV0DB3=?9N#8B
M=*!8!!MA^YX"YG_N0YC8JAO6'J F6U'"(Z05DGN'?@,':(:!2'\)T>6YIR4<
M)UUP8'@;YO+I0<?MBX%)108@UU%=QK&O%^S.8:,I.5"N'#L"/< MZE+L0%$!
MWGT046-8> ,6_5F%5H"R3730'>N#PI.AY*F+!/L[D3_T<R]905XU:J"/='+^
M]_FM$"B_('#:P'4W$/<\]X JV(0@#G&>_0TC&XJJ(JD8'4=A#XV'[=WRT!%+
M8*D\<C4!>2^']]<<WI6PK9<\I8&P_?V$\^%&^9AG=XD^>\L2=W;+$B<I6(MF
MZP4GA:UL/NUF1;$D%UH/KSWJJ!K<J[8:5O[E#OWZN^!%&=-6C+\.BO6RO<N9
M^YF ->2R-TQY(U4O:A>2>RZ.BVZR4UT $3 #S_'5:ZOC1*B.=X0"U,43I3HP
MWVI\M]2H7RVIY_1 \-VP R!XI!RX.J%KT;%E(.S/<K=#*03#\,&.A551E[Z(
M?/"H\B<HND,:D@D4S6/^2UBG%I5[^B<7(#W$5G ISO']ASJ;A6P 9/^*ZC(;
MN5J(TK^#OI&R<3H<-JTS3=0L!B6LN+;O**$R?*P# F]!D$5-T+L79@-?@X3O
M&#:!.J]Q#2O'P&R%0U/.1GB%SWD (XI[S$[*(TYE6- 1"]'Y<!2 @]!ZM"AX
MVOO>&U?V8#+7+\X[T.^XJT"POK+X)Z2+I A9?;7P*H) *+,%Z\_*>EK7GK\)
M[K4RZMVWN$6WZ 7R#'KG0@'G7KR\K37M5=MD(;,0%KJ2VS=2-C>?;IZX1@]6
MD$%]S#P<R&!K CX"BV'^B?0!Q#SHEF]XNON!ZA#!I-;I'% "!PHHK27@=?"[
MPZ.CQ!O5/2D;"D([,+Z6C'+?X-J2IZ'[X/5RX)8\TRZ2H7T6IHK R\A/2B#@
MM] OPJD;>B1BSJ:%2NE1^=@$QA0MP&RJZJ VC#!UQ7="613T^0)'N1\PTR^A
MF0U6?.0YE-PE(XT7P>)7X__*B^6_:W\C)0C:X\$$ AJ]AC0'DER@ I@>#.!
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
MN.C.N3#[36I$Q8!1H6AXR5ST^T,[@TQ8MA>-.]Y<5T/U@.'GX===EVSE\(7
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
M,/0"^=5!SZD4N]DLUE>+#7&0L8JK;DO"+]"_HHQ-K;74)EBV-^_7\/UHTJ8
M!2YL *,+;3Z?G=2QCH?-^EMRCC$[0($+.\"8N>90YXN64?%& L6/1KDYV'_B
M EW-S#"=4PI^RNBXVWZ;=@V+!DQ%7*"K2B[VTKA"T^*NSHAB9K):#32 T@MT
MG16Z2ZU<H511;FZL#I.U2;H"GDI>X,#.7&H+0R AF#+N>YG>:H=A&XFXL 6$
M[6?,<;[#")UYFL;&73);@Q.XL 4-+\>DAPMZ8/B5 F]WYNYX6@1RXL(6J#J;
M57B_D#-4I5GENIM<K5(%3[VP!>VN7K,PNY83"\QBH.ZM'=>J@Z$7MH!JK=C,
M*E-4L3ZV&;2V(Z>ZTC<2>=R"!XIT\,6QM%RV=SES/Q.PAESVABEOI.I@YG H
M$1B3Z*#EO9=&DY^@V#UW;!'$[^#8Z@@%J!XD2G5P"M?X;JE1_V@-X;*5A@X_
M8):!T\[>  TY$=Y8XR_ &/  ]]P6 [I+&EACUDD?C(2F6M"< T87,NXF^G2J
M.M!0TU1; ^?K3%<2IJT$!M_O!'R=;@7V.-Q#< R[\.P'-IL*Y@ MPC,[,/HJ
M/)F5L,[-#6>2F*GR9.7+#G1M_8,H=&9-/^M(X,X<"9RD8"V:K1><%+:R^;2;
M%<627&@]] ]TE)D*XRF-Z4DMGK %$[!D,ZK#<WG/<_2Q#U;5M?.V S;=RD*C
MU=%5-[,K' C# YNH"R:8 :LT_HKXV:EL^8["N$.C7V[WQ>J:QLPE_Q>PE!5Y
M">;B.;[Z9X;@D\SP<R\YHIG?6'SER_(F]P'@7$SX^):C'T3YF.5CEO]AE(]9
M/F;YKTGY#^G"_*)Z^7-:4KXD"3[>E_RYM#G<!$-_[$TP%/X[_;7NMGCE53"?
MT.0\AM?GP>M/N2*^&.959'I\/U+,&#%C!(S!QHP1,\8EQN#BL_1+G:4W5E4_
M 2]WA(?/OE(@YH68%V)>^/*\\%'-?*YQ3@J^8R]5E&^',M 2CJK!./H_GUL%
M_AG<?<=EX)]1=GJORXTW]QLO-][<NUGN&YMD7^,P"7//>=_U'# %^4-*Z+X"
MP]T'7]UO#1TL'SW41Q^STV0SJ(U&F6L[B1>ECEV<;6=2O2 RNTQ/M#I23<QO
M;MS.'JM2[!1O=S>B[.\6V6U=R*N>%K2]IM@DQGQ26X&8\[\>Y[-GG,^^GO/[
MLWE36RZ4GE P-CH[LBO3<>?6%SG,6_2ZR%?F:S$[K1;GO7Z&T1=A&VN"))(4
M%K-^S/I/Y#N_FO473:Z]**]7MJ!+NK#3YQ7>W=Q:Z&='LX'2&#>&@E[:R&5N
M2$Y;^"9H54WB9!)GGFLZ^)5< *'65E !?:W=%[<>XGLG;Z2\Y02ISK3Q<DLK
M[<1&@?3FJZ(VU8Q;'V%:9TO-97%'&QVO.1X7'5/NE/F@$2]' >7M=1>6Q!#X
M21!XGQ8'(*#5L%:]M9GU,5G>=W2BFM'SYJTO=<3<?G=@9'G%6.BU-;YO8!5O
MU@KZYW)TDL8?7[H00^"G0^!]VAR P%(8I!BK,/*$E5?4&*^[W.C[6Y\"\YFJ
M: W'S6(RK0Q&='GOS 4^Z(.+8UP2?[8UX/VZVCJV[\T2_-0!<XD-KQ\*U?<I
M;"->8C&Z6!PJZ8E -,KC2<KA2].;7QXY;*V'/:V6'QKRI#[(Z8MJBZ W01=/
M D]R^"?=,!=S_M?C_/?I:8#S?7'7I#FKJ B[$I75&(&LC3*WUM-6&6*57LBC
M K;@9\1R,<(JBQ0?=.6DR62:C)UM,>?_D7H&.%_("2HFD505Z^333@LKRGBQ
M?>W;LQ]R_G@ACO@2GBH:JYU(*HL4GC'L3="?DR.!S,>_EZ^MLY1U*[:Q?CJ(
MWZ>X"1U)5I:UZ59O.9@O5.A-KML@YNJM/>:S7G->+._W"R/5;8^Q>J]/FHXF
ML4'[]225?@[$,01^)@3>I\$!".A;/.6/^LLL5E%GN8W;(XNMPJTAX/0Z;:6;
MGU)B=KEA!KMR1>A5-P "4(-CD^RSYU@,@9\)@?>I<@ "GD=[!5;L[X3.<*VH
M13;MD]-;&S'VI-?>#L4V971R0Z\@Z:5MRX>G %#ETFR2(#[FTIUK:VQU%69'
MF["'Y]>PN3[N0OOOCK_W:6'UJC2@]7P:I]<ML5&N"F-O1N[YT:WQ5^\+IJ*M
MIF.C4*QMBEZF*Y33&XF#6AB-)TGZ=7<EQ@S]=1GZ?3H58.CJ6B_O2GTO)>Y*
M>)IULU:*^(-+.CZ&H7NYG=K IW-&(.@ZW?1&(Z4\T0!# YV*A6;%<S<AQ S]
M'1CZ?1H28.B),RE4J;6'B?IVE#$U2V7W]5L;"<WA:,H/M5P16W&+3+FO=6QO
M"1D::$@,FTRGL>_E[((\H$X2%?#PB;WXXO;.]Z].N1_8OT\Q*V0D=R O>WAQ
MF!&8RDS-Y[==8S2^]3E6&N7(B;.4AU@V-=CDLF[3;?,:;*P>E!$0W.L.LA@L
M,5@^3.D#8.E/IZ,LWNAD!-7.2+C7SI4*\UM;,:MYTZR7,OV\P(S-M3-I"(K-
MH5L(X V%& [4OM<%0V.TQ&CY,(T2H(4DUV:/SV=:F#](FV5*YN;JX-9HR?BD
M*V,3NFDP&SQ/\@5"X2L(+;!8@4SB]-=TNF7WJC*+C;GO!;WW:779D;21L$%N
MEEWE!=596Z6EOU"+Y*V-N4%KV:-F=<<2_8Y9WG9<RLHY+7@'#HQZ8DF6>'RU
MZ-?@Z#AIYTYT-,#ZN*ZXQL8>;<1"?]_K;GO5?)V^]:E39CRC85HT:619(6WV
MB^,%JZ'KGZ".EDY2KXQVQJS_ UC_?0H78/U^GN,KE5J%%59^:5.D9*J:&]XZ
M1[DJN>T!4QHN1%]=^4(WG<]D^DCJ,XCUT_@W*PYMP.CGQ<CG%S*PKI:K<,46
MGW<&\S<J=ZZ^DA!K'2ZO"OJ1A9?&L_YH.<-SE(ZEV'(1GU?S(D;?&OM3/9=:
M3$G?,@JM(:5RU2JN]7FX: +Y[W$J+J>+@?/)JN$+P!G[I)VC#6%H-!K-,;FS
M57*BWUI?Q+U]-=NTW;ZPXBV''S69SAYKP47#[#@ZF2:?"WS%P(F!\P&*Y0O
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
MJJ4ZL%EI8NK8BX0J*S/86FWB*U["#JO'7=59ZP 25^E<UE%FZL0WU<94L#Q
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
MNH/?.EMV/4D7F8R,ZX;*X7R^M2^.&X4-I!5LIL(E"?)U)V\,O!AX?U[L\3G
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
ME1RWJ<*$ ;-J ^0%/<\]'#MO:JQ%@^G*Q@ X7-S KP5;/YBCP-2<6IK,%>R
MM#[:@>)XQ-7KRUD)P5#$FKJN.P[5>Q&(EXCNE^^ K'8VS,AB1\+&<&K9%3^3
M%SJ0?/K7F5#&YQ\A7@8I?0"5*PXL]:^5 EMYA+(SM\^2G<5B9/ %M#A:93?;
M_! 8H%-U^D5'L^_3+U_$W8(=0_AC5^\\_:E"71&[ T ?W;':B%QOU)=EP-G(
M&<Y.M,OEZ3]E5W.,QHJ.4:B,^E5\6R+"&@/I?R8YX<M.KV]2"**P!VPZ$OB.
MNWEZ&TPULR';:WW#JF,P/8,-,$R-MB&7B,&G[,"4U*?E'B%I@M6=V'6:&07H
M!"@B[)R)A0[UD3/M[5X9(6XKMNP U.Y,>VJR>W$Z-8OM46H*#1),Y+P3TTBV
MHI1.@+9W,S[ZYNE1 P3$&HSKV-'7 5Q6 %:6?8"#X6#@BT>QE+T3 !S^:-S^
MG&/WY#MW_A!TB1\O67%BXQW85O;/\@Y?O_/V55>]57?_U8P74>:LA]8AQ'[%
M-,(BRSFJU.-#R@I"&)1!T@1QJE!OUO&_(,DRV4)YV.CC+4$B5A.LM?8D6NQ$
M3BV&GM[#NN4(P 6IA@;-PI"D:@ZKEMK3&E[NFP;!1%0CD%.3<;%0P$?W%KB2
MLXN[8PEN"N,1JNW%IU8P0QYNGN=[_$QRU3P,3K=CU>J=.<) "7E&E;LB0E:S
M,W3K+'JY5GA:O/W\N&LHWI[='7CP%:;+9O(,SQ93!:[99EL\TZMRK0\^\D"Q
MPSRK=JHIN?(LG@^&(.3]>)&D. MHI*24!W<&QJ_AX<0*F#X@7^G43@*@L,46
M#N"CA>,=COKA'Z 5!09QX3J6XZO1QUX@R_"V!90*U9Y%!AU^OI+,0'UX_ )/
M3W3;@"8^LKFJZSEVA 5\8" !T^R_$)MJ!][FN#OL@*\ 6^X%)E!@>]-\-,-H
M73.P,5$Q>S 8S'.E*_NWO>B941H"7.B!.E U.('O0:4)'P4F'6FR:*%.2@.6
M'H@4) 3XBPX&NZH?N/8>.=R;U0Z9["@)-*,3+3U2-V X(*J^ L]*IR0_ZI6R
M.USRI=UYU;Y#\:O(% "LDPHC0LT#):J(GSY0/-ZW*5B1?[R=TP >?=BP?>"#
M/8QN0U%_@RDLU%B51*=04=9&=,RU4"-V_94"#,FK@.7N2A<"#8.DSVP5#%*N
M(&O: %:!KT= ;$>^B%@^I)/LJD";1!]:,;Y.V=%=A/BTS++@@1I\KK<[@K,D
MB!#![#R@22 [>X$4/U@RS904 A,841+(17QR!PD"%":4DMV#('6ZO "("!;E
MWIM03"T+/N!/_:_=7::7V=WXX6(]S%>;W>FBB&16?M^2AQ6CQ83G\AER(HY
M_8R( :DP :>618,,/7;!MLE1P66>NLOQ=+3]3DL?ZW'&=:$_$[G'FQ-%SD#*
M[:^!1'_UF !(HGLO,G]\&T1CT!+F982-,?#=#EY5\_-6$3H/:1Q'T@B"G%KD
MA1EX@+![RAY36WH=M5_OY^5BVXA VWA'>MNS<I-*WQD*$M*=%,1E0Q^HK\[6
MBD .8]N!9-[Y9]4=<U?M.T+&A.7LDNYZ?E':<%-6DF?<-$IJBPJ%MJ&ZZ3GP
M9^#@[04'^'71!GF1=]<#&KFZUV5<Q.CQ@Q])X[;Z?6PIE@.AL/6+#%5K!$@
MCU >/S2]D\%C+7E?'A^8 2?69E.XLI0"I!3\706+@_\%ABL"6L@>:"&YZ(<_
M)]>ZZR^&MN_9]0+8*[@PN-FPF]8E-[W<<F=6?\%:;*;1]G"EYF3:K<X3KOU;
MM_UHX*,L(.\6&D'Q5'3W/&*"(],9ZD!]J^N%#AO3V*^Z&_ *S?NYM^K>K(?C
M[?7*+K3U#"07"RD3?1UH9^"?Z%-=58H 5IR_J.>@<U_SJ[RA&U2=J;+-0)D!
MB;>=,[YE;#)W=E6#KX16&[XT#<#G)A90&HHOAOY*"0>;"098WC&03.^-;I0G
M$V,HF"6S?^8>AJEK("WP"N_"A;DVZA((T-[X3B7=3<&$/-4_BS;OD(H+6$YR
M-\=&?<<^'^ I/=QP)7 ONN&1-WS8XAZ@[-%N+JUPO&YQ2$7@J3S&ETK8%*.
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
M)"R#2[XL)GT[,G9U[O+MRN*GM")[KS1>AX%_U[GOG)0&>*U9L)!ZIAN.U\Z
M-0A8W#\V[]AIT\D'YOW?436)?TY:_GQ<YMPK*EU\1/V-NYZ]437;0QG;J%3B
M#D-\GT:]GUJF[[."3%'=G5.I."ZA-.NNV24[[6007AG5"FW.RDV+4<W--)([
M5VO_!Y?YNZ)M(]96=3UN**; 6].I,:,'1*$7QI7NB$>J[O_@PG97M'/")N,;
M/7:(L!SJY<,PNW6R4E2+.$WAIP<KYVK>_?M!(YHK,4(?7N,JF'CJ,H"]#U=P
M*TZK5:T+_;EF6>N*(4V#*<I6F!Z'7*I:U1L[\I#[CCQ"GF<[ MOJI=@^[!AV
MB19;+RIA>&]G'VF4M2MF/-5=ST\M \GU@?4&QAY#,.1AU>)%X,JSJ%H>1-)P
M7P%&2.TYX:/#R!@"F0>/>0?\<NB5>9\[3O3-@[_O](Q!4/J<P[DN0K;'_;52
M80T6>X\G"G59]XY$Q0@@Q<HAOC)WMBM'CE^T!W.<P]B-V @"#%6'G0!889Q&
MTSA^>JZS;Q<0E\C<M03P?.\%O8_?J^8_F_ZOT_-/D/]QE3P&Z_>7"+T2R@Z#
ME-FE,M<@!LJF<^2I1GZ)./U*I7J/R,PGR G8F=Q!S1(B1C_8*?C,.R*U74=S
M)>N!<=[_E=%<-;*0WH..(&_;;V^3U?I30E18?:SEQY;:MWO<Y\N;D=&JU IO
M-5EL,5YP2YR?.7GFCW]R.21-$V=\P1?L^5XF#TTZ/ =X3B[86657>SX:<,0,
MJ84)GBH%_LQQHYJADTT*H*!4W@%;GRKJ+C#[#G"J 'L</*I<'*.-&<Q3[['6
M;@(S::6F)JIJIV3)EE73A)H:X#]7]<$CE5^?V5P-V!7@%YJ;5$F=N/!^T)%%
M&3BNJ:0JJF0")<:YFF3KV[CP*MAL$RQ%B88Y@1^5LH*ZS78 "@)<[P*;L]+=
MP$NG'#=5X/K58@86Y952[6!B O2Q>RH+L(BFVG)4I[,*+V;9TLY@%1Q &]>.
M^[4<OV/_M-3"B8BJ:S9L]@(;L0 Z VH"R!AU,+*@:$L1./,>Z^\R"3S=5CWO
M5ZIL.I.X<PN8DZP>-2D"FQ=OEZUJ4HSS4M)T&M>550+HA:=\5X(K=W>@&2+/
M=$K1/3?8=<"&S6+B-W@S?;& 7CG<<]/1=,_792_E;0!0M<"WH'67('A4P2]P
M3-0!,V6ID@?/3E*^9("Y %;48#TQ.Y+]7X 9)#<#^]WL7Z,"W>-8@-2:ZX2
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
M \^D3_FU#CL6E(,9NYQ,NP$R6@WG#%"K9WA@,VYH7FE(#00 X,GB;*WKALU
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
M#;Q&CR42],;0Y,\5H6\'2Y\6H8:<75A5O=I" H$L^.VFH] L%"& 0U$2OZV
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
M =IHZ/VF;!2M$(*'4Y(:4\M98.LE4E?Q 3;)H//<JB.B^)D)9'H2-<B12Z3
MC&;;-4X7-0!24?R4  -]6";,[MHV,G6E7<'DJ5]G&3CTA )&J^=H.6NP10J2
ME?__['UIC]I:MO;W5[K_ ?557YTC%6G/F-.MEHPQ,QACS/3%,MC8QO.$,;_^
MM0U5J8I)3BJ5I&QJ'ZG3%;)JLX<U/6NMO;8P[NMU,^5G^ ;S$>-@X(M.#Q,B
M=+T9G$\[O,&GI#>X#YKJ_,;F8!BBY_4F)5J<WJ92TAOLMS<,?XW*@F5$!A7
M&+'&-"9=U@W^DQ8]'W4%I&,L:60YYH1I@DKIOMY@P*,Q;$Q"/3D8B2TZ;FP-
MK2E+9:2%':BWO$6/;WDH--36A&,(:XC-=N &"W(:;[4VNQX'U?DV03GH=I/Z
MC:D_6"1E5?+@2"RU8+PN'Q\&S& ]V^5OMQ8W:^U"?1Q#;4-93.8^(@Z51B>^
M/D3^DE3V(/BD6#N$J;<;6]='H-A*Y0JYP5D]>;$Z[MO+KE"/NL=]: _\U3Y_
M]*1XL'WJ'(R6@[.1\K^^FHR3[D#ELH[N!5*LH7CRT*1(P=-&/"'N4IN?Y%T!
MB_*Z6" =65$5@5C,8[1#1'V'2.=Z@P<F(3S7W=-$,Q 1#B%HUEWKVW0"-WB@
M&0?3R7F^A 5>:&R1]MG33#S=K!L\8-+X2!:7XR64=,9QG6S.%O552GKC8'WK
M7#^CTRW%='V[W33\NJ])E(C>.-A6%Z<\S+<Z!M\347D;'BU3C#/2PFE-65V
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
M07S_F&BT=ABR(9>1%C%,?3A ,11S#*)GNL*V#1%"5[V^2/^%1]1JBT%GOVE
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
MG!S DV_&DRQER^.K OG<7(>@QZ)[-A$,HGF3ZVW=)32-REVU.FWM_/.@?=I
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
M26 $JF/"GSVZ"'JK5L24EP),EL*XE(T%[A%&EC"I>462?/H=DNOX2FT:*I_
MA<E*!S:?#A,<835"FG<)*)^X$,Y4RK/''?N;;2R0'@<;"(MYXB ZCI1!N4MA
M76?JGQI:5V626.'IT S0..)$@@2IR5*E)MN?WVVL_9]DN?^N/1WU9SPY73PV
M: 7)2F 0*F+3V5WHY-"R";*553+MI0"893$T)62$>X299<M6ONS,\\=<DW0S
M=5#_S)OS?#?4!'&R4AFDQU,$9U?V&.>]H,L7:N21_2X=>1ZAI8&Z>U-J^J+
ML^?9W+1&Z++_ EHVR@8MA9Y(L?'918W$,@X!(;=H8J&*C;PE3[/YJ9G^AX"D
MY7LC2UHQS6O1:YZ.S"#DM47/%\;Y7Z&T-97_/A[9)+(47]^E?Y?UXW__D_[Q
M.)>=J4A^MA#M^E7URZ+^0K.OO!X'!/WSI_B=&7LJ_N.:4.BSP%^%OE-O()>5
MY//,__R?__=\OD77"LK_^_>SA6A*IEW^0O(C4)7ZUE<DHRYELO"79,92$CQJ
M.>P3WOSGO[>.G^J.OZ 7$X.13XU_UC[_F&U 8?<LZ51_MD?7 Z^;RC[\Z_);
MCQ_E"N_Q,R?0LS/[RU<NDIN-_6+4_"!2;^GGG +R@H_R[2:>MOP_4DWS,_WX
MOW.6OF6.OO><+W_-?C'EN%2YF9=/XLMA7#]ZQ@S9)F4F/&/4+"Y"9[K:SL(A
M5],F_?<9*WR-95_N?V%CK70?K^Q ?H+PQQ5?U=X8E;W.<>>M!!:AVVIB[)<S
MAQ(;J47XQV4"3Z3<:>G5%U/<,#QCB9%SPK8=,18;B A]24J;S'9B#=@.Q*IL
M&$/-MD8X:D9:&!7ADS,L>I3-\%UD#-O;YI:F<E+\2]*8XDU-]5%+\*#U<NK#
M$=5?Y:3$EZ1,NRF+9VLX,+JSP9X-&,_G&NE<T>($SCJ_:;?Z$,4HT_'"C+'=
M+,IV "LNB_6ZA(M*7 M:M@Q&=,D>GS!J1EH8U69&3!WBMCJT' :;LSG>ZDN+
MRT@+RQH21%U U-5<L%I*,"8\-G;%G+2PK"6R3JW23IH9RYD^3OF*/OI.NBR\
M. %"&G&[?G?E"OR2&)DTU:+H;;HLXL9I)<X<";PS!M6E@QX.L/IYA<49:6'4
M!GJ2 N9H<M!RRN@&O9\9\#D?M;"L42\F9GJXGC!U'CFV3(WD13(G+2PK=2A.
M8D?V^PP/C^*U..PVH6TZ@49Q B*,RVUC178$PA4H1=@TIH*='@%97%:LF(JH
M\G5!X*&MC<+-&>D+5$9:&!5%AN:NRS8;S+))175Q#!F<%F>DA66MZLR^U3M.
M6 $ADZ'<,WP2AW/2PK(Z%'=ND'/K("C+NM';]*?RKI^2-HL3X)-)HG93;P4B
M%'CJT FMPNU8)*'BLD*IQ6KBL"4(;#P/36.JM;TUEY$61CV9S:V^CK !H]3-
M$^,S1Y8U<]+"LMH[?MR$NR3*1%+,38>=H&4A.6EA6<VFH/59:']FE/,>/KA"
MW:AO59&\H3*F^QDRF*H;U> 7M"]V-W*=2S>+O*$R^,1K'AAWNX<(F4@.C=ZQ
MWAWEI(51!UZ?;BVXT4Y VK-^W9X9X8A0,]+"LF2+[E/SJ6A!/"\Z41*U3O4-
MEY$6EG5&C'UCK_::C 7'.)YXG@@QZ01NJ(QFAQ>Q?0/U!&6\(BVN'P<;-IW
M#94QE_6QVR65)I00:[I%C*4ZL:0RTL*HVPX^:)Z325-0FB&>0(*J":TX(RTL
M:Z[.6U-Z8*^%X0#26D-BPAC=G+2P++T>#405I8^",C(VH;S=RU0]W8$;*F/8
M.9G4=,-PD&*?^U/=7R'#[&!OJ SV7)=004QTB![*RE*:DP[)YJ1%_=H(X.@D
MT[S@(6U*/]M#W#K%&6EA6>L^1Q\]PE88PB+58Z)%IG A+2QK+L!P&P[.5BJQ
M#')>C ;68)U.X(;*0/G%_B1N"5P@O%D$4ZBE[K5T!VZHC-,@P72OWB:@H9Q.
MXSC;#:@FE9$6)38\2J>E.AH;T9A@9S:+J7,F'[6P+%0_#94)S?>@[O8HQ0'<
MXB RSD@+RTKMJ3/C&HQCZ/W#HM\[<3N%3TEOJ P-;L9+PW*G0C2'+7T"FRYQ
MYL3F#94QFR@KMNG#J1@RMD5R6_2D+7+2PJA1MAS"ADBHRYIT%TXFK!7FI(5E
M]<:38ZNWF6V$)4D3(TC0)!?)20O+6O0PAMGSAZZ@]-NM+;]REY&1DMY0&6O2
M=F"$U[L,L1PYS&J$TFIJ#9LW5$:?\:?-I; 8,\L)KW--)&2&0S4C+8QJ;=4C
MA!DK4Y#._( /8)4]M*F,M+ LVEGC WD_#@W/[C2$7H,['?;Y!(I,N.?F9]&?
MVPQBSY5C1"W6VC@=]8;*X,Q&'^GWYBUAV5",<7L9*HM1.NH-E;%+>I!.4PW/
M4-K,<MLF1AMEH&:DA5'KIVGHV*PH,M;.%C9SB0O=5&4T;ZB,>NPF9-C%5H;B
M;_3-<E;'1ZU\U,*R9AM'AW5G84)TUV=#/)XK\BP=]8;*"-E6+Z1X#64(1NP:
MB#X.^&DZZ@V5L5V=J1[,2":TC+N-[ER"XI%*9:2%4<E%F^JOD=F"\4YB"C6[
MJD*EJKAY0V6T1MR*"R<6)/#PK#%IR1MUL,PG4%B6LM![UA2=&=#0HZS>Q B"
M9)R2WE 9!#?PVYN9@T ).\';',5/CJE/V+RA,OH>[GCL*+4%5EU '5$>3EKS
MG+0PJM)V9M)!.7,, HEC?Z%NH8'"9:2%9=GT+CVO8(E UD0TZOQ@OEFFNJ%Y
M0V6T.^W-N'WHQX)DCI=CV''Y.IY.X(;*.(Z;$W9N#F6!58F(HX;[.IFR=@H<
MBNNJ;_FQ.F"%G2 MQU;S? I0>D#EM(5QW5$+3^3N;,)XY+K;:8O,+NS%.6U1
M:R@Z-^ZL!JHA#?1)LIZ)<'-R&;>PM.Z4\R=LM]\PD/JL8VNSQK)]RL:]H3?@
M5F,UY\<TQGC<#H7.;F2?W(SVAN+@H.&RL6W7UX+7=H]LXEG&4%1SVL*X_9:A
M=@,&IQB>I[%3F]GL X/*:0MK$R>K-LIOL:F H/ IIE:=U?G Y;2%M0T%8N6L
M&GO+L&)SR*X%;#(^9[0WE,<IZK*VT^FLH-08C.9U;3!8^QGM#>VA+_8+;3AM
M]X5NO][:XTN*F/;4G+8P[L$-8%&9NP<HZBZB!4VNAA9TH2VL31@MG(!5!EN#
MI2QW(8T.C7Z^OS<4B+>;&HZX('I"'9:ED\QO(MG.QKVA08PCAA/M_F[%1!@5
M$";5L =AMK8;*D1VE%!Q,&W$>-W]0A5'_$Y97VB+SLQJB_3TMK42=+NQ=)F$
MPLS>A;:P-F_2&P0.NFDQ79Y<6=W.9*@?+K2%M9FI$J<:2XQE^'JGLW.HL-^:
M9FO[K$;TTU]9U%6WHSS:>OG-K6@=8ZO=2)P 2MQPM$G6_364<EU&"J>_F8>K
MGF(\>3PFB^^8DALH?SW^\#SB\#DV=HFVY.&YZP>76$O^R8N(S+.8W)6F&%TI
M65:K*OF"CYHG^0TYKHESO!;T0Z"@OQK)KE+46Y0B\5(V%KC'2HL2%O3SD:U<
M:OK_X*.SYD1_@C>0JE_^-YW1X/"J4?%W+^463XKDHD9>%EK(@S8Y(,9KBF%C
M9V.ZW?,)A\O=7HQ<C.+.VEN+C-4/;0^A.H<YF6?Q0 U_F6KXP=M'H%R_\O8Z
M:VT-7VZ!$^ 4JV&X*[3VNP"+H#*_3&"Q)3GAZ\$BB'65RNQ\+TP$QP8 XL\#
MB!?5\1(@DM%AP]>3UICA!ZNSNX!H/SC%I0:((<J8VDF:),+R3)(Q9_&H#>7U
MD*!S6#F*\+\!#1]JZ3<YX:5$/Y;VZ=&7VS171?U]5+7_^QI0P^0K<"(XP@^&
M$$MA/\JV\'O$AB7,)8[3=9E*C9%2+=4>TR %5=EX9 84%+E&^=*VQEAZZOX_
MCZ:#TRQS7/+5>+&<</&B3#)=TK9VNRM,% +9E4:<9AEUUY%-VD7J<[+<>42M
M!;'^VACAQK()GPDD7(L8G-]: WG$,N41P3-%()5X#Z9[+/D[K89<0&(#G&,U
MC':%UGX7:!$D$]\!+?+]6O_I$8>LS5?J3^4__L%'FQ\H/07!K5)9'I!-K$!,
MLL+H,-#_?WO7VIPVLD2_WZK['U2IVGN=+<LK!.:1W$H5EH7 O(T%-E^H00@A
M$!+6 R%^_9V1$ @[R=IQ%L_(DZJP&Q*C1S=]^O1I=1^BQR%XQ.VFAUVVTHV;
M%>^JQ1$G; ;KNX>L-N3&>&N)R^$HV\\YQ:'(2F.7+62;^:85S@"A6B(>6F("
MN)8'X(J&1@/'45TG\3[>P$Q*[/NH,?]$_:;<Y2LH(K7?!R.'6& ';A>>1EKX
M$B9\ G(8I7&,!"QEY@%3<]7P!W?[AI*+&NCCB<37*.GCB<04)@GN/HU"2B*B
MP N,XDDBG"2)8T/:W/N\VW86GERQ&]/UJE%4\5Y?FY.\BJ^;4Y_+%YV25>M?
M+WJ<AN8AHG'05%S$1%R\5AUXV'-&->%[JAHN-H ^[KCVKC\UTAWWO'+?KKJR
M?-6.]P]1$9)B!!D ?^.9:OQ (]4@"8%Z+&;AX((]&#K"!V*?)]<EHWT-9P_
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
MP=5+MS6@PXY[J_?[[X8=]X;P_P%02P,$%     @ (4J<4-OU<I:>"   JCP
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
M$GT R@.L)2[1C)\O2?6\?'E*5<+E690R G-WAM6Y$1?UA)\=H7("NV0G,Q0
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
M\:F1&BL'$+G7+!6:,DU&Y5/ JF""P8P;A+X&T):A\@'<1A&ZM'TC!(&M"2=
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
MFBJ9_;T!%FQR_^%09?.7N,E)7>0O_PM02P,$%     @ (4J<4,:$3_&B#
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
MHE]X0-IR.&3*99-^YL[0M!)T>@'XX'.Z*/OYX[U4L"!"H]BNY 0\+ZQ^=@0
MS !S^=0'F.WQ8@;,;2DBK6(WN>EY,ISSR<F#KYD!N4#N\X<Z1G,&;TNI/GAK
MCQ<SO#U3\B_FZ@@#.MN5;8!9#.A<1/$!6H 67DQ&F7Q-AV'SL'TR?][=/PR$
MVS[#?/?692# %S<X%T]ZH!?HA1=SVK@7Q[AN:U>> 6 7[T06R2@PY-C4WI-#
ML!:L+9_Z8*T]7MQD[567,J!K5<(!= '=0KL Z *Z\"*%KD_%(/)C<LX&<5IV
M/H(&!M H0!8"B=&_7#SI@5_@%UY,XS=(6K[@K*7I!IP%9XLG/3@+SL*+Q(N/
MS(V58N83!X(ITZ+-9NK%W5)6)1M0%D\$%4]Z4!:4A1?S*+N")VZM2C/@*_A:
M/.G!5_ 57J1=:><.N3&SGV=V+GKXG*/ +##[_!'^:.$,V *VQ5-_:QNLM<2*
M&<Y./W'[7\ZTH$-<K[4U!P'!"ZL_B6T &  NG_IH[=KCQ0R!)Q=NSQ2_I)H1
M3&)O6]H!<Q_2[$63%\0MH_H@KCU>S+9YNUU2:9FZ*%-'NDS.]#AY$I=4^E(-
MF0K&Q+03F+?V2<B1(#0BKU]^KE=K[>9,.5=%D%I>AI-]=+^Y#(!;D\4 \(75
MOPIQ0!P0+Y_Z@+@]7LQO-A_)(-F?9)ZBD(HQFL_6I1_0=V'UCZ2)[&/S"_0%
M?<NG/NAKCQ?SZ7LU;[AI_S('PUG9E7I WH75OPILD!?D+9_Z(*\]7GSSAJW*
MN4]Y0(6WC'NV;,U#P/#"ZN?1#0J#PN53?W?7V34_=:#8$D-F4-R-!<O:P95N
M_,67,2!L;1H"A#'05?&D!W_1"H87WT;O.RHUT&MQ!@)Z@=[B20_T KWP8EX'
M-/>\@)$#&FFR?]K&.%CV)!R0=O%QL++YBUJ*]LC!D"NJ603T KWE4Q_HM<>+
M=K=#.N*217J8C#YY:D@\8.EBI1O_'SW.-J<@P!C-WN))#_:"O? B9V^;!4%$
M*G]0X?I,#$!;:Y,.: O:%D]ZT/8YU?\%J+7#B 2UI]*+ U-R99_^"M3:G'&
M6J"V>-(#M<^*6K#6$B>R.Y7)(96N'U,QT"S=P.2!WGUVR0(9IEW, +"E>0@
M!H"+)ST _*S/$J%CV18K9NZG:DL1:16[FDLQ;UA*@->:_ /P8B#)HAH _.+"
M+KS(>ILOCJ\&L!I'F@VC:0A3X9'#Y/$BFKY\W\4]SO8D(3!X\=$T8O6)C0%@
M +A\Z@/ ]G@Q=;GW/:>_<USOM3CK@+CH;BZ>], M< LO<MS^C_:9(I636/Y!
M 5N+<PY@"]@63WK %K"%%W>.UGQ.^<BL GPMS4& [^)]RVEH@[_@;_G4!W_M
M\6)VBEXU8$)S0:\/HY'/&0CZ6I6!0-_%[Z[*PQP !H#+ISX ;(\7,P"^]FP1
MINJU* 7=C'G@=V'IRS9/+\G_;SN;%MH!& /&\.+V67MS$&/V7DM2$&",J7L!
M8\ 8,/Z9O9B=PJA[T"65]$VZ3#K"!7P!WY\BQLO2"PWRVN.%=>K?E[QF@?8"
M9C[D\<OLG1^0,[]=UTD]L^ID==TSM9F)A20GFL^FU24N"X*).6^6JDOIZRBD
M;OYZ\M6)O:X, AI&K)$O-+,RR>Z.L[F1%CLEP^3WM3ID4F11MNGL[-37-^N[
M&[7:]M;&]JOF9&T613=7+TUT?3N1P<CS9JFV])9<,^B1-QG2 5OM*48_K=*^
MB;P&#49T'"5[>FT3/>I^&B@9"R^12*K&RVKZTW0#1E7#'#5^TV?I)NK&S$S-
M1G6R\<9ZGH#RA53('R+@XQ?XQ 'VLY[E_N@\=B.'%2/]SCW9OCA>QH@ZCWV"
M<?,WSKR?;P*S8U-[3PY+<@9NG0L//21P%H[^KY_5B_E([J+O"WU?/T5\7W1;
M)<$N.K[L\<(Z]8%<>[R8?1HBBMC4+*(G)QC:#N M>I0#O)88 ? "O/!B[E,0
MVF<JH,)+AIJ583JT["4C%TX++5\ N.C1_C6\P6$;_ "'B\#A>][Y\<2[]QV1
M-76_R&U'2:UNVS[\0KY.[9T,Q9,^^$!\&1@X;]9?$?9WS/68I($9$=DGTS.!
MD[E3@1-*@NQY1A)2I053D<]#TH^%MY*4,?*YZW]CP^O;SOKZ*Q+Y5)F]I='-
M\M)AZ:DI2 ;!>%6.A%D5Q;V(F_,,-<[KF9UOG,F1^<*ADG$X6\]L<U6GMCV]
MM4$ZX'V0;VUE\L&-G3L%^=;4Z'>%B&6184+C&^,W97M7:?M4#"(_SBY<Y/XY
MM=M"YXZ9;>\9.=]1K^SUM<K5JT\96=6M^X76[I:S<UMTW6\VX#NCZ^ESX<]X
MY]JEY-[3WKAF=GIOK2>]L5G:6_/U,'C[#U!+ 0(4 Q0    ( "%*G%!MFH2V
M*BP  .TP @ 1              "  0    !C<VEQ+3(P,3DQ,C,Q+GAS9%!+
M 0(4 Q0    ( "%*G%#82WVZ/BL  (O> @ 5              "  5DL  !C
M<VEQ+3(P,3DQ,C,Q7V-A;"YX;6Q02P$"% ,4    "  A2IQ0R:>^O,EN   I
MD@< %0              @ '*5P  8W-I<2TR,#$Y,3(S,5]D968N>&UL4$L!
M A0#%     @ (4J<4.IN2V7%'P$ 1502 !4              ( !QL8  &-S
M:7$M,C Q.3$R,S%?;&%B+GAM;%!+ 0(4 Q0    ( "%*G% QVM*?5[D  *K&
M#0 5              "  ;[F 0!C<VEQ+3(P,3DQ,C,Q7W!R92YX;6Q02P$"
M% ,4    "  A2IQ0-:41UC'X!@ 5>4L %0              @ %(H ( 8W-I
M<2TR,#$Y,3(S,7@R,&8N:'1M4$L! A0#%     @ (4J<4.)K/+B'"   E3P
M !@              ( !K)@) &-S:7$M,C Q.3$R,S%X97@Q,F0Q+FAT;5!+
M 0(4 Q0    ( "%*G%#;]7*6G@@  *H\   8              "  6FA"0!C
M<VEQ+3(P,3DQ,C,Q>&5X,3)D,BYH=&U02P$"% ,4    "  A2IQ0GC 17UD%
M  #\*0  &               @ $]J@D 8W-I<2TR,#$Y,3(S,7AE>#$S9#$N
M:'1M4$L! A0#%     @ (4J<4.ROB(A-!0  32H  !@              ( !
MS*\) &-S:7$M,C Q.3$R,S%X97@Q,V0R+FAT;5!+ 0(4 Q0    ( "%*G%#M
M!@%:1P0  #P4   8              "  4^U"0!C<VEQ+3(P,3DQ,C,Q>&5X
M,35D,2YH=&U02P$"% ,4    "  A2IQ0 H+GG^03  #^@@  %P
M    @ ',N0D 8W-I<2TR,#$Y,3(S,7AE>#)D,BYH=&U02P$"% ,4    "  A
M2IQ0QH1/\:(,  !"N@$ %P              @ 'ES0D 8W-I<2TR,#$Y,3(S
A,7AE>#AD,2YH=&U02P4&      T #0!V P  O-H)

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>138
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp7008995616">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ACCRUED WARRANTY COSTS (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantiesDisclosuresAbstract', window );"><strong>ACCRUED WARRANTY COSTS</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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock', window );">Summary of the Company's warranty activity</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:35.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Beginning balance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 61,139</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,659</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,605</p></td></tr><tr><td style="vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Warranty provision</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,793</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,188</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28,044</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Warranty costs incurred</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (26,552)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (16,732)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (23,282)</p></td></tr><tr><td style="vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Foreign exchange effect</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,279</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (1,510)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 511</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:61.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Ending balance</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,659</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,605</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,878</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantiesDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantiesDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfProductWarrantyLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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>139
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6842056512">
<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, 2019</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock', window );">Summary of Company's revenues and gross profit and income from operations generated from each segment</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:53.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31, 2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSS</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Elimination</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,582,635</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 719,445</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (101,497)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,200,583</p></td></tr><tr><td style="vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,934,062</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 635,716</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (87,692)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,482,086</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 648,573</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83,729</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (13,805)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 718,497</p></td></tr><tr><td style="vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Income from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 279,715</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (7,031)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (13,805)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 258,879</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:55.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31, 2018</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSS</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Elimination</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,413,889</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,575,594</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (244,971)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,744,512</p></td></tr><tr><td style="vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,923,131</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,302,779</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (256,480)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,969,430</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 490,758</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 272,815</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,509</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 775,082</p></td></tr><tr><td style="vertical-align:bottom;width:42.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Income from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 141,609</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 211,539</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,509</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 364,657</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="7" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:53.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31, 2017</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSS</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Elimination</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Net revenues</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,850,859</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 677,470</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (137,936)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,390,393</p></td></tr><tr><td style="vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Cost of revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,390,686</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 473,453</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (111,344)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,752,795</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 460,173</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 204,017</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (26,592)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 637,598</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:44.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Income from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 136,419</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 159,518</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"> (26,592)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 269,345</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock', window );">Summary of the Company's net revenues generated from different geographic locations</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Europe and other regions:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Australia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,069</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 232,409</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 313,167</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Germany</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 94,066</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 95,514</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 109,119</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;South Africa</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,916</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53,739</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 93,911</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Spain</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,471</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,811</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 78,228</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Netherlands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 51,357</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83,475</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,770</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;United Kingdom</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,295</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 101,479</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33,158</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Czech</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,822</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,411</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,717</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Others</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 68,144</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,730</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,389</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 356,140</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 698,568</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 780,459</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">The Americas:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;United&#160;States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 628,815</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 999,144</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 852,231</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Brazil</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 388,554</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 339,964</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 395,303</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Mexico</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,274</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,004</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 94,446</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Others</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 85,519</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 85,545</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60,061</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,108,162</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,474,657</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,402,041</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Asia:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 476,946</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 483,041</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 372,687</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 874,559</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 620,520</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 317,077</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Korea</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 25,244</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 46,697</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 72,552</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;India</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 336,468</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 145,873</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 70,893</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;United Arab Emirates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 91,991</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 104,467</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,311</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Vietnam</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 462</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,216</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,268</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,167</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,511</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri';font-size:11pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,753</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#8212;Others</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 116,254</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 142,962</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 89,542</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,926,091</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,571,287</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,018,083</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total net revenues</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,390,393</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,744,512</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,200,583</p></td></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock', window );">Schedule of long-lived assets, including property, plant and equipment, non-current project assets, solar power systems, prepaid land use rights and intangible assets by geographic region</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At</b><b style="font-family:'Calibri';font-weight:bold;">&#160;</b><b style="font-weight:bold;">December&#160;31,</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">PRC</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 824,618</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 835,991</p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Thailand</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 168,280</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 331,931</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Japan</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 233,155</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 259,197</p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Australia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 61,960</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 63,143</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">United States</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,052</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60,177</p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,739</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,718</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Others</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,899</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,513</p></td></tr><tr><td style="vertical-align:bottom;width:64.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Total long-lived assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,372,703</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.63%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,665,670</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock', window );">Summary of the Company's revenues generated from each product or service</a></td>
<td class="text"><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:41.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2017</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2018</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2019</b></p></td></tr><tr><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:auto;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">$</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">MSS:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Solar modules and other solar power products</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,551,509</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,930,701</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,055,249</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Solar system kits</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 84,598</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 93,253</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 116,449</p></td></tr><tr><td style="vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">EPC services</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">&#8212;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 62,408</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 223,423</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">O&amp;M services</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,938</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,767</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,405</p></td></tr><tr><td style="vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="white-space:pre-wrap;">Others  ( materials)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69,878</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 71,789</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,612</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:middle;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">Energy:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Solar power projects</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 632,256</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,542,906</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 668,476</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Electricity </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,236</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,735</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,866</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Others (EPC and development services)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,978</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,953</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,103</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total net revenues</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,390,393</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,744,512</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;">&#160;</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,200,583</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of long-lived assets, excluding financial instruments, long-term customer relationships of a financial institution, mortgage rights, deferred policy acquisition costs, and deferred tax assets, by geographic areas located in the entity's country of domicile and foreign countries in which the entity holds assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph b<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e9038-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of entity-wide revenues from external customers for each product or service or each group of similar products or services if the information is not provided as part of the reportable operating segment information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e9031-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the names of foreign countries from which revenue is material and the amount of revenue from external customers attributed to those countries. An entity may also provide subtotals of geographic information about groups of countries.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e9038-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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_ScheduleOfSegmentReportingInformationBySegmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8813-108599<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=108376223&amp;loc=d3e13816-109267<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8721-108599<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>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_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>140
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6853485072">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 668,770<span></span>
</td>
<td class="nump">$ 444,298<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue', window );">Restricted cash</a></td>
<td class="nump">526,723<span></span>
</td>
<td class="nump">480,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="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable trade, net of allowance of $32,733 and $29,545 as of December 31, 2018 and 2019, respectively</a></td>
<td class="nump">436,815<span></span>
</td>
<td class="nump">498,231<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnbilledReceivablesCurrent', window );">Accounts receivable, unbilled</a></td>
<td class="nump">15,256<span></span>
</td>
<td class="nump">38<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DueFromRelatedPartiesCurrent', window );">Amounts due from related parties</a></td>
<td class="nump">31,232<span></span>
</td>
<td class="nump">16,740<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">554,070<span></span>
</td>
<td class="nump">262,022<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValueAddedTaxReceivableCurrent', window );">Value added tax recoverable</a></td>
<td class="nump">108,920<span></span>
</td>
<td class="nump">107,222<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdvancesOnInventoryPurchases', window );">Advances to suppliers-current, net of allowance of $5,702 and $7,222 as of December 31, 2018 and 2019, respectively</a></td>
<td class="nump">47,978<span></span>
</td>
<td class="nump">37,011<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetsCurrent', window );">Derivative assets</a></td>
<td class="nump">5,547<span></span>
</td>
<td class="nump">4,761<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="top.Show.showAR( this, 'defref_csiq_ProjectAssetsPlantsAndLandCurrentPortion', window );">Project assets</a></td>
<td class="nump">604,083<span></span>
</td>
<td class="nump">933,563<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">253,542<span></span>
</td>
<td class="nump">289,459<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">3,252,936<span></span>
</td>
<td class="nump">3,074,321<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent', window );">Restricted cash</a></td>
<td class="nump">9,927<span></span>
</td>
<td class="nump">15,716<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">1,046,035<span></span>
</td>
<td class="nump">884,986<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="top.Show.showAR( this, 'defref_csiq_SolarPowerSystems', window );">Solar power systems, net</a></td>
<td class="nump">52,957<span></span>
</td>
<td class="nump">54,898<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax assets, net</a></td>
<td class="nump">153,963<span></span>
</td>
<td class="nump">121,087<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="top.Show.showAR( this, 'defref_csiq_AdvancesOnInventoryPurchasesNonCurrent', window );">Advances to suppliers, net of allowance of $15,224 and $13,059 as of December 31, 2018 and 2019, respectively</a></td>
<td class="nump">40,897<span></span>
</td>
<td class="nump">48,908<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseNoncurrent', window );">Prepaid land use rights</a></td>
<td class="nump">60,836<span></span>
</td>
<td class="nump">65,718<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Investments in affiliates</a></td>
<td class="nump">152,828<span></span>
</td>
<td class="nump">126,095<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Intangible assets, net</a></td>
<td class="nump">22,791<span></span>
</td>
<td class="nump">14,903<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,005<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetsNoncurrent', window );">Derivative assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,216<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="top.Show.showAR( this, 'defref_csiq_ProjectAssetsPlantsAndLandNonCurrentPortion', window );">Project assets</a></td>
<td class="nump">483,051<span></span>
</td>
<td class="nump">352,200<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Right-of-use assets</a></td>
<td class="nump">37,733<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other non-current assets</a></td>
<td class="nump">153,253<span></span>
</td>
<td class="nump">129,605<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Assets', window );">TOTAL ASSETS</a></td>
<td class="nump">5,467,207<span></span>
</td>
<td class="nump">4,892,658<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShortTermBorrowings', window );">Short-term borrowings, including long-term borrowings - current portion</a></td>
<td class="nump">933,120<span></span>
</td>
<td class="nump">1,027,927<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="top.Show.showAR( this, 'defref_csiq_LongTermBorrowingsOnProjectAssetsCurrent', window );">Long-term borrowings on project assets - current</a></td>
<td class="nump">286,173<span></span>
</td>
<td class="nump">265,770<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableTradeCurrent', window );">Accounts payable</a></td>
<td class="nump">585,601<span></span>
</td>
<td class="nump">379,462<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="top.Show.showAR( this, 'defref_csiq_ShortTermNotesPayable', window );">Short-term notes payable</a></td>
<td class="nump">544,991<span></span>
</td>
<td class="nump">369,722<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DueToRelatedPartiesCurrent', window );">Amounts due to related parties</a></td>
<td class="nump">10,077<span></span>
</td>
<td class="nump">16,847<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableOtherCurrent', window );">Other payables</a></td>
<td class="nump">446,454<span></span>
</td>
<td class="nump">408,013<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConvertibleNotesPayableCurrent', window );">Convertible notes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">127,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="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Advances from customers</a></td>
<td class="nump">134,806<span></span>
</td>
<td class="nump">39,024<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLiabilitiesCurrent', window );">Derivative liabilities</a></td>
<td class="nump">10,481<span></span>
</td>
<td class="nump">13,698<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liabilities</a></td>
<td class="nump">18,767<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="top.Show.showAR( this, 'defref_csiq_FinancingLiabilitiesCurrent', window );">Tax equity liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">158,496<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesCurrent', window );">Other current liabilities</a></td>
<td class="nump">121,527<span></span>
</td>
<td class="nump">141,970<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">3,091,997<span></span>
</td>
<td class="nump">2,948,357<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualNoncurrent', window );">Accrued warranty costs</a></td>
<td class="nump">55,878<span></span>
</td>
<td class="nump">50,605<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermNotesAndLoans', window );">Long-term borrowings</a></td>
<td class="nump">619,477<span></span>
</td>
<td class="nump">393,614<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DueToRelatedPartiesNoncurrent', window );">Amounts due to related parties</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">568<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLiabilitiesNoncurrent', window );">Derivative liabilities</a></td>
<td class="nump">1,841<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent', window );">Liability for uncertain tax positions</a></td>
<td class="nump">15,353<span></span>
</td>
<td class="nump">20,128<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred tax liabilities</a></td>
<td class="nump">56,463<span></span>
</td>
<td class="nump">35,698<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LossContingencyAccrualAtCarryingValue', window );">Loss contingency accruals</a></td>
<td class="nump">28,513<span></span>
</td>
<td class="nump">24,608<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities</a></td>
<td class="nump">20,718<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="top.Show.showAR( this, 'defref_csiq_FinancingLiabilitiesNonCurrent', window );">Financing liabilities</a></td>
<td class="nump">76,575<span></span>
</td>
<td class="nump">77,835<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other non-current liabilities</a></td>
<td class="nump">75,334<span></span>
</td>
<td class="nump">68,400<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Liabilities', window );">TOTAL LIABILITIES</a></td>
<td class="nump">4,042,149<span></span>
</td>
<td class="nump">3,619,813<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies (Note 21)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract', window );"><strong>Equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common shares - no par value: unlimited authorized shares, 59,180,624 and 59,371,684 shares issued and outstanding at December 31, 2018 and 2019, respectively</a></td>
<td class="nump">703,806<span></span>
</td>
<td class="nump">702,931<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonValue', window );">Treasury stock, at cost, nil and 609,516 common shares as of December 31, 2018 and 2019, respectively</a></td>
<td class="num">(11,845)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">17,179<span></span>
</td>
<td class="nump">10,675<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">793,601<span></span>
</td>
<td class="nump">622,016<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(109,607)<span></span>
</td>
<td class="num">(110,149)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total Canadian Solar Inc. shareholders' equity</a></td>
<td class="nump">1,393,134<span></span>
</td>
<td class="nump">1,225,473<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MinorityInterest', window );">Non-controlling interests in subsidiaries</a></td>
<td class="nump">31,924<span></span>
</td>
<td class="nump">47,372<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">TOTAL EQUITY</a></td>
<td class="nump">1,425,058<span></span>
</td>
<td class="nump">1,272,845<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">TOTAL LIABILITIES AND EQUITY</a></td>
<td class="nump">$ 5,467,207<span></span>
</td>
<td class="nump">$ 4,892,658<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_AdvancesOnInventoryPurchasesNonCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value of capitalized payments made in advance for inventory that is expected to be received after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AdvancesOnInventoryPurchasesNonCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_FinancingLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of financing liabilities due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_FinancingLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_FinancingLiabilitiesNonCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of financing liabilities due after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_FinancingLiabilitiesNonCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_LongTermBorrowingsOnProjectAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount represents long-borrowings associated with certain solar power projects that are expected to be sold within one year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_LongTermBorrowingsOnProjectAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProjectAssetsPlantsAndLandCurrentPortion">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of investments in solar power projects that are expected to be realized before one year or within the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsPlantsAndLandCurrentPortion</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ProjectAssetsPlantsAndLandNonCurrentPortion">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of investments in solar power projects, which is not expected to be realized within one year or the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ProjectAssetsPlantsAndLandNonCurrentPortion</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_ShortTermNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of borrowings classified s short term notes payable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_ShortTermNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_SolarPowerSystems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation of ground-mounted projects and roof top systems intend to be held for use.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_SolarPowerSystems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccountsPayableOtherCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligations incurred classified as other, payable within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6935-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableOtherCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccountsPayableTradeCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableTradeCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118952595&amp;loc=d3e4428-111522<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=118952595&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=d3e637-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669686-108580<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=d3e681-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AdvancesOnInventoryPurchases">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value of capitalized payments made in advance for inventory that is expected to be received within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.8)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvancesOnInventoryPurchases</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6801-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.(a),19)<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118942415&amp;loc=d3e14326-108349<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130532-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ConvertibleNotesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of the portion of long-term debt due within one year or the operating cycle if longer identified as Convertible Notes Payable. Convertible Notes Payable is a written promise to pay a note which can be exchanged for a specified amount of another, related security, at the option of the issuer and the holder.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConvertibleNotesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=116821951&amp;loc=d3e31931-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, expected to be settled within one year or normal operating cycle, if longer. Includes assets not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DerivativeAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, expected to be settled after one year or the normal operating cycle, if longer. Includes assets not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DerivativeLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, expected to be settled within one year or normal operating cycle, if longer. Includes assets not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DerivativeLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, expected to be settled after one year or the normal operating cycle, if longer. Includes assets not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DueFromRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of receivables to be collected from related parties where one party can exercise control or significant influence over another party; including affiliates, owners or officers and their immediate families, pension trusts, and so forth, at the financial statement date. which are usually due within one year (or one business cycle).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(k)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DueFromRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DueToRelatedPartiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of obligations due all related parties. For classified balance sheets, represents the current portion of such liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(k)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DueToRelatedPartiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DueToRelatedPartiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Portion of the carrying amount as of the balance sheet date of obligations due all related parties that is payable after one year or beyond the normal operating cycle if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(k)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.23)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=6457730&amp;loc=d3e39549-107864<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DueToRelatedPartiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_EquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=109237563&amp;loc=d3e33749-111570<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8813-108599<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.12)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=77989000&amp;loc=SL49117168-202975<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=116846819&amp;loc=d3e3927-108312<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_LiabilityForUncertainTaxPositionsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for uncertainty in income taxes classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilityForUncertainTaxPositionsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LongTermNotesAndLoans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of all notes and loans payable (with maturities initially due after one year or beyond the operating cycle if longer), excluding current portion.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermNotesAndLoans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LossContingencyAccrualAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of loss contingency liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118942415&amp;loc=d3e14326-108349<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingencyAccrualAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which is directly or indirectly attributable to that ownership interest in subsidiary equity which is not attributable to the parent (that is, noncontrolling interest, previously referred to as minority interest).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(24))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.31)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6904-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6911-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(7))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_PrepaidExpenseNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of amounts paid in advance for expenses which will be charged against earnings in periods after one year or beyond the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProductWarrantyAccrualNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and due after one year (or beyond the operating cycle if longer) for estimated claims under standard and extended warranty protection rights granted to customers.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=118942415&amp;loc=d3e14394-108349<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118942415&amp;loc=d3e14326-108349<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashAndCashEquivalentsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6812-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=SL98516268-108586<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3044-108585<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 210<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=116631420&amp;loc=SL116631458-115580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalentsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ShortTermBorrowings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermBorrowings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=27010918&amp;loc=d3e74512-122707<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of stockholders' equity (deficit), net of receivables from officers, directors, owners, and affiliates of the entity, attributable to both the parent and noncontrolling interests. Amount excludes temporary equity. Alternate caption for the concept is permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4568740-111683<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4590271-111686<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4568447-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract</td>
</tr>
<tr>
<td style="padding-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_TreasuryStockCommonValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=6405834&amp;loc=d3e23315-112656<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.30)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_UnbilledReceivablesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnbilledReceivablesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ValueAddedTaxReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of value added taxes due either from customers arising from sales on credit terms, or as previously overpaid to tax authorities. For classified balance sheets, represents the current amount receivable, that is amounts expected to be collected within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.8)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValueAddedTaxReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>141
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6856353648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Property, plant and equipment (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2019</div></th></tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember', window );">Buildings</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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, plant and equipment</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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">20 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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery | Minimum</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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, plant and equipment</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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated 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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, plant and equipment</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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">10 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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Furniture, fixtures and equipment</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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, plant and equipment</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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated 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="top.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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, plant and equipment</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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated 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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ElectricGenerationEquipmentMember', window );">Solar power systems | Minimum</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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, plant and equipment</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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">20 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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ElectricGenerationEquipmentMember', window );">Solar power systems | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, plant and equipment</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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">25 years<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_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_BuildingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_BuildingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ElectricGenerationEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_ElectricGenerationEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6853377984">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Common Shares</div></th>
<th class="th"><div>Treasury Stock</div></th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th"><div>Retained Earnings</div></th>
<th class="th"><div>Accumulated Other Comprehensive Income (loss)</div></th>
<th class="th"><div>Earnings Attributable to Canadian Solar Inc.</div></th>
<th class="th"><div>Non-Controlling Interest</div></th>
<th class="th"><div>Total</div></th>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2016</a></td>
<td class="nump">$ 701,283<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (8,897)<span></span>
</td>
<td class="nump">$ 284,109<span></span>
</td>
<td class="num">$ (91,814)<span></span>
</td>
<td class="nump">$ 884,681<span></span>
</td>
<td class="nump">$ 14,709<span></span>
</td>
<td class="nump">$ 899,390<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Balance (in shares) at Dec. 31, 2016</a></td>
<td class="nump">57,830,149<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' 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>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net Income (loss)</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">99,572<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">99,572<span></span>
</td>
<td class="nump">3,411<span></span>
</td>
<td class="nump">102,983<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">39,870<span></span>
</td>
<td class="nump">39,870<span></span>
</td>
<td class="num">(565)<span></span>
</td>
<td class="nump">39,305<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination', window );">Acquisition of subsidiaries</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="nump">9,994<span></span>
</td>
<td class="nump">9,994<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Share-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,314<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,314<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,314<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Exercise of share options</a></td>
<td class="nump">$ 879<span></span>
</td>
<td class="text">&#160;<span></span>
</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">879<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">879<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of share options (in shares)</a></td>
<td class="nump">666,536<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax', window );">Fair value change on derivatives</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,090)<span></span>
</td>
<td class="num">(2,090)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,090)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2017</a></td>
<td class="nump">$ 702,162<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">417<span></span>
</td>
<td class="nump">383,681<span></span>
</td>
<td class="num">(54,034)<span></span>
</td>
<td class="nump">1,032,226<span></span>
</td>
<td class="nump">27,549<span></span>
</td>
<td class="nump">1,059,775<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Balance (in shares) at Dec. 31, 2017</a></td>
<td class="nump">58,496,685<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' 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>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net Income (loss)</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">237,070<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">237,070<span></span>
</td>
<td class="nump">5,361<span></span>
</td>
<td class="nump">242,431<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(53,457)<span></span>
</td>
<td class="num">(53,457)<span></span>
</td>
<td class="nump">2,880<span></span>
</td>
<td class="num">(50,577)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CumulativeEffectOnRetainedEarningsTax1', window );">Cumulative-effect adjustment for the adoption of ASU 2014-09 | ASU 2014-09</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,265<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,265<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,265<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination', window );">Acquisition of subsidiaries</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="nump">7,703<span></span>
</td>
<td class="nump">7,703<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MinorityInterestDecreaseFromRedemptions', window );">Acquisition non-controlling interest's ownership</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="num">(6,591)<span></span>
</td>
<td class="num">(6,591)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Share-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,258<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,258<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,258<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Exercise of share options</a></td>
<td class="nump">$ 769<span></span>
</td>
<td class="text">&#160;<span></span>
</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">769<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">769<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of share options (in shares)</a></td>
<td class="nump">683,939<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap', window );">De-recognition of derivatives</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(8,752)<span></span>
</td>
<td class="num">(8,752)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(8,752)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance', window );">Transfer of equity interest in subsidiaries to non-controlling shareholders</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="nump">10,470<span></span>
</td>
<td class="nump">10,470<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax', window );">Fair value change on derivatives</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="nump">6,094<span></span>
</td>
<td class="nump">6,094<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,094<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2018</a></td>
<td class="nump">$ 702,931<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,675<span></span>
</td>
<td class="nump">622,016<span></span>
</td>
<td class="num">(110,149)<span></span>
</td>
<td class="nump">1,225,473<span></span>
</td>
<td class="nump">47,372<span></span>
</td>
<td class="nump">$ 1,272,845<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Balance (in shares) at Dec. 31, 2018</a></td>
<td class="nump">59,180,624<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">59,180,624<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' 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>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net Income (loss)</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">171,585<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">171,585<span></span>
</td>
<td class="num">(5,030)<span></span>
</td>
<td class="nump">$ 166,555<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,389<span></span>
</td>
<td class="nump">6,389<span></span>
</td>
<td class="num">(6,070)<span></span>
</td>
<td class="nump">319<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MinorityInterestDecreaseFromRedemptions', window );">Acquisition non-controlling interest's ownership</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,178)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,178)<span></span>
</td>
<td class="num">(9,998)<span></span>
</td>
<td class="num">(14,176)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockValueAcquiredCostMethod', window );">Repurchase of treasury shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (11,845)<span></span>
</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">(11,845)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(11,845)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockSharesAcquired', window );">Repurchase of treasury stock (shares)</a></td>
<td class="num">(609,516)<span></span>
</td>
<td class="nump">609,516<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Share-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,682<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,682<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,682<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Exercise of share options</a></td>
<td class="nump">$ 875<span></span>
</td>
<td class="text">&#160;<span></span>
</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">875<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">875<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercise of share options (in shares)</a></td>
<td class="nump">800,576<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest', window );">Proceeds non-controlling interests</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,650<span></span>
</td>
<td class="nump">5,650<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax', window );">Fair value change on derivatives</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,847)<span></span>
</td>
<td class="num">(5,847)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,847)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance at Dec. 31, 2019</a></td>
<td class="nump">$ 703,806<span></span>
</td>
<td class="num">$ (11,845)<span></span>
</td>
<td class="nump">$ 17,179<span></span>
</td>
<td class="nump">$ 793,601<span></span>
</td>
<td class="num">$ (109,607)<span></span>
</td>
<td class="nump">$ 1,393,134<span></span>
</td>
<td class="nump">$ 31,924<span></span>
</td>
<td class="nump">$ 1,425,058<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Balance (in shares) at Dec. 31, 2019</a></td>
<td class="nump">59,371,684<span></span>
</td>
<td class="nump">609,516<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">59,371,684<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount represents De-recognition of commodity hedge and interest rate swap</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_OtherComprehensiveIncomeLossDeRecognitionOfCommodityHedgeAndInterestRateSwap</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=118258462&amp;loc=d3e11149-113907<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5047-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=118258462&amp;loc=d3e11178-113907<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=116855982&amp;loc=d3e4534-113899<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_CumulativeEffectOnRetainedEarningsTax1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the related income tax effect of a cumulative effect on retained earnings.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22663-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CumulativeEffectOnRetainedEarningsTax1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInStockholdersEquityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInStockholdersEquityRollForward</td>
</tr>
<tr>
<td style="padding-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_MinorityInterestDecreaseFromRedemptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Decrease in noncontrolling interest (for example, but not limited to, redeeming or purchasing the interests of noncontrolling shareholders, issuance of shares (interests) by the non-wholly owned subsidiary to the parent entity for other than cash, and a buyback of shares (interest) by the non-wholly owned subsidiary from the noncontrolling interests).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569655-111683<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4616395-111683<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestDecreaseFromRedemptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_NoncontrollingInterestIncreaseFromBusinessCombination">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in noncontrolling interest from a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116869197&amp;loc=d3e4845-128472<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncontrollingInterestIncreaseFromBusinessCombination</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in noncontrolling interest from sale of a portion of the parent's controlling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569655-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in noncontrolling interest from subsidiary issuance of equity interests to noncontrolling interest holders.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 23<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569655-111683<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax, before reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 18<br> -URI http://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32157-110900<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32211-110900<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=118261656&amp;loc=d3e32022-110900<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a-c)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669646-108580<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax and before reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109239629&amp;loc=SL4573702-111684<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4591551-111686<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3000-108585<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4569616-111683<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8933-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4591552-111686<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of stockholders' equity (deficit), net of receivables from officers, directors, owners, and affiliates of the entity, attributable to both the parent and noncontrolling interests. Amount excludes temporary equity. Alternate caption for the concept is permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4568740-111683<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -URI http://asc.fasb.org/extlink&amp;oid=116874947&amp;loc=SL4590271-111686<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=108774443&amp;loc=SL4568447-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_TreasuryStockSharesAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and are being held in treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockSharesAcquired</td>
</tr>
<tr>
<td style="padding-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_TreasuryStockValueAcquiredCostMethod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValueAcquiredCostMethod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201409Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201409Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>143
<FILENAME>R76.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6855192944">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>FAIR VALUE MEASUREMENT - Interest rate swap (Details) - Not designated as hedging instruments - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Effect of fair value of derivative instruments on the consolidated balance sheets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral', window );">Total derivatives asset</a></td>
<td class="nump">$ 5,547<span></span>
</td>
<td class="nump">$ 7,977<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral', window );">Total derivatives liability</a></td>
<td class="nump">12,322<span></span>
</td>
<td class="nump">13,698<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=csiq_DerivativesAssetsCurrentMember', window );">Derivative assets - current | Foreign exchange forward contracts</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="top.Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Effect of fair value of derivative instruments on the consolidated balance sheets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral', window );">Total derivatives asset</a></td>
<td class="nump">5,097<span></span>
</td>
<td class="nump">4,166<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=csiq_DerivativesAssetsCurrentMember', window );">Derivative assets - current | Foreign exchange option contracts</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="top.Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Effect of fair value of derivative instruments on the consolidated balance sheets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral', window );">Total derivatives asset</a></td>
<td class="nump">450<span></span>
</td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=csiq_DerivativesAssetsCurrentMember', window );">Derivative assets - current | Interest rate swap</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="top.Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Effect of fair value of derivative instruments on the consolidated balance sheets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral', window );">Total derivatives asset</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">594<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=csiq_DerivativesAssetsNoncurrentMember', window );">Derivative assets - non-current | Interest rate swap</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="top.Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Effect of fair value of derivative instruments on the consolidated balance sheets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral', window );">Total derivatives asset</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,216<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=csiq_DerivativesLiabilitiesCurrentMember', window );">Derivative liabilities - current | Foreign exchange forward contracts</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="top.Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Effect of fair value of derivative instruments on the consolidated balance sheets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral', window );">Total derivatives liability</a></td>
<td class="nump">10,127<span></span>
</td>
<td class="nump">13,480<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=csiq_DerivativesLiabilitiesCurrentMember', window );">Derivative liabilities - current | Foreign exchange option contracts</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="top.Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Effect of fair value of derivative instruments on the consolidated balance sheets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral', window );">Total derivatives liability</a></td>
<td class="nump">25<span></span>
</td>
<td class="nump">$ 218<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=csiq_DerivativesLiabilitiesCurrentMember', window );">Derivative liabilities - current | Interest rate swap</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="top.Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Effect of fair value of derivative instruments on the consolidated balance sheets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral', window );">Total derivatives liability</a></td>
<td class="nump">329<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="top.Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=csiq_DerivativesLiabilitiesNoncurrentMember', window );">Derivative liabilities - non-current | Interest rate swap</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="top.Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Effect of fair value of derivative instruments on the consolidated balance sheets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral', window );">Total derivatives liability</a></td>
<td class="nump">$ 1,841<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_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, after offset of derivative liability, of financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, before offset against an obligation to return collateral under a master netting arrangement. Includes assets elected not to be offset. Excludes assets not subject to a master netting arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226008-175313<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226006-175313<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=d3e41678-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, after offset of derivative asset, of financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset, elected not to be and before offset against a right to receive collateral under a master netting arrangement. Includes liabilities elected not to be offset. Excludes liabilities not subject to a master netting arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=d3e41678-113959<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226006-175313<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226008-175313<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativesFairValueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativesFairValueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_BalanceSheetLocationAxis=csiq_DerivativesAssetsCurrentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=csiq_DerivativesAssetsCurrentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeForwardMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeForwardMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_InterestRateSwapMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_BalanceSheetLocationAxis=csiq_DerivativesAssetsNoncurrentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=csiq_DerivativesAssetsNoncurrentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_BalanceSheetLocationAxis=csiq_DerivativesLiabilitiesCurrentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=csiq_DerivativesLiabilitiesCurrentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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_BalanceSheetLocationAxis=csiq_DerivativesLiabilitiesNoncurrentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=csiq_DerivativesLiabilitiesNoncurrentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R86.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6832414448">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASE - Operating leases - Maturities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract', window );"><strong>Maturities of operating leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2020</a></td>
<td class="nump">$ 18,953<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2021</a></td>
<td class="nump">12,980<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2022</a></td>
<td class="nump">4,666<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2023</a></td>
<td class="nump">2,541<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive', window );">2024</a></td>
<td class="nump">1,077<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive', window );">Thereafter</a></td>
<td class="nump">1,504<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="nump">$ 41,721<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract', window );"><strong>Year Ending December 31:</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="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent', window );">2019</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 18,287<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears', window );">2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,790<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears', window );">2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,379<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears', window );">2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,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="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears', window );">2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">838<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter', window );">Thereafter</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,743<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 50,522<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_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease, due after fifth fiscal year following latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease, due in next fiscal year following latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fifth fiscal year following latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fourth fiscal year following latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease, due in third fiscal year following latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease, due in second fiscal year following latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract</td>
</tr>
<tr>
<td style="padding-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_OperatingLeasesFutureMinimumPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77902758&amp;loc=d3e41502-112717<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 10<br> -Section 55<br> -Paragraph 40<br> -Subparagraph (Note 3)<br> -URI http://asc.fasb.org/extlink&amp;oid=82846649&amp;loc=d3e38371-112697<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_OperatingLeasesFutureMinimumPaymentsDueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract</td>
</tr>
<tr>
<td style="padding-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_OperatingLeasesFutureMinimumPaymentsDueCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77902758&amp;loc=d3e41502-112717<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 10<br> -Section 55<br> -Paragraph 40<br> -Subparagraph (Note 3)<br> -URI http://asc.fasb.org/extlink&amp;oid=82846649&amp;loc=d3e38371-112697<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_OperatingLeasesFutureMinimumPaymentsDueInFiveYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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 fifth 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77902758&amp;loc=d3e41502-112717<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 10<br> -Section 55<br> -Paragraph 40<br> -Subparagraph (Note 3)<br> -URI http://asc.fasb.org/extlink&amp;oid=82846649&amp;loc=d3e38371-112697<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OperatingLeasesFutureMinimumPaymentsDueInFourYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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 fourth 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77902758&amp;loc=d3e41502-112717<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 10<br> -Section 55<br> -Paragraph 40<br> -Subparagraph (Note 3)<br> -URI http://asc.fasb.org/extlink&amp;oid=82846649&amp;loc=d3e38371-112697<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OperatingLeasesFutureMinimumPaymentsDueInThreeYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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 third 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 10<br> -Section 55<br> -Paragraph 40<br> -Subparagraph (Note 3)<br> -URI http://asc.fasb.org/extlink&amp;oid=82846649&amp;loc=d3e38371-112697<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77902758&amp;loc=d3e41502-112717<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77902758&amp;loc=d3e41502-112717<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 10<br> -Section 55<br> -Paragraph 40<br> -Subparagraph (Note 3)<br> -URI http://asc.fasb.org/extlink&amp;oid=82846649&amp;loc=d3e38371-112697<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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 after the fifth 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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 10<br> -Section 55<br> -Paragraph 40<br> -Subparagraph (Note 3)<br> -URI http://asc.fasb.org/extlink&amp;oid=82846649&amp;loc=d3e38371-112697<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77902758&amp;loc=d3e41502-112717<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>145
<FILENAME>R82.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6849474240">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVESTMENTS IN AFFILIATES - Other investments (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></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>Sep. 08, 2015 </div>
<div>USD ($) </div>
<div>item</div>
</th>
<th class="th">
<div>Sep. 30, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </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="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireEquityMethodInvestments', window );">Cash consideration for acquisition of the entity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7,684<span></span>
</td>
<td class="nump">$ 11,036<span></span>
</td>
<td class="nump">$ 92,925<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromEquityMethodInvestments', window );">Equity in earnings (loss) of unconsolidated investees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">28,948<span></span>
</td>
<td class="nump">5,908<span></span>
</td>
<td class="nump">9,411<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ImpairmentOfInvestments', window );">Impairment of long-lived assets</a></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">$ 5,738<span></span>
</td>
<td class="nump">$ 3,686<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_SuzhouFinancialLeasingCoLtdMember', window );">Suzhou Financial Leasing 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6.00%<span></span>
</td>
<td class="nump">6.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity', window );">Board members designated | item</a></td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_NumberOfBoardMembers', window );">Total board members | item</a></td>
<td class="nump">5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireInterestInJointVenture', window );">Cash consideration for acquisition of the interest</a></td>
<td class="nump">$ 13,860<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="top.Show.showAR( this, 'defref_csiq_CostMethodInvestmentOwnershipPercentage', window );">Voting interest hold (as a percent)</a></td>
<td class="nump">6.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="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_CanadianSolarInfrastructureFundIncMember', window );">Canadian Solar Infrastructure Fund, Inc</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14.66%<span></span>
</td>
<td class="nump">14.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="top.Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_EnowIncMember', window );">Now, Inc.</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Other investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10.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="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ImpairmentOfInvestments', window );">Impairment of long-lived assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_CostMethodInvestmentOwnershipPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The percentage of ownership of common stock or equity participation in the investee accounted for under the cost method of accounting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_CostMethodInvestmentOwnershipPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</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_csiq_NumberOfBoardMembers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the number of board members.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_NumberOfBoardMembers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the number of board members designated by the acquired entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentOwnershipPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentOwnershipPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_ImpairmentOfInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount by which the fair value of an investment is less than the amortized cost basis or carrying amount of that investment at the balance sheet date and the decline in fair value is deemed to be other than temporary, before considering whether or not such amount is recognized in earnings or other comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8A<br> -URI http://asc.fasb.org/extlink&amp;oid=118954083&amp;loc=SL6284422-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) for proportionate share of equity method investee's income (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(12))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(13)(f))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=109237563&amp;loc=d3e33749-111570<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PaymentsToAcquireEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the purchase of or advances to an equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PaymentsToAcquireInterestInJointVenture">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the investment in or advances to an entity in which the reporting entity shares control of the entity with another party or group.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireInterestInJointVenture</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ScheduleOfEquityMethodInvestmentsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEquityMethodInvestmentsLineItems</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_SuzhouFinancialLeasingCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_SuzhouFinancialLeasingCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_CanadianSolarInfrastructureFundIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_CanadianSolarInfrastructureFundIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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=csiq_EnowIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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=csiq_EnowIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R72.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6855151232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROPERTY, PLANT AND EQUIPMENT, 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, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, 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 " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, gross</a></td>
<td class="nump">$ 1,633,316<span></span>
</td>
<td class="nump">$ 1,329,952<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated depreciation</a></td>
<td class="num">(598,297)<span></span>
</td>
<td class="num">(489,927)<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="top.Show.showAR( this, 'defref_csiq_AccumulatedAssetImpairmentCharges', window );">Impairment</a></td>
<td class="num">(45,437)<span></span>
</td>
<td class="num">(30,503)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet', window );">Property, plant and equipment, excluding construction in process, net</a></td>
<td class="nump">989,582<span></span>
</td>
<td class="nump">809,522<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConstructionInProgressGross', window );">Construction in process</a></td>
<td class="nump">56,453<span></span>
</td>
<td class="nump">75,464<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">1,046,035<span></span>
</td>
<td class="nump">884,986<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation expense</a></td>
<td class="nump">148,034<span></span>
</td>
<td class="nump">120,834<span></span>
</td>
<td class="nump">$ 88,931<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember', window );">Buildings</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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, 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="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, gross</a></td>
<td class="nump">453,712<span></span>
</td>
<td class="nump">441,975<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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold improvements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, 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 " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, gross</a></td>
<td class="nump">14,225<span></span>
</td>
<td class="nump">13,058<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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery</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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, 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="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, gross</a></td>
<td class="nump">1,074,460<span></span>
</td>
<td class="nump">785,874<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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Furniture, fixtures and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, 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 " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, gross</a></td>
<td class="nump">64,117<span></span>
</td>
<td class="nump">64,135<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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember', window );">Motor vehicles</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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, 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="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, gross</a></td>
<td class="nump">6,351<span></span>
</td>
<td class="nump">6,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember', window );">Land</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="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, 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 " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, gross</a></td>
<td class="nump">$ 20,451<span></span>
</td>
<td class="nump">$ 18,810<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_csiq_AccumulatedAssetImpairmentCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated asset impairment for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_AccumulatedAssetImpairmentCharges</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the net amount of long-lived physical assets, excluding construction in process, used in the normal conduct of business and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>csiq_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.14)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_ConstructionInProgressGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConstructionInProgressGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.13)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_BuildingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.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_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
